DE69624088T2 - System und Verfahren für eine effiziente Schnittstelle zur ATM-Anpassung und Gerätebetrieb - Google Patents
System und Verfahren für eine effiziente Schnittstelle zur ATM-Anpassung und GerätebetriebInfo
- Publication number
- DE69624088T2 DE69624088T2 DE69624088T DE69624088T DE69624088T2 DE 69624088 T2 DE69624088 T2 DE 69624088T2 DE 69624088 T DE69624088 T DE 69624088T DE 69624088 T DE69624088 T DE 69624088T DE 69624088 T2 DE69624088 T2 DE 69624088T2
- Authority
- DE
- Germany
- Prior art keywords
- data
- list
- adapter
- device driver
- receive
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims description 48
- 230000006978 adaptation Effects 0.000 title 1
- 239000000872 buffer Substances 0.000 claims description 101
- 230000005540 biological transmission Effects 0.000 claims description 55
- 238000012546 transfer Methods 0.000 claims description 50
- 230000008569 process Effects 0.000 claims description 37
- 238000012545 processing Methods 0.000 claims description 14
- 238000004891 communication Methods 0.000 claims description 2
- 210000004027 cell Anatomy 0.000 description 51
- RPOCQUTXCSLYFJ-UHFFFAOYSA-N n-(4-ethylphenyl)-2-(2-methyl-3,5-dioxothiomorpholin-4-yl)acetamide Chemical compound C1=CC(CC)=CC=C1NC(=O)CN1C(=O)C(C)SCC1=O RPOCQUTXCSLYFJ-UHFFFAOYSA-N 0.000 description 12
- 210000005056 cell body Anatomy 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 238000013500 data storage Methods 0.000 description 2
- 238000005192 partition Methods 0.000 description 2
- 230000011218 segmentation Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 230000009087 cell motility Effects 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000008570 general process Effects 0.000 description 1
- 230000033001 locomotion Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000002459 sustained effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/54—Store-and-forward switching systems
- H04L12/56—Packet switching systems
- H04L12/5601—Transfer mode dependent, e.g. ATM
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04Q—SELECTING
- H04Q11/00—Selecting arrangements for multiplex systems
- H04Q11/04—Selecting arrangements for multiplex systems for time-division multiplexing
- H04Q11/0428—Integrated services digital network, i.e. systems for transmission of different types of digitised signals, e.g. speech, data, telecentral, television signals
- H04Q11/0478—Provisions for broadband connections
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/54—Store-and-forward switching systems
- H04L12/56—Packet switching systems
- H04L12/5601—Transfer mode dependent, e.g. ATM
- H04L2012/5614—User Network Interface
- H04L2012/5615—Network termination, e.g. NT1, NT2, PBX
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/54—Store-and-forward switching systems
- H04L12/56—Packet switching systems
- H04L12/5601—Transfer mode dependent, e.g. ATM
- H04L2012/5614—User Network Interface
- H04L2012/5616—Terminal equipment, e.g. codecs, synch.
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/54—Store-and-forward switching systems
- H04L12/56—Packet switching systems
- H04L12/5601—Transfer mode dependent, e.g. ATM
- H04L2012/5638—Services, e.g. multimedia, GOS, QOS
- H04L2012/5646—Cell characteristics, e.g. loss, delay, jitter, sequence integrity
- H04L2012/5652—Cell construction, e.g. including header, packetisation, depacketisation, assembly, reassembly
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/54—Store-and-forward switching systems
- H04L12/56—Packet switching systems
- H04L12/5601—Transfer mode dependent, e.g. ATM
- H04L2012/5678—Traffic aspects, e.g. arbitration, load balancing, smoothing, buffer management
- H04L2012/5681—Buffer or queue management
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Communication Control (AREA)
Description
- Ein System und Verfahren zur Warteschlangenbildung mehrerer empfangener Datenrahmen mit Sortierung in einem asynchronen Übertragungsmodus-System (ATM) ist Gegenstand der US- Patentschrift US 5 732 082. Schrift legt eine Adapter-/ Einheitentreiber-Schnittstelle für ein ATM-System dar, das Übertragungen zwischen dem Einheitentreiber und dem Adapter für einen verbesserten Systemdurchsatz optimiert.
- Diese Erfindung bezieht sich auf ein ATM-Übertragungssystem. Insbesondere bezieht sich die Erfindung auf eine System und Verfahren für eine leistungsfähige Schnittstelle zwischen Adapter und Einheitentreiber in einem ATM-System.
- Systeme mit asynchronem Übertragungsmodus (ATM) sind dahingehend einzigartig, dass sie viele Datenrahmen gleichzeitig übertragen können, indem sie jeden Datenrahmen in Segmente zu 48 Byte unterteilen, jedem Segment einen Kennsatz zu 5 Byte anhängen und die Zelle mit den sich daraus ergebenden 53 Byte senden, wobei diese mit Zellen aus anderen Datenrahmen gemultiplext werden, die sich in einer Warteschlange zum Übertragen befinden. Wenn Zellen empfangen werden, werden sie wieder zu Datenrahmen zusammengefügt, indem der Zellenkennsatz zu 5 Byte abgestreift wird und die restlichen 48 Bytes mit für diesen Datenrahmen vorher empfangenen Zellen verkettet werden. Unterschiedliche Datenrahmen können sich zu jeder beliebigen Zeit in unterschiedlichen Stadien der Segmentierung und des Wiederzusammenfügens befinden.
- Üblicherweise muss in einem ATM-System immer dann, wenn man Datenrahmen senden möchte, ein Einheitentreiber Übertragungsbefehle an einen Adapter einrichten, der die Datenrahmen überträgt und der zurück an den Einheitentreiber eine Unterbrechung erzeugt, mit der angezeigt wird, dass der Sendevorgang abgeschlossen worden ist. Der gleiche allgemeine Vorgang erfolgt in der Empfangsrichtung, dass heißt, der Einheitentreiber gibt Befehle heraus, und der Adapter unterbricht nach dem Empfang der Daten den Einheitentreiber, womit angezeigt wird, dass der Empfangsvorgang abgeschlossen worden ist. Wenn auf dem ATM-Netzwerk die Datenrate ansteigt, erhöht sich die Frequenz, mit welcher der Einheitentreiber die Befehle ausgibt und die Unterbrechungen verarbeitet, bis zu dem Punkt, an dem der Einheitentreiber mit der Datenrate nicht mehr Schritt halten kann. Das Verlangsamendes Einheitentreibers erhöht im Hinblick auf die Datenrate ebenfalls die Speicheranforderungen im Adapter und Systemspeicher. Ein System und ein Verfahren, welche die Aktivitäten des Einheitentreibers beim Senden und Empfangen von Daten vermindern, verbessern die Leistungsfähigkeit von ATM-Systemen. Insbesondere verbessern ein System und ein Verfahren, die unabhängig von einem System oder einem Einheitentreiber über eine Adapter-/Einheitentreiber- Schnittstelle gleichzeitig Datenrahmen in Zellen segmentieren und Zellen wieder zu Datenrahmen zusammenfügen, für das ATM- System das Leistungsvermögen, und sie vermindern die Speicheranforderungen.
- Im zugehörigen Stand der Technik legt die US-Patentschrift US 5 297 139, veröffentlicht am 22. März 1994, ein Verfahren zum Steuern der Aufzeichnung von Daten aus einer Übertragungsleitung in eine Zwischenspeichereinheit und des Lesens von Daten aus der Zwischenspeichereinheit dar. Die Daten werden aus einem Zwischenspeicher mit einer vorgegebenen Leserate herausgelesen, und die Datenmenge, die in dem Zwischenspeicher aufgezeichnet ist, wird mit einem vorgegebenen Schwellenwert verglichen. Die Daten von der Übertragungsleitung werden in der Zwischenspeichereinheit aufgezeichnet. Wenn sich herausstellt, dass die Menge der angesammelten Daten dem Schwellenwert gleicht oder darunter liegt, führt der Zwischenspeicher nur eine Aufzeichnung von Daten aus der Übertragungsleitung aus. Der Zwischenspeicher führt sowohl das Aufzeichnen von Daten aus der Übertragungsleitung als auch das Lesen von Daten aus der Zwischenspeichereinheit aus, wenn die Menge der angesammelten Daten größer als der Schwellenwert ist.
- US-Patentschrift US 5 274 768, veröffentlicht am 28. Dezember 1993, legt eine Schnittstelle zum Verbinden eines Rechners mit einem Fernübertragungsnetzwerk dar. Die Schnittstelle enthält einen Reassembler zum Empfangen und erneuten Zusammensetzen von Datenrahmen, die in eine Vielzahl von Zellen segmentiert waren, von denen jede einen virtuellen Kanalbezeichner und einen Zellenrumpf umfasst. Der Reassembler enthält weiterhin Mittel zum Trennen jedes Zellenrumpfes vom zugehörigen virtuellen Kanalbezeichner und zum Ermitteln der jeweiligen Bezugsadressen der Verknüpfungslisten für den virtuellen Kanalbezeichner. Ein Zwischenspeicher für das erneute Zusammensetzen speichert die Zellenrümpfe; und ein Verwalter von Verknüpfungslisten speichert Daten von Verknüpfungslisten, die Anzeigen für Adressen sind, an denen die Zellenrümpfe in dem Zwischenspeichermittel für das erneute Zusammensetzen gespeichert sind.
- US-Patentschrift US 5 136 584, veröffentlicht am 4. August 1992, legt eine Schnittstelle zu einem multiplexten digitalen Hochgeschwindigkeits-Übertragungsnetzwerk dar. Die Schnittstelle enthält einen Eingabeanschluss zum Empfangen von Daten (als Veranschaulichung ATM-Zellen), einen Ausgabeanschluss zum Senden verarbeiteter empfangener Daten und eine Anordnung zur Datenverzögerung (als Veranschaulichung eine Verzögerungs-Pipeline), die den Eingabeanschluss mit dem Ausgabeanschluss untereinander verbindet und die Ausbreitung von empfangenen Daten verzögert, damit für das Verarbeiten der Daten Zeit zur Verfügung steht. Die Schnittstelle benutzt keine interne Datenspeicherung, sondern macht von der Verzögerungs-Pipeline Gebrauch, um Daten so schnell wie möglich durch die Schnittstelle hindurch zu bewegen. Ein Daten-Assembler und ein Statusspeicher setzen aus den empfangenen gemultiplexten verschachtelten ATM-Zellen Datenrahmen zusammen.
- Es könnte auch Bezug genommen werden auf einen Artikel von Tomimitsu et al. mit dem Titel "An ATM chip set for high performance computer interfaces, affording over 100 Mbps sustained throughput" in Proceedings of the Custom Integrated Circuits Conference, Santa Clara, 1. bis 4. Mai 1995, Conf. Nr. 17, 1. Mai 1995, S. 439 bis 442, XP 000536839 Institute of Electrical and Electronics Engineers. Dieser Artikel beschreibt einen Chipsatz, der zum gegenseitigen Verbinden eines Tischrechners oder einer Datenstation mit einem ATM-LAN mit 156 Mbps entwickelt worden ist. Der Chipsatz enthält einen Segmentierungs- und Reassembler-Chip (SAR), der über einen Systemanschluss mit der CPU des Hauptrechners verbunden ist. Die grundlegenden Datenblöcke für die Übertragung sind Datenpakete, die sich in Systemspeicher in einem benachbarten Zwischenspeicher oder in mehreren Zwischenspeichern befinden. Die Struktur der Übertragungsdaten enthält eine Übertragungswarteschlange von Bezeichnern (Deskriptoren) von Datenpaketen, die einen Lesezeiger für die Übertragungswarteschlange und einen Aufzeichnungszeiger für die Übertragungswarteschlange haben. Der Lesezeiger der Übertragungswarteschlange ruft aus der Warteschlange den Bezeichner eines neuen Datenpaketes ab, das an einen Datenzwischenspeicher gesendet werden soll, und dann wird an den SAR-Chip ein Befehl für Übertragungsbereitschaft ausgegeben. Empfangene Daten werden durch den SAR-Chip in einem Pool von freien Datenzwischenspeichern untergebracht, der vom Hauptrechner bereitgestellt wird. Der Pool freier Zwischenspeicher hat eine Pool-Startadresse und ist in Stapel von Zwischenspeichern unterteilt. Die Stapel sind durch Zeiger für die Stapelverkettung verknüpft.
- US-Patentschrift 4 422 171 legt ein Verfahren zum Übertragen von digitalen Daten dar und ist besonders darauf eingerichtet, über einen langen Verzögerungsweg in der Datenausbreitung große Mengen von Massendaten von einer ersten Station an eine zweite Station zu übertragen, wie etwa zwischen einer ersten und einer zweiten Bodenstationen über eine Satelliten- Verstärkerstation. Fehlerüberprüfung an der Bestimmungsstation wird dafür benutzt, um festzustellen, ob empfangene Datenrahmen fehlerfrei sind. Die Bestimmungsstation überträgt Datenrahmen synchron mit denen der Quellenstation, wobei die Datenrahmen anzeigen, ob die Datenrahmen der Quelle richtig empfangen worden sind. Die Quellenstation ermittelt, ob es notwendig ist, vorher übertragene Daten erneut zu übertragen. Eine Übertragungsliste wird dafür benutzt, Kennzeichnungsnummern für Blöcke von Datenrahmen zu speichern, die kürzlich von der Quellenstation übertragen worden sind und von der Bestimmungsstation noch nicht bestätigt wurden. Die Kennzeichnungsnummern für Blöcke können eine direkte oder indirekte Adresse umfassen, um auf das zugehörige Informationsfeld zuzugreifen.
- Nach der vorliegenden Erfindung wird ein ATM- Übertragungsnetzwerk bereitgestellt, das einen Systemprozessor hat, der einen Einheitentreiber, einen Systemspeicher und einen Adapter enthält, die für eine größere Verarbeitungsleistung des Systems und bessere Speichetausnutzung an einer Schnittstelle miteinander verbunden sind, wobei das System einen Adapterprozessor und Steuerspeichermittel, die in dem Adapter enthalten sind, Mittel zum Einrichten von Übertragungs- und Empfangssteuerregistern im Steuerspeicher; und Mittel zum Empfangen von Datenzellen aus dem Netzwerk zum Speichern als Datenrahmen auf Empfangsbereitschaftslisten im Systemspeicher hat; gekennzeichnet durch: dass der Einheitentreiber in der Lage ist, im Steuerspeicher eine Übertragungsbereitschafts- Warteschlange (TRQ) einzurichten; wobei die TRQ Datenrahmen für die Übertragung kennzeichnet, die durch Verweise auf logische Kanäle in Listen von Datenrahmen verknüpft sind, deren Zellen mit Zellen von Datenrahmen verschachtelt sind, die schon übertragen worden sind, damit es dem Einheitentreiber ermöglicht wird, mehrere Datenrahmen für asynchrone Übertragung in einer Warteschlange einzureihen, während der Adapter vorhandene Datenrahmen verarbeitet; dabei ist der Adapter in der Lage, im Systemspeicher eine Liste von Bezeichnern von Übertragungsdatenrahmen zu erstellen, die Vorwärtszeiger von Listen abgeschlossener Übertragungen (TCL) enthält, so dass, wenn der Adapter die Übertragung jedes Datenrahmens abgeschlossen hat, der neuerlich abgeschlossene Datenrahmenbezeichner mit der Liste abgeschlossener Übertragungen (TCL) unter Verwendung des Vorwärtszeigers (TCL) verknüpft wird, um zwischen dem Adapter und dem Einheitentreiber eine asynchrone Schnittstelle bereitzustellen; und Mittel zum Erzeugen einer Unterbrechung an dem Einheitentreiber hat, mit dem angezeigt wird, dass die Datenrahmenübertragung abgeschlossen ist, und welche die TCL aktualisiert, indem der Vorwärtszeiger der TOL für den letzten Datenrahmenbezeichner des neuerlich verknüpften Datenrahmens gesetzt wird, um das Ende der TCL anzuzeigen.
- Die Erfindung stellt in einem ATM-Übertragungsnetzwerk, das einen Systemprozessor hat, der einen Einheitentreiber, eine Systemspeicher und einen Adapter enthält, die an einer Schnittstelle für eine höhere Verarbeitungsleistung des Systems und eine verbesserte Speicherausnutzung miteinander Verbunden sind, auch ein Verfahren zum Steigern der Verarbeitungsleistung des Systems und zur besseren Speicherausnutzung bereit, das die folgenden Schritte umfasst: in einem Steuerspeicher des Adapters Einrichten von Steuerregistern für Übertragung und Empfang; und Empfangen von Datenzellen vom Netzwerk zum Speichern als Datenrahmen auf Empfangsbeteitschaftslisten im Systemspeicher; gekennzeichnet durch: das mit Hilfe des Einheitentreibers erfolgende Einrichten einer Übertragungsbereitschafts-Warteschlange (TRQ) im Steuerspeicher; dabei kennzeichnet die TRQ Datenrahmen, die durch Verweis auf logische Kanäle verknüpft ist, für eine Übertragung in Listen von Datenrahmen, deren Zellen mit Zellen von Datenrahmen verschachtelt sind, die schon übertragen werden, so dass es dem Einheitentreiber ermöglicht wird, mehrere Datenrahmen in einer Warteschlange für asynchrone Übertragung einzureihen, während der Adapter vorhandene Datenrahmen verarbeitet; das Benutzen des Adapters, um im Systemspeicher eine Liste von Bezeichnern von Übertragungsdatenrahmen einzurichten, die Vorwärtszeiger der Liste abgeschlossener Übertragungen (TCL) enthält, so dass, wenn der Adapter die Übertragung jedes Datenrahmens abgeschlossen hat, der Bezeichner des neuerlich abgeschlossenen Datenrahmens unter Verwendung des Vorwärtszeigers der TCL mit der Liste abgeschlossener Übertragungen (TCL) verknüpft wird und derart eine asynchrone Schnittstelle zwischen dem Adapter und dem Einheitentreiber bereitstellt; und das Erzeugen einer Unterbrechung am Einheitentreiber, mit der ein Abschluss der Datenrahmenübertragung angezeigt und die TCL durch das Setzen des TCL-Vorwärtszeigers für den letzten Datenrahmenbezeichner des neuerlich verknüpften Datenrahmens aktualisiert wird, um das Ende der TCL anzuzeigen.
- Nach dem Stand der Technik wird das Problem einer Schnittstelle eines ATM-Adapters/Einheitentreibers beim Segmentieren mehrerer Datenrahmen aus unterschiedlichen Datenquellen in Zellen für das Übertragen und erneute Zusammenbauen von Zelle zu mehreren Rahmen zum Empfang an einer Anwendung nie behandelt, wobei die Übertragung und das erneute Zusammensetzen im Wesentlichen nicht vom Einheitentreiber abhängen. Infolgedessen ist der Einheitentreiber der vorliegenden Erfindung in der Lage, mit Datenraten von Netzwerken Schritt zu halten, was das Leistungsvermögen des ATM-Systems beim Verarbeiten von Hochgeschwindigkeits-Datenraten verbessert und die Speicherbelegung an der Schnittstelle vermindert. Weiterhin legt der Stand der Technik auch den Gebrauch von Datenrahmenbezeichnern und Listen für das Auffinden von Datenrahmen im Systemspeicher ohne den Gebrauch von Partitionen nicht dar. Weiterhin legt der Stand der Technik den Gebrauch von Zeigern zum gegenseitigen Verknüpfen von Datenrahmen in Übertragungsbereitschafts-Warteschlangen und Empfangsbereitschaftslisten nicht dar.
- Die Erfindung ist umfassender aus der folgenden ausführlichen Beschreibung zu begreifen, wenn diese in Verbindung mit den folgenden Zeichnungen gebracht wird, in denen:
- Fig. 1 ein Blockschaltbild eines ATM-Systems ist, das einen Systemprozessor, einen Systemspeicher, einen Adapter und eine System-/Adapter-Schnittstelle enthält, und das die Prinzipien der vorliegenden Erfindung verkörpert:
- Fig. 2 ein Blockschaltbild des Systemspeichers und der im Speicher gespeicherten Information ist.
- Fig. 3 ein Blockschaltbild des Adapters in Fig. 1 ist.
- Fig. 4 eine Auflistung von Hardware-Komponenten einer ATM- und AAL1/AAL5-Prozess-Steuereinheit im Adapter von Fig. 1 ist.
- Fig. 5 eine Darstellung einer Übertragungsbereitschafts- Warteschlange (TRQ) ist, die in einem Steuer-/Datenspeicher im Adapter von Fig. 1 eingerichtet worden ist.
- Fig. 6 eine Darstellung von Bezeichnern von Übertragungsdatenrahmen ist, die in dem Systemspeicher von Fig. 1 vor der Übertragung an das ATM-Netzwerk miteinander verknüpft worden sind.
- Fig. 7 eine Darstellung einer Liste von Verknüpfungen abgeschlossener Übertragungen von Datenrahmenbezeichnern im Systemspeicher von Fig. 1 nach der Übertragung der Datenrahmen an das ATM-Netzwerk ist.
- Fig. 8 eine Darstellung einer Liste freier Empfangszwischenspeicher ist, die Bezeichner von freien Zwischenspeichern im Systemspeicher enthält, die vom Adapter dafür benutzt werden, empfangene Datenrahmen zu speichern.
- Fig. 9 eine Darstellung der Initialisierung von Zeigern für Empfangsbereitschaftslisten im Systemspeicher und dem Adapter von Fig. 1 ist.
- Fig. 10 und 11 eine Darstellung der Verarbeitung von Datenrahmen auf einer Empfangsbereitschaftsliste im System von Fig. 1 ist.
- Fig. 12 ein Flussbild eines Übertragungsvorganges ist, der vom System von Fig. 1 ausgeführt wird.
- Fig. 13 ein. Flussbild eines Empfangsvorganges ist, der vom System von Fig. 1 ausgeführt wird.
- In Fig. 1 sind ein Tischrechner oder eine Datenstation 110, die einen Prozessor 112, Brücke 114 und Systemspeicher 116 enthalten, über einen Industriestandard-Aufbau-Bus (ISA) oder einen Verbindungs-Bus für periphere Komponenten (PCI) 118 mit einem Adapter 120 verbunden, der seinerseits mit einem ATM- Netzwerk 422 verbunden ist. Der Prozessor 112 enthält verschiedene gespeicherte Programme wie etwa ein Betriebssystem 124, Anwendungsprogramme 126 und einen Einheitentreiber 128. Das Betriebssystem 124 steuert den Prozessor beim Ausführen der gespeicherten Anwendungsprogramme 126, die je nach den Funktionen der Anwendungsprogramme Daten aus dem Netzwerk 122 empfangen. Der Einheitentreiber 128 steuert mit Hilfe des Adapters 120 den Fluss von Zellen und Datenrahmen zwischen dem Netzwerk 122 und dem Systemspeicher 116. Die Brücke 114 ist ein Zwischenspeicher zum Anpassen der Geschwindigkeit des Prozessors an den Systemspeicher 116 und den Adapter 120. Eine Hauptzielsetzung der Erfindung besteht darin, im Wesentlichen unabhängig von dem Einheitentreiber Datenrahmen in Zellen zu segmentieren und Zellen wieder zu Datenrahmen zusammenzusetzen, bis ein Datenrahmen an das Netzwerk übertragen worden oder im Systemspeicher empfangen worden ist. Dabei ist der Einheitentreiber bei der Übertragung/dem Empfang von Daten an/vom ATM-Netzwerk 122 leistungsfähiger sein.
- In Fig. 2 wird das Format der Informationen, die im Systemspeicher 116 gespeichert sind, ausführlicher gezeigt. Eine ausführliche Beschreibung der im Systemspeicher 116 gespeicherten Informationen wird hier nachstehend dargelegt. In Fig. 2B wird im Systemspeicher 116 eine Liste von Bezeichnern von Empfangszwischenspeichern 200 gespeichert. Jeder Bezeichner eines Empfangszwischenspeichers 200 definiert im Systemspeicher 116 einen Empfangsdaten-Zwischenspeicher 202. Ein Bezeichner für Empfangszwischenspeicher 200 enthält ein Adressfeld des Datenzwischenspeichers 204, ein Adressfeld eines Vorwärtszeigers 206, ein Längenfeld das Datenzwischenspeichers 208, ein Statusfeld 210 und andere ATM- spezifische Felder. Die Adresse des Empfangszwischenspeichers 204 im Bezeichner des Empfangszwischenspeichers 200 zeigt auf den Empfangsdaten-Zwischenspeicher 202, der sich im Systemspeicher 116 befindet. Eine Liste freier Empfangszwischenspeicher 212 ist eine verknüpfte Liste von Bezeichnern von Empfangszwischenspeichern 200, die auf Empfangsdaten-Zwischenspeicher zeigen, die zur Datenspeicherung verfügbar sind. Die Bezeichner von Empfangszwischenspeichern 200 in dieser Liste freier Empfangszwischenspeicher 212 werden unter Verwendung des Adressfeldes von Vorwärtszeiger 206 verknüpft. Eine Empfangsbereitschaftsliste 214 ist eine verknüpfte Liste von Bezeichnern von Empfangszwischenspeichern 200, die mit Daten von Empfangsdatenrahmen gefüllt worden ist. Sie werden ebenfalls unter Verwendung des Adressfeldes des Vorwärtszeigers 206 verknüpft.
- Ebenfalls im Systemspeicher ist eine Liste von Bezeichnern von Übertragungsdatenrahmen 250 gespeichert, die in Fig. 2A gezeigt werden. Jeder Bezeichner von Übertragungsdatenrahmen 250 definiert einen oder mehrere Übertragungsdaten- Zwischenspeicher 252 im Systemspeicher 116. Ein Bezeichner eines Übertragungsdatenrahmens 250 enthält ein Adressfeld eines Vorwärtszeigers 254, einen Vorwärtszeiger einer Liste abgeschlossener Übertragungen (TCL) 256, mehrere ATM- spezifische Felder, ein Zählfeld für den Datenzwischenspeicher 258 und ein Adressfeld eines Übertragungsdaten- Zwischenspeichers 260 für jeden zugehörigen Übertragungsdaten- Zwischenspeicher und ein Längenfeld des Zwischenspeichers der Übertragungsdaten 262 für jeden zugehörigen Übertragungsdaten- Zwischenspeicher. Das Adressfeld des Vorwärtszeigers 206 wird dafür verwendet, Übertragungsdatenrahmen für einen bestimmten logischen Kanal zu verketten. Der TCL-Vorwärtszeiger 256 wird dafür benutzt, Bezeichner von Übertragungsdatenrahmen zu verketten, die an eine Liste abgeschlossener Übertragungen 264 übertragen worden sind. Der Zählwert des Übertragungsdaten- Zwischenspeichers 258 wird dafür benutzt, die Anzahl von Übertragungsdaten-Zwischenspeichern anzuzeigen, die zu einem Bezeichner eines Übertragungsdatenrahmens 250 gehören. Jede Adresse eines Übertragungsdaten-Zwischenspeichers 260 zeigt auf einen der Übertragungsdaten-Zwischenspeicher 252, der sich im Systemspeicher 116 befindet. Jede Länge eines Übertragungsdaten-Zwischenspeichers 262 zeigt die Anzahl von Bytes in dem zugehörigen Übertragungsdaten-Zwischenspeicher 252 an.
- In Fig. 3 wird der Adapter 120 ausführlicher gezeigt. Der Adapter 120 ist über eine zweiseitig gerichtete Schnittstelle 301 zum Empfangen von Zellen als Eingabe und zum Senden von Zellen als Ausgabe mit dem Netzwerk 122 verbunden. Empfangszellen gehen durch das ATOMIC-Netzwerk- Schnittstellenmodul 301, einen Codierer/Decodierer (ENDEC) 303, eine Speicherschnittstelle 307, an einen Steuer-/ Datenspeicher 309, wo die empfangenen Zellen zeitweilig gespeichert werden. Ein Prozessor 305 wird benachrichtigt, wenn Zellen in dem Steuer-/Datenspeicher 309 untergebracht werden. Die Prozess-Steuereinheit für ATM und AAL1/AAL5 305 löst dann das Verschieben der Zelle von Steuer-/Datenspeicher 309 über die Speicherschnittstelle 307, die Busschnittstelle 311 an den Systemspeicher 116 (siehe Fig. 1) aus. Um Zellen zu übertragen, löst die Prozess-Steuereinheit für ATM und AAL1/AAL5 305 das Verschieben einer Zelle aus dem Systemspeicher 116 über die Busschnittstelle 311, die Speicherschnittstelle 307 an den Steuer-/Datenspeicher 309 aus, wo sie zeitweilig gespeichert wird. Danach wird die Übertragungszelle vom Steuer-/Datenspeicher 309 über die Speicherschnittstelle 307, den Codierer/Decodierer (ENDEC) 303, das ATOMIC-Netzwerk-Schnittstellenmodul 301 an das ATM- Netzwerk 122 verschoben.
- In Fig. 4 werden bestimmte Einzelheiten der Prozess- Steuereinheit für ATM und AALl/AAL5 gezeigt. Die Steuereinheit 305 enthält einen Picoprozessor 401 für Übertragungsvorgänge und einen Picoprozessor 403 für Empfangsvorgänge. Ebenfalls in der Steuereinheit 305 enthalten sind Übertragungssteuerregister 405 und Empfangssteuerregister 407. Die Übertragungs- und Empfangssteuerregister werden vom Einheitentreiber so eingestellt, dass sie Datenrahmen kennzeichnen, die an das Netzwerk und in die Empfangsbereitschaftslisten übertragen werden sollen, um zusammengesetzte Zellen vom Netzwerk in Datenrahmen hineinzuspeichern. Eine Übertragungsbereitschafts- Warteschlange (TRQ) (siehe Fig. 5) wird von dem Einheitentreiber 128 im Steuer-/Datenspeicher 309 eingerichtet, damit Übertragungsvorgänge, die von der Adapter- Hardware beim Übertragen von Datenrahmen aus dem Systemspeicher 116 an das ATM-Netzwerk 122 über den Adapter 120 ausgeführt werden sollen, in eine Warteschlange eingereiht werden. Die Größe der TRQ und der Standort innerhalb des Steuer-/Datenspeichers 309 wird beim Initialisieren durch Parameter festgelegt, die vom Einheitentreiber in den Übertragungssteuerregistern 405 aufgezeichnet werden. Es gibt zwei Übertragungsbereitschafts-Warteschlangen (T5RQ und T1RQ), eine für den Datenverkehr von AAL5 und eine zweite für den Datenverkehr von AAL1. Beide Warteschlangen haben den gleichen Aufbau, und sie befinden sich beide im Steuer-/Datenspeicher 309. Jede TRQ hat fünf Register, die den Standort im Steuer-/ Datenspeicher definieren. Die fünf Register definieren die Basis (Versatz in den Steuer-/Datenspeicher 309 hinein), oben, unten, der zu der Warteschlange gehörenden Aufzeichnungszeiger und Lesezeiger. Der Einheitentreiber bringt die TRQ in dem Steuer-/Datenspeicher 309 unter, indem er das Basisregister, das obere Register und das untere Register aufzeichnet. Der Inhalt für das Vier-Bit-Basisregister, verkettet mit dem Inhalt der des oberen 13-Bit-Registers, legt den Anfang der Warteschlange fest. Der Inhalt des Vier-Bit-Basisregisters, verkettet mit dem Inhalt des unteren 13-Bit-Registers legt das Ende der Warteschlange fest. Bei der Initialisierung zeigen sowohl der Lese- als auch der Aufzeichnungszeiger auf den obersten Punkt der Warteschlange, womit angezeigt wird, dass die Warteschlange leer ist.
- Bei Rückkehr zu Fig. 1 und 2 wird die Verarbeitung von Datenrahmen beschrieben, die vom ATM-Netzwerk 112 empfangen worden sind. Die Kommunikation von Einheitentreiber 128 und Adapter 120 wird durch eine Liste freier Empfangszwischenspeicher 212 und eine Empfangsbereitschaftsliste (RRL) bewerkstelligt, die im Systemspeicher 116 enthalten sind. Wenn im Systemspeicher 116 ATM-Zellen wieder zu Datenrahmen zusammengesetzt werden, werden Bezeichner von Datenzwischenspeichern und ihre zugehörigen Zwischenspeicher aus der Liste freier Zwischenspeicher entnommen und dafür benutzt, die empfangenen Zellen auf bedarfsgerechter Grundlage zu speichern. Wenn die Zwischenspeicher benützt werden, werden die Zwischenspeicherbezeichner miteinander verkettet, damit sie eine verkettete Liste von Zwischenspeicherbezeichnern bilden, die auf Zwischenspeicher zeigen, die den vollständigen Datenrahmen enthalten. Sobald der Datenrahmen im Systemspeicher 116 wieder vollständig zusammengesetzt worden ist, wird auf einer der Empfangsbereitschaftslisten 214, die sich im Systemspeicher 116 befinden, ein Zeiger auf den ersten Zwischenspeicherbezeichner des Datenrahmens untergebracht. Der Prozessor 112 wird unterbrochen, um die Empfangsbereitschaftsliste zu bedienen. Die Leistungsfähigkeit der Schnittstelle wird unter Verwendung dieser Datenstrukturen verbessert, die es dem Einheitentreiber gestatten, mehrere Datenrahmen mit einer einzigen Unterbrechung zu verarbeiten.
- Bei Hinwendung zu Fig. 5, die Schritt 1 des Übertragungsvorganges beschreibt, zeigt diese das Format eines Eintrags 501 in einer TRQ-Warteschlange in dem Steuer-/ Datenspeicher 309 und wird definiert durch die Übertragungssteuerregister 405 (siehe Fig. 4). Das erste 16- Bit-Wort 503 enthält die Nummer des logischen Kanals (LC), mit dem der Übertragungsvorgang verbunden ist. Die nächsten beiden Worte enthalten die Adresse 505 des Datenrahmenbezeichners im Systemspeicher 116. Die TRQ 501 wird vom Einheitentreiber jedes Mal aufgezeichnet, wenn ein ATM-Datenrahmen oder mehrere Datenrahmen für einen bestimmten LC übertragen werden sollen. Es gibt zwei Warteschlangen der Empfangsbereitschaft, eine für den AAL1-Datenverkehr und eine für den AAL5-Datenverkehr (T1RQ und T5RQ).
- Um den Code des Einheitentreibers daran zu hindern, eine TRQ zu überfüllen, muss ein Statusregister abgefragt werden, das in den Übertragungssteuerregistern 405 enthalten ist, die für jede der Warteschlangen ein "volles" Bit enthalten. Wenn das Statusbit anzeigt, dass die zugehörige Warteschlange nicht voll ist, steht es dem Einheitentreiber frei, den nächsten Eintrag hinzuzufügen. Wenn jedoch das Statusregister anzeigt, dass die Warteschlange voll ist, muss der Einheitentreiber fortfahren, den Status abzufragen, bis eine Anzeige 'nicht voll' empfangen wird.
- Die TRQ gestattet es dem Einheitentreiber, mehrere Datenrahmen zum asynchronen Übertragen in einer Warteschlange einzureihen, während die Adapter-Hardware vorhandene Datenrahmen verarbeitet. Dies verbessert das Leistungsvermögen des Adapters und des Einheitentreibers.
- In Fig. 6 wird der zweite Schritt des Übertragungsvorganges dargestellt. In diesem Schritt entfernt der Adapter 120 Einträge in der TRQ und verknüpft sie auf der Grundlage ihrer LC-Nummer in der TRQ 503 zu Listen von Datenrahmen, die übertragen werden sollen. Das Ende der verknüpften Liste wird mit einem Vorwärtszeiger angezeigt, der gleich x'00000001' ist. Es wird für jeden logischen Kanal des ATM mit anstehenden Übertragungsanforderungen eine Liste geben. In Fig. 6 werden drei LCs gezeigt, LCx, LCy und LCz. Mit dem ersten Bezeichner jeder Liste verbundene Datenrahmen werden gleichzeitig übertragen, indem eine Zelle jedes Rahmens miteinander verschachtelt wird. Wenn für einen LC die Datenrahmenübertragung abgeschlossen ist, wird der Bezeichner für diesen Rahmen aus der Liste entfernt. Wenn der gerade entfernte Bezeichner dicht der letzte ist, wird die Übertragung des zum nächsten verknüpften Bezeichner gehörenden Datenrahmens begonnen. Dieser Vorgang wird fortgesetzt, bis die Datenrahmen übertragen worden sind, die zu allen verknüpften Bezeichnern gehören. Wenn der Einheitentreiber für einen LC, der eine anstehende Übertragungsanforderung hat, in der TRQ einen Eintrag vornimmt, wird für diesen LC eine neue verknüpfte Liste erzeugt. Der gerade verknüpfte Datenrahmen wird durch Verschachteln von Zellen mit Zellen von Datenrahmen übertragen, die schon übertragen worden sind. Wenn der Einheitentreiber in der TRQ für einen LC, der gerade überträgt, eine Übertragungsanforderung unterbringt, wird diese Anforderung mit der Liste verknüpft, die zu dem LC gehört, und wird wie vorstehend beschrieben übertragen werden.
- In Fig. 7 wird der dritte Schritt des Übertragungsvorganges beschrieben. In dieser Figur werden Bezeichner gezeigt, die so verknüpft sind, dass sie eine Liste abgeschlossener Übertragungen für die logischen Kanäle LC X, LC Y und LC Z bilden. Das System muss die Adresse des letzten verarbeiteten Bezeichners von Übertragungsrahmen aufbewahren. Der Adapter .120 aktualisiert den TCL-Vorwärtszeiger des letzten übertragenen Datenrahmens mit der Adresse des Bezeichners des neuerlich übertragenen Datenrahmens. Die Datenrahmen werden in der Reihenfolge von LC X, LC Y und LC Z übertragen. Die Datenrahmenbezeichner befinden sich im Systemspeicher 116, und die TCL wird durch den Adapter 120 im Systemspeicher 116 aufgebaut, wenn die Datenrahmen übertragen worden sind. Bei Initialisierung wird das TCL-Register der Adresse der letzten Datenrahmendaten (LFDA), das sich in den Übertragungssteuerregistern 405 (siehe Fig. 4) befindet, durch den Einheitentreiber mit der Adresse im Systemspeicher 116 des letzten bedienten Datenrahmenbezeichners aufgezeichnet. Dieser Bezeichner ist eine Blindadresse, die dafür benutzt wird, "die Pumpe anzufüllen". Wenn der Adapter die Übertragung von Datenrahmen abschließt, wird der neuerlich abgeschlossene Datenrahmenbezeichner unter Verwendung des Vorwärtszeigerfeldes der Liste abgeschlossener Übertragungen, das sich im Datenrahmenbezeichner befindet, mit der Liste abgeschlossener Übertragungen verknüpft. Das Ende der verknüpften Liste wird durch das Aufzeichnen eines Vorwärtszeigers angezeigt, wobei das niedrigstwertige Bit auf ein b'1' gesetzt wird. Wenn der Adapter der Liste abgeschlossener Übertragungen etwas hinzufügt, wird der Inhalt von TCL_LFDA mit der Systemspeicheradresse des letzten hinzugefügten Eintrags aktualisiert. Der Einheitentreiber verwaltet einen Zeiger des letzten verarbeiteten Eintrags. Der Adapter setzt den Vorwärtszeiger der TCL für den letzten Datenrahmenbezeichner des neuerlich verknüpften Datenrahmens gleich '00000001'X, um das Ende der TCL anzuzeigen. Das System erkennt, dass das Ende der TCL erreicht ist, wenn der Vorwärtszeiger gleich '00000001'x ist. Der Vorteil dieses Vorganges besteht darin, dass die TCL durch Verknüpfen der Bezeichner miteinander gebildet wird. Unter Verwendung dieser Verfahrensweise ist es unmöglich, die Liste abgeschlossener Übertragungen überlaufen zu lassen. Dieser Vorgang sorgt auch für eine asynchrone Schnittstelle zwischen der Adapter- Hardware und der Software des Einheitentreibers. Mehrere Datenrahmen können ihre Übertragung abschließen und können in einer Warteschlange untergebracht werden, ehe Bedienung durch den Einheitentreiber erforderlich ist.
- Bei Hinwendung zu Fig. 8 gibt es zwei Datenelemente, die mit dem Vorgang des Empfangens von Zellen aus dem ATM-Netzwerk 122 verbunden sind. Diese Datenelemente sind die Liste freier Zwischenspeicher 212 und die Empfangsbereitschaftsliste 214 im Systemspeicher 116 von Fig. 2. Die Liste freier Zwischenspeicher wird sowohl durch den Einheitentreiber als auch die Prozess-Steuereinheit für ATM und AAL1/AAL5 305 verwaltet. Die Rolle des Einheitentreibers besteht darin, beim Initialisieren unter Verwendung des Vorwärtszeigers, der sich in einem Bezeichner eines Zwischenspeichers befindet, eine verknüpfte Liste von Bezeichnern freier Zwischenspeicher aufzubauen und einen Zeiger auf den letzten Eintrag in der Liste zu verwalten. Dieser Zeiger wird benutzt, wenn zusätzliche Zwischenspeicher zur Liste hinzugefügt werden oder wenn Zwischenspeicher in die Liste zurückkehren, nachdem sie empfangene Datenrahmen verarbeitet haben. Wenn Zwischenspeicher zurückkehren oder hinzugefügt werden, muss der Einheitentreiber den Zeiger aktualisieren, damit er immer auf den letzten Eintrag zeigt.
- Die Rolle der Prozess-Steuereinheit für ATM und AAL1/AAL5 305 (siehe Fig. 3) bei der Verwaltung der Liste freier Zwischenspeicher besteht darin, eine Kopie der Adresse für den Beginn der Liste aufzubewahren. Diese Adresse befindet sich am Beginn des Registers der Liste freier Zwischenspeicher (SRFL) 408 in den Steuerregistern für den Empfang 407 (siehe Fig. 4), die durch den Einheitentreiber initialisiert wird. Wenn die Daten im Systemspeicher 116 aufgezeichnet werden, entfernt der Adapter 120 Zwischenspeicher aus der freien Liste und aktualisiert das SRFL-Register durch Kopieren des Vorwärtszeigers aus dem Zwischenspeicherbezeichner in die SRFL. Damit enthält die SRFL immer die Adresse des nächsten Eintrags auf der Liste freier Zwischenspeicher.
- Um das Entleeren der Liste freier Zwischenspeicher zu verhindern, wird beim Vorwärtszeiger des letzten Eintrags auf der Liste das Bit 0 auf ein b'1' gesetzt. Der Adapter 120 prüft auf diesen Wert, und wenn er ihn findet, erzeugt er am Prozessor 112 eine Unterbrechung, mit der an gezeigt wird, dass die freie Liste aufgezehrt ist. Der letzte Zwischenspeicher auf der Liste wird niemals dafür benutzt, empfangene Daten zu speichern, sondern wird in der Liste freier Zwischenspeicher gespeichert, um für zusätzliche Zwischenspeicher einen Verkettungspunkt bereitzustellen, wenn sie zurückgegeben oder hinzugefügt werden. Die Liste freier Zwischenspeicher wird von dem Einheitentreiber 128 und dem Adapter 120 gemeinsam genutzt, wobei der Einheitentreiber 128 das Ende der Liste verfolgt und der Adapter 120 den Anfang der Liste verfolgt.
- Wenn die Liste freier Zwischenspeicher aufgezehrt wird, ist es für den Einheitentreiber notwendig zu wissen, wo sich im Systemspeicher 116 das "Ende der Liste" befindet. Um diese Information zu erhalten, ist es für den Einheitentreiber erforderlich, das SRFL-Register zu lesen. Die Liste freier Zwischenspeicher stellt notwendige Mittel zum Übertragen von Datenrahmen zwischen dem Adapter und dem Systemspeicher bereit, wobei ein Eingriff des Einheitentreibers nur auf der Grundlage von ganzen Datenrahmen erfolgt.
- Bei Hinwendung zu Fig. 9 besteht das zweite Datenelement im Empfangsvorgang aus den Empfangsbereitschaftslisten 214 (siehe Fig. 2). Die Empfangsbereitschaftslisten werden vom Einheitentreiber 128 eingerichtet und befinden sich im Systemspeicher 116. Wenn vom ATM-Netzwerk 122 Zellen empfangen und in Zwischenspeichern untergebracht werden, die der Liste freier Zwischenspeicher entnommen worden sind, werden die zugehörigen Zwischenspeicherbezeichner miteinander verknüpft, bis im Systemspeicher 116 ein vollständiger Datenrahmen zusammengesetzt wird. Sobald ein Rahmen zusammengesetzt worden ist, werden die mit dem Datenrahmen verbundenen Zwischenspeicherbezeichner auf einer der acht Empfängsbereitschaftslisten RRL0 bis RRL7 verknüpft, wie sie in Fig. 9 gezeigt werden. Die Tatsache, dass der Datenrahmen im Systemspeicher 116 wieder zusammengesetzt worden ist, wird an den Einheitentreiber unter Verwendung eines Statusregisters 1015 für Systemunterbrechungen (siehe Fig. 10) übermittelt, das sich in der Prozess-Steuereinheit für das ATM und AAL1/AAL5 305 befindet. Das Statusregister der Systemunterbrechungen 1015 enthält für jede der acht Empfangsbereitschaftslisten RRL0 bis RRL7 ein Statusbit, das vom Einheitentreiber in dem Adapter durch die Prozess- Steuereinheit für ATM und AAL1/AAL5 305 verwaltet wird. Dadurch, dass der Einheitentreiber mehrere Empfangsbereitschaftslisten hat, kann er den LCs Prioritäten zuordnen.
- Sobald der Einheitentreiber das Statusregister der Systemunterbrechungen 415 liest und entdeckt, dass vom ATM- Netzwerk 122 Datenrahmen empfangen und in einer der Empfangsbereitschaftslisten untergebracht worden sind, durchläuft der Einheitentreiber die Empfangsbereitschaftsliste und verarbeitet alle Datenrahmen, bis er das Ende dieser RRL erreicht. Der Ende der RRL ist erreicht, wenn das Adressfeld des Vorwärtszeigers, Bit 0 in dem Zwischenspeicherbezeichner gleich b'1' ist. (Gültige Adressen befinden sich an einer 4- Byte-Grenze.) Wenn das Ende der RRL erreicht ist, hält der Einheitentreiber die Adresse des letzten empfangenen Zwischenspeicherbezeichners zurück, der für die Empfangsbereitschaftsliste im Systemspeicher 116 verarbeitet worden ist.
- Der Einheitentreiber 128 aktualisiert die Liste freier Empfangszwischenspeicher (RFL), wenn Zwischenspeicher im Systemspeicher 116 freigegeben werden. Der Treiber aktualisiert auch den Vorwärtszeiger des Bezeichners, der sich derzeit am Ende der Liste freier Empfangszwischenspeicher befindet, um auf den ersten aus einer Liste von Bezeichnern zu zeigen, die hinzugefügt werden (Bezeichner können jeweils einzeln oder zu mehreren gleichzeitig der RFL hinzugefügt werden). Der letzte hinzugefügte Bezeichner in der Liste muss einen Vorwärtszeiger haben, der das Ende der Liste anzeigt (das heißt, einen Vorwärtszeiger, bei dem Bit 0 auf b'1' gesetzt ist).
- Der Einheitentreiber muss einen Zeiger auf den ersten Eintrag auf jeder der Empfangsbereitschaftslisten verwalten und aktualisieren. Dieser Zeiger befindet sich im Systemspeicher 116. Der Zeiger zeigt die Adresse des letzten Zwischenspeicherbezeichners (LBDA) an, der als Ergebnis einer vorhergehenden Unterbrechung verarbeitet worden ist. Dieser Wert sagt dem Einheitentreiber auch, mit welchem Bezeichner er das Verarbeiten beginnen soll, wenn für die zugehörige RRL die nächste Unterbrechung empfangen wird. Der Einheitentreiber fährt damit fort, Einträge auf der RRL zu verarbeiten, bis ein Bezeichner mit einem Vorwärtszeiger erreicht wird, dessen Bit 0 auf b'1' gesetzt ist. An diesem Punkt hält die Verarbeitung von Bezeichnern inne, bis die nächste Unterbrechung mit einem Status empfangen wird, der anzeigt, dass RRL-Bedienung erforderlich ist.
- Ein Beispiel des Vorganges der Systeminitialisierung der Zeiger der Empfangsbereitschaftsliste wird in Fig. 9 gezeigt. Die im Systemspeicher befindlichen Zeiger auf die acht Empfangszwischenspeicherlisten (RRL0 bis RRL7) werden mit der Adresse eines Zwischenspeicherbezeichners initialisiert. Der in diesen Zwischenspeicherbezeichnern befindliche Vorwärtszeiger wird auf '00000001'x gesetzt. Im Adapter 120 werden durch den Einheitentreiber die Register RRL0 bis RRL7 in den Empfangssteuerregistern 407 ebenfalls mit diesen gleichen Adresswerten initialisiert.
- Die Prozess-Steuereinheit für das ATM und AAL1/AAL5 305 benutzt eine der acht Empfangsbereitschaftslisten, die sich im Systemspeicher 116 befinden, um den Einheitentreiber davon, zu benachrichtigen, dass ein vollständiger Datenrahmen wieder zusammengesetzt worden ist. Diese Listen bestehen aus einer verknüpften Liste von Empfangszwischenspeicher-Bezeichnern, deren zugehörige Zwischenspeicher den empfangenen Datenrahmen enthalten. Der erste Bezeichner der Kette, der zu dem empfangenen Datenrahmen gehört, enthält den Status und die Länge des Datenrahmens. Jeder Bezeichner in der Liste zeigt auf den nächsten Bezeichner, bis ein Zeiger erreicht wird, dessen Bit 0 auf ein b'1' gesetzt ist, was das Ende einer Kette markiert (siehe Fig. 10). Es können mehrere Empfangsrahmen miteinander verknüpft werden, die darauf warten, vom Einheitentreiber verarbeitet zu werden. Die acht Empfangsbeteitschaftslisten im Systemspeicher 116 bilden acht Statuswarteschlangen, die den Status der empfangenen Datenrahmen enthalten. Dem Verarbeiten dieser acht Listen kann durch den Einheitentreiber Priorität erteilt werden.
- Der Zeiger auf den letzten verarbeiteten Eintrag aus jeder der acht Empfangsbereitschaftslisten wird vom Einheitentreiber festgehalten. Die von der Prozess-Steuereinheit des ATM und der AAL1/AAL5 305 verwalteten Register der Empfangsbereitschaftslisten enthalten die Adresse des letzten Eintrags, der durch den Adapter jeder Liste hinzugefügt worden ist. Der Einheitentreiber initialisiert die Register der Empfangsbereitschaftslisten und seine eigene Kopie mit der Adresse eines Zwischenspeicherbezeichners. Bei der Initialisierung zeigen diese Bezeichner auf leere Zwischenspeicher, deren Vorwärtszeiger auf 00000001'x gesetzt sind. Diese ersten acht Zwischenspeicher werden vom Adapter 1210 nicht zum Speichern von Daten benutzt. Ihre Bezeichneradressen dienen nur dazu, "die Pumpe anzufüllen" und stellen eine anfängliche Bezeichneradresse bereit, die der Adapter 120 benutzen kann, wenn er die Bezeichner der ersten empfangenen Datenrahmen verknüpft.
- Um zu einer der Empfangsbereitschaftslisten einen Eintrag hinzuzufügen, benutzt der Adapter das zugehörige Register der Empfangsbereitschaftslisten, um den letzten Eintrag auf der Liste ausfindig zu machen, ändert den Vorwärtszeiger dieses Eintrages, so dass er auf den ersten Bezeichner des Empfangsdatenrahmens zeigt, und setzt den Vorwärtszeiger des letzten Bezeichners der Kette auf '00000001'x. Bit 0 des Vorwärtszeigers wird auf b'1' gesetzt, womit das Ende der Kette angezeigt wird. Die dazwischen liegenden Bezeichner, die zu diesem Rahmen gehören, werden unter Verwendung ihrer Vorwärtszeiger verknüpft, wenn der Datenrahmen wieder zusammengesetzt wird. Nachdem der Adapter die empfangenen Datenrahmenbezeichner mit einer der acht Empfangsbereitschaftslisten verknüpft hat, setzt er im Statusregister der Systemunterbrechung 415 ein Bit, um anzuzeigen, dass Bedarf besteht, empfangene Datenrahmen zu verarbeiten, und erzeugt dann eine Systemunterbrechung. Die Auswahl der Empfangsbereitschaftsliste beruht auf einem Feld, das in der Tabelle der logischen Kanäle enthalten ist, die nicht gezeigt wird, wobei die Tabelle im Steuer-/Datenspeicher 309 gespeichert ist.
- Der Einheitentreiber wird unterbrochen, wenn ein vollständiger Datenrahmen vom Adapter 120 an den Systemspeicher 116 übertragen worden ist. Ein vollständiger Datenrahmen besteht aus einem oder mehreren Empfangszwischenspeichern. Da für einen vollständigen Datenrahmen mehrere Empfangszwischenspeicher vorhanden sein können, verknüpft der Adapter vor dem Einbeziehen des Einheitentreibers die Empfangszwischenspeicher für einen vollständigen Rahmen unter Verwendung des Vorwärtszeigers des Zwischenspeicherbezeichners.
- Bei Hinwendung zu Fig. 10 und 11 wird eine Darstellung für den Empfangsvorgang, der im System erfolgt, und für den Adapter gezeigt, der einen Datenrahmen empfängt. In einem Schritt 1 wird ein Rahmen in Zwischenspeichern gespeichert, die sich im Systemspeicher 116 befinden, wobei jeder Zwischenspeicher durch einen Bezeichner gekennzeichnet wird, der Länge, Adresse, Status und einen Zeiger auf den nächsten Zwischenspeicher anzeigt. Wenn Anwendungs-Datenrahmen vollständig sind, speichert der Einheitentreiber die Adresse des Bezeichners des letzten Übertragungsrahmens, der für die Empfangsbereitschaftsliste verarbeitet worden ist. In einem Schritt 2 setzt der Adapter den Vorwärtszeiger für den letzten Bezeichner des Empfangszwischenspeichers des neuerlich verknüpften Datenrahmens gleich '0000001'x, um das Ende der Empfangsbereitschaftsliste anzuzeigen. Der Einheitentreiber weiß, wann das Ende der Empfangsbereitschaftsliste erreicht ist, nämlich wenn der Vorwärtszeiger = '000000001'x ist. In einem Schritt 3 erzeugt der Adapter eine Verknüpfung mit dem neuerlich abgelegten Datenrahmen, indem er für den abgeschlossenen Datenrahmen die Adresse des ersten. Datenrahmenbezeichners in der Adresse des Vorwärtszeigers des letzten Bezeichners des Empfangszwischenspeichers aufzeichnet. In einem Schritt 4 aktiviert der Adapter im Register 415 für eine Systemunterbrechung das Bit einer Empfangsbereitschaftsliste. In einem Schritt S liest der Einheitentreiber das Register 415, wenn eine Unterbrechung erfolgt und findet heraus, welche Empfangsbereitschaftsliste einen vollständigen Datenrahmen hat. In einem Schritt 6 sendet der Einheitentreiber alle abgeschlossenen Datenrahmen an einen Zwischenspeicher abgeschlossener Übertragungen (nicht gezeigt) im Steuer-/Datenspeicher 309 im Adapter 120, damit sie an das Netzwerk übertragen werden. In einem Schritt 7 weiß der Treiber, wenn das Ende einer Empfangsbereitschaftsliste erreicht worden ist, wenn das Bit 0 des Vorwärtszeigers gleich '1'b ist. In einem Schritt 8 speichert der Treiber die Adresse des letzten Bezeichners des Empfangszwischenspeichers, der für die Empfangsbereitschaftsliste verarbeitet worden ist.
- Unter Hinwendung zu Fig. 12 wird der Empfangsvorgang, wie er im Einheitentreiber und im Adapter vor sich geht, ausführlicher beschrieben. In einem Schritt 1201, der bei Initialisierung für das Empfangen von Zellen aus dem Netzwerk erfolgt, baut der Systemprozessor eine verknüpfte Liste von Bezeichnern für freie Zwischenspeicher im Systemspeicher auf. Jeder Zwischenspeicherbezeichner wird über einen Vorwärtszeiger mit dem nächsten verkettet. Der Treiber verwaltet einen Zeiger auf das Ende der Liste und zeichnet die Adresse des ersten Zwischenspeicherbezeichners am Beginn des Registers freier Listen (SRFL) im Steuer-/Datenprozessor des Adapters 403 auf. Wenn der Adapter aus dem Netzwerk 122 im einem Schritt 1203 eine ATM-Zelle empfängt, stellt er fest, ob die Zelle die erste eines Datenrahmens ist oder ob, in einem Schritt 1205, der aktuelle Systemzwischenspeicher voll ist. Eine "Nein"-Bedingung bringt die Zelle als Vorbereitung zu einem Schritt 1207, der danach ausgeführt wird, in einem Systemzwischenspeicher unter; der durch den ersten Bezeichner in der Liste freier Zwischenspeicher 212 definiert ist (siehe Fig. 2). Eine "Ja"-Bedingung benutzt die Adresse in der SRFL, um in einem Schritt 1207 die Adresse des nächsten freien Zwischenspeichers im Systemspeicher zu finden. In einem Schritt 1209 ermittelt der Einheitentreiber, ob der Zwischenspeicher der letzte auf der Liste freier Zwischenspeicher ist. Wenn eine "Ja"-Bedingung vorhanden ist, wird der Einheitentreiber benachrichtigt, und die Zelle wird in einem Schritt 1211 abgelegt. Wenn eine "Nein"-Bedingung .vorliegt, wird die SFRL mit dem Zeiger aus dem gerade erhaltenen Zwischenspeicher in einem Schritt 1213 aktualisiert. In einem Schritt 1215 ermittelt der Adapter 120, ob die empfangene Zelle die erste Zelle ist, wenn dies nicht der Fall ist, wird der Vorwärtszeiger des gerade abgeschlossenen Bezeichners mit der Systemspeicheradresse des gerade erhaltenen Bezeichners aktualisiert, und die Zelle wird in dem Zwischenspeicher untergebracht, der durch den Bezeichner in einem Schritt 1217 definiert wird. Der Vorgang wird wiederholt, bis in einem Schritt 1219 durch den Adapter die letzte Zelle gekennzeichnet worden ist. Der Adapter greift in einem Schritt 1221 für die Empfangsbereitschaftsliste, die zu dem logischen Kanal gehört, der sich auf die Zelle bezieht, auf den Steuer-/Datenspeicher zu. Der Adapter aktualisiert den Bezeichner, auf den durch den Inhalt des Registers der Empfangsbereitschaftslisten gezeigt wird, um auf den ersten Bezeichner des derzeit empfangenen Datenrahmens zu zeigen, womit in einem Schritt 1223 der gerade empfangene Datenrahmen mit der Empfangsbereitschaftsliste verknüpft wird. Das Register der Empfangsbereitschaftslisten 407 wird durch den Adapter aktualisiert, um in einem Schritt 1225 auf den letzten Zwischenspeicherbezeichner für den gerade empfangenen Datenrahmen zu zeigen, wonach der Vorgang zum Schritt 1203 zurückkehrt, um die nächste aus dem Netzwerk empfangene Zelle zu verarbeiten.
- Unter Hinwendung zu Fig. 13 wird der Übertragungsvorgang im Einheitentreiber und im Adapter zum Übertragen eines Datenrahmens an das Netzwerk beschrieben. Bei Initialisierung initialisiert in einem Schritt 1312 der Einheitentreiber (a) die Übertragungssteuerregister 405; richtet (b) eine Warteschlange der Übertragungsbereitschaft (TRQ) 501 im Steuer-/Datenspeicher 309 ein, die durch die Register TRQ_TOP, TRQ_BOT, TRQ_RD, TRQ_WRT und TRQ_BASE definiert sind; zeichnet (c) die letzte freie Bezeichneradresse abgeschlossener Übertragungen auf, die das Ende der Liste abgeschlossener Übertragungen im Systemspeicher anzeigt, und setzt (d) den TRQ-Aufzeichnungszeiger gleich mit dem TRQ-Lesezeiger, womit eine leere Warteschlange angezeigt wird. Der Treiber stellt in einem Schritt 1314 fest, ob ein Datenrahmen für eine Übertragung bereit ist. Eine "Nein"-Bedingung fährt mit dem Überwachen durch den Einheitentreiber nach einem Rahmen fort, der für die Übertragung bereit ist. Bei einer "Ja"-Bedingung, die anzeigt, dass ein Datenrahmen für eine Übertragung bereit ist, ermittelt der Einheitentreiber in einem Schritt 1316, ob die TRQ voll ist. Danach sendet der Treiber an die TRQ in einem Schritt 1318 eine Übertragungsanforderung und setzt in Schritt 1320 den Aufzeichnungszeiger der TRQ vor. Der Adapter überwacht in einem Schritt 1322 die TRQ, um festzustellen, wann in der TRQ 405 der Aufzeichnungszeiger der Übertragung gleich dem Lesezeiger der Übertragung ist. In einem Schritt 1324 erhält der Adapter aus dem Systemspeicher 116 den übertragungsbereiten Datenrahmen und überträgt den Datenrahmen an das ATM-Netzwerk 122. In einem Schritt 1326 legt der Adapter die Adresse des gerade übertragenen Datenrahmenbezeichners in den Vorwärtszeiger des Bezeichners, auf den durch den Zeiger der Liste abgeschlossener Übertragungen des Registers der letzten freien Bezeichneradresse (TCL-LFDA) gezeigt worden ist, indem die Bezeichner mit der Liste abgeschlossener Übertragungen verknüpft werden. In einem Schritt 1328 aktualisiert der Adapter das Register TCL-LFDA mit der Adresse der gerade übertragenen Bezeichneradresse und setzt den Lesezeiger der Warteschlange der Übertragungsbereitschaft vor, um beim Schritt 1322 die nächste Folge einer Datenrahmenübertragung auszulösen.
- Zusammenfassend gesagt wird durch Segmentieren von Datenrahmen in Zellen und erneutes Zusammensetzen von Zellen zu Datenrahmen, das im Wesentlichen von einem Einheitentreiber unabhängig ist, bis ein Datenrahmen an das Netzwerk übertragen worden ist oder im System empfangen worden ist, der Adapter/Einheitentreiber in einem gemultiplexten Hochgeschwindigkeits-ATM-Netzwerk leistungsfähiger. Weiterhin ist unter Verwendung von Empfangsbereitschaftslisten und Übertragungsbereitschafts-Warteschlangen der Einheitentreiber in der Lage, mit einer einzigen Unterbrechung mehrere Datenrahmen zu verarbeiten. Es können einer Empfangsbereitschaftsliste Datenrahmen hinzugefügt werden, während vom Adapter unter Verwendung der Warteschlange für die Übertragungsbereitschaft Datenrahmen übertragen werden. Der Systemspeicher wird geleert, wenn Datenrahmen entsprechend der Liste freier Zwischenspeicher übertragen werden, die vom Adapter aktualisiert wird. Das Verarbeiten von Zellen und Datenrahmen unter Verwendung von Bezeichnern (Deskriptoren) vermeidet die Notwendigkeit von Partitionen im Systemspeicher.
Claims (12)
1. ATM-Übertragungsnetzwerk (122) mit einem Systemprozessor
(112), der einen Einheitentreiber (128), einen
Systemspeicher (116) und einen Adapter (120) enthält, die
für eine gesteigerte Verarbeitungsleistung des Systems und
eine bessere Speicherausnützung an einer Schnittstelle
(118) miteinander verbunden sind, wobei das System
Folgendes aufweist:
a) einen Adapterprozessor (305) und Steuerspeichermittel
(309), die in dem Adapter (120) enthalten sind,
b) Mittel zum Einrichten von Registern für Sende- und
Empfangssteuerung (405, 407) in dem Steuerspeicher
(309); und
c) Mittel (301), um Datenzellen aus dem Netzwerk zu
empfangen, um sie als Datenrahmen in
Empfangsbereitschaftslisten im Systemspeicher (116)
zu speichern;
dadurch gekennzeichnet, dass:
d) der Einheitentreiber (128) in der Lage ist, in dem
Steuerspeicher (309) eine Übertragungsbereitschafts-
Warteschlange (TRQ) einzurichten; wobei die TRQ
Datenrahmen zur Übertragung kennzeichnet, die durch
Verweis auf logische Kanäle in Listen von Datenrahmen
verknüpft sind, wobei deren Zellen mit Zellen von
Datenrahmen verschachtelt sind, die schon übertragen
worden sind, damit es dem Einheitentreiber (128)
ermöglicht wird, mehrere Datenrahmen zur asynchronen
Übertragung in eine Warteschlange einzureihen,
während der Adapter (120) vorhandene Datenrahmen
verarbeitet;
e) der Adapter (120) in der Lage ist, im Systemspeicher
(116) eine Liste von Bezeichnern (250) von
Übertragungsrahmen einzurichten, die Vorwärtszeiger
(256) von Listen abgeschlossener Übertragungsvorgänge
(TCL) enthalten, so dass, wenn der Adapter (120) die
Übertragung jedes Datenrahmens beendet, der neu
abgeschlossene Datenrahmenbezeichner mit der Liste
abgeschlossener Übertragungen (TCL) verknüpft wird,
wobei der (TCL)-Vorwärtszeiger (256) so benutzt wird,
dass er eine asynchrone Schnittstelle zwischen dem
Adapter (120) und dem Einheitentreiber (128)
bereitstellt; und
f) Mittel zum Erzeugen einer Unterbrechung am
Einheitentreiber (128), mit welcher der Abschluss
einer Datenrahmenübertragung angezeigt wird und die
TCL aktualisiert wird, indem der TCL-Vorwärtszeiger
(256) für den letzten Datenrahmenbezeichner des
neuerlich verknüpften Datenrahmens gesetzt wird, um
das Ende der TCL anzuzeigen.
2. Übertragungsnetzwerk nach Anspruch 1, das weiterhin
Folgendes umfasst:
a) Mittel zum Einrichten einer Liste von
empfangsbereiten Zwischenspeichern, um
Empfangszwischenspeicher
(202) im Systemspeicher
(116) zum Speichern von Datenzellen zu kennzeichnen,
die aus dem Netzwerk empfangen wurden;
b) Mittel, um den Anfang der Liste von empfangsbereiten
Zwischenspeichern ausfindig zu machen; und
c) Mittel, um das Ende der Liste von empfangsbereiten
Zwischenspeichern anzuzeigen.
3. Übertragungsnetzwerk nach Anspruch 1 oder 2, das weiterhin
Folgendes umfasst:
Mittel zum Einrichten von Empfangsbereitschaftslisten, die
Zwischenspeicherbezeichner (200) für abgeschlossene
Datenrahmen enthalten.
4. Übertragungsnetzwerk nach einem beliebigen vorhergehenden
Anspruch, das weiterhin Folgendes umfasst:
Mittel zum Erzeugen einer Unterbrechung am
Einheitentreiber (128), mit der angezeigt wird, dass sich
ein oder mehrere abgeschlossene Datenrahmen in der Liste
bereits empfangener Daten befinden.
5. Übertragungsnetzwerk nach einem beliebigen vorhergehenden
Anspruch, wobei die Warteschlange für
Übertragungsbereitschaft (TRQ) im Steuerspeicher (309)
durch ein Bezugsregister definiert wird, das eine oberste
Adresse, eine unterste Adresse, einen Schreibzeiger und
einen Lesezeiger hat.
6. Übertragungsnetzwerk nach einem beliebigen vorhergehenden
Anspruch, bei dem der Adapterprozessor (305) einen Sende-
Unterprozessor (401) und einen Empfangs-Unterprozessor
(403) enthält, wobei der Sende-Unterprozessor (401) Daten
aus dem Systemspeicher (116) für das Senden an das
Netzwerk abruft und der Empfangs-Unterprozessor (403)
Daten an den Systemspeicher (116) überträgt.
7. Übertragungsnetzwerk nach einem beliebigen vorhergehenden
Anspruch, das einen Anfang des Registers der Liste
empfangsbereiter Zwischenspeicher und eine Vielzahl von
Empfangssteuerregistern im Steuerspeicher (309) enthält.
8. Übertragungsnetzwerk nach einem beliebigen vorhergehenden
Anspruch, das weiterhin ein Liste empfangsbereiter
Zwischenspeicher und Zeiger auf das Ende der Liste der
Zwischenspeicher enthält, die sich im Systemspeicher (116)
befinden.
9. Übertragungsnetzwerk nach einem beliebigen vorhergehenden
Anspruch, das weiterhin ein Tabelle der Nummern logischer
Kanäle im Steuerspeicher (309) enthält, um
Datenrahmenadressen und -Bezeichner mit Einträgen in der
TRQ in Verbindung zu bringen.
10. Übertragungsnetzwerk nach einem beliebigen vorhergehenden
Anspruch, das weiterhin ein Statusregister für
Systemunterbrechungen im Steuerspeicher (309) enthält, das
am Prozessor (112) eine Unterbrechung auslöst, wenn in dem
Register ein Bit für die Empfangsbereitschaftsliste
gesetzt ist.
11. Verfahren zum Erhöhen der Verarbeitungsleistung und
Speicherausnutzung eines Systems in einem ATM-
Übertragungsnetzwerk mit einem Systemprozessor (112), der
einen Einheitentreiber (128), einen Systemspeicher (116)
und einen Adapter (120) enthält, die für eine erhöhte
Verarbeitungsleistung und Speicherausnutzung des Systems
an einer Schnittstelle (118) miteinander verbunden sind,
wobei das Verfahren die folgenden Schritte umfasst:
a) Einrichten von Sende- und Empfangssteuerregistern
(405, 407) in einem Steuerspeicher (309) des Adapters
(120); und
b) Empfangen von Datenzellen vom Netzwerk zum Speichern
als Datenrahmen in Empfangsbereitschaftslisten im
Systemspeicher (116);
dadurch gekennzeichnet, dass:
c) mit Hilfe des Einheitentreibers (128) im
Steuerspeicher (309) eine Sendebereitschafts-
Warteschlange (TRQ) eingerichtet wird; dabei
kennzeichnet die TQR Datenrahmen zur Übertragung, die
durch den Bezug auf logische Kanäle verknüpft ist, in
Listen von Datenrahmen, deren Zellen mit Zellen von
Datenrahmen verschachtelt sind, die schon übertragen
worden sind, so dass es dem Einheitentreiber (128)
gestattet ist, mehrere Datenrahmen in einer
Warteschlange zum asynchronen Überträgen einzureihen,
während der Adapter (120) vorhandene Datenrahmen
verarbeitet;
d) Benutzen des Adapters (120), um im Systemspeicher
(116) eine Liste von Bezeichnern von
Übertragungsdatenrahmen (250) einzurichten, die
Vorwärtszeiger auf die Liste von abgeschlossenen
Sendevorgängen (TCL) enthält, so dass, wenn der
Adapter (120) das Senden jedes Datenrahmens
abschließt, der erneut abgeschlossene
Datenrahmenbezeichner mit der Liste von
abgeschlossenen Sendevorgängen (TCL) unter Verwendung
des (TCL)-Vorwärtszeigers (256) verknüpft wird und
auf diese Weise eine asynchrone Schnittstelle
zwischen dem Adapter (120) und dem Einheitentreiber
(128) bereitstellt; und
e) Erzeugen einer Unterbrechung am Einheitentreiber
(128), die den Abschluss des Sendens des Datenrahmens
anzeigt, und Aktualisieren der TCL durch Setzen des
TCL-Vorwärtszeigers (256) für den letzten
Datenrahmenbezeichner des erneut verknüpften
Datenrahmens, um das Ende der TCL anzuzeigen.
12. Verfahren nach Anspruch 11, das weiterhin den folgenden
Schritt umfasst:
a) Aufzeichnen der Adresse des letzten bedienten
Datenrahmenbezeichners im Systemspeicher (116) in
einem Register der letzten freien Bezeichneradresse
(TCL-LFDA).
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US08/515,183 US5606559A (en) | 1995-08-11 | 1995-08-11 | System and method for an efficient ATM adapter/device driver interface |
Publications (2)
Publication Number | Publication Date |
---|---|
DE69624088D1 DE69624088D1 (de) | 2002-11-07 |
DE69624088T2 true DE69624088T2 (de) | 2003-06-18 |
Family
ID=24050288
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE69624088T Expired - Fee Related DE69624088T2 (de) | 1995-08-11 | 1996-07-22 | System und Verfahren für eine effiziente Schnittstelle zur ATM-Anpassung und Gerätebetrieb |
Country Status (5)
Country | Link |
---|---|
US (1) | US5606559A (de) |
EP (1) | EP0792081B1 (de) |
JP (1) | JP3138214B2 (de) |
KR (1) | KR100221378B1 (de) |
DE (1) | DE69624088T2 (de) |
Families Citing this family (69)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5446726A (en) * | 1993-10-20 | 1995-08-29 | Lsi Logic Corporation | Error detection and correction apparatus for an asynchronous transfer mode (ATM) network device |
EP0746174B1 (de) * | 1995-05-31 | 2007-08-08 | Siemens Aktiengesellschaft | Verfahren zum Realisieren logischer Kommunikationspartner in Kommunikationssystemen |
US5845153A (en) * | 1995-07-07 | 1998-12-01 | Integrated Device Technology, Inc. | Memory interface for asynchronous transfer mode segmentation and reassembly circuit |
US5809024A (en) * | 1995-07-12 | 1998-09-15 | Bay Networks, Inc. | Memory architecture for a local area network module in an ATM switch |
US5781799A (en) * | 1995-09-29 | 1998-07-14 | Cirrus Logic, Inc. | DMA controller arrangement having plurality of DMA controllers and buffer pool having plurality of buffers accessible to each of the channels of the controllers |
US5765023A (en) * | 1995-09-29 | 1998-06-09 | Cirrus Logic, Inc. | DMA controller having multiple channels and buffer pool having plurality of buffers accessible to each channel for buffering data transferred to and from host computer |
US5848293A (en) * | 1995-11-03 | 1998-12-08 | Sun Microsystems, Inc. | Method and apparatus for transmission and processing of virtual commands |
US5974466A (en) | 1995-12-28 | 1999-10-26 | Hitachi, Ltd. | ATM controller and ATM communication control device |
US7577782B2 (en) * | 1996-02-02 | 2009-08-18 | Sony Corporation | Application programming interface for data transfer and bus management over a bus structure |
US5982749A (en) * | 1996-03-07 | 1999-11-09 | Lsi Logic Corporation | ATM communication system interconnect/termination unit |
US6519268B1 (en) * | 1996-03-07 | 2003-02-11 | Sony Corporation | Asynchronous data pipe for automatically managing asynchronous data transfers between an application and a bus structure |
US5841772A (en) * | 1996-03-07 | 1998-11-24 | Lsi Logic Corporation | ATM communication system interconnect/termination unit |
US5848068A (en) * | 1996-03-07 | 1998-12-08 | Lsi Logic Corporation | ATM communication system interconnect/termination unit |
US6535512B1 (en) | 1996-03-07 | 2003-03-18 | Lsi Logic Corporation | ATM communication system interconnect/termination unit |
US5920561A (en) * | 1996-03-07 | 1999-07-06 | Lsi Logic Corporation | ATM communication system interconnect/termination unit |
US5764896A (en) * | 1996-06-28 | 1998-06-09 | Compaq Computer Corporation | Method and system for reducing transfer latency when transferring data from a network to a computer system |
US5966546A (en) | 1996-09-12 | 1999-10-12 | Cabletron Systems, Inc. | Method and apparatus for performing TX raw cell status report frequency and interrupt frequency mitigation in a network node |
US5970229A (en) * | 1996-09-12 | 1999-10-19 | Cabletron Systems, Inc. | Apparatus and method for performing look-ahead scheduling of DMA transfers of data from a host memory to a transmit buffer memory |
US5941952A (en) * | 1996-09-12 | 1999-08-24 | Cabletron Systems, Inc. | Apparatus and method for transferring data from a transmit buffer memory at a particular rate |
US5995995A (en) * | 1996-09-12 | 1999-11-30 | Cabletron Systems, Inc. | Apparatus and method for scheduling virtual circuit data for DMA from a host memory to a transmit buffer memory |
US5999980A (en) * | 1996-09-12 | 1999-12-07 | Cabletron Systems, Inc. | Apparatus and method for setting a congestion indicate bit in an backwards RM cell on an ATM network |
US5922046A (en) * | 1996-09-12 | 1999-07-13 | Cabletron Systems, Inc. | Method and apparatus for avoiding control reads in a network node |
JP3610193B2 (ja) * | 1997-06-26 | 2005-01-12 | 株式会社日立製作所 | Atmコントローラおよびそれを用いたatm通信制御装置 |
US6393483B1 (en) * | 1997-06-30 | 2002-05-21 | Adaptec, Inc. | Method and apparatus for network interface card load balancing and port aggregation |
US6021446A (en) * | 1997-07-11 | 2000-02-01 | Sun Microsystems, Inc. | Network device driver performing initial packet processing within high priority hardware interrupt service routine and then finishing processing within low priority software interrupt service routine |
KR100251779B1 (ko) | 1997-07-25 | 2000-04-15 | 윤종용 | 피디에이취망과 에이티엠망 사이의 인터페이스 장치 |
US6212593B1 (en) * | 1998-06-01 | 2001-04-03 | Advanced Micro Devices, Inc. | Method and apparatus for generating interrupts on a buffer by buffer basis in buffer descriptor ring direct memory access system |
US6667978B1 (en) * | 1998-07-09 | 2003-12-23 | International Business Machines Corporation | Apparatus and method for reassembling frame data into stream data |
US6229538B1 (en) | 1998-09-11 | 2001-05-08 | Compaq Computer Corporation | Port-centric graphic representations of network controllers |
US6381218B1 (en) | 1998-09-11 | 2002-04-30 | Compaq Computer Corporation | Network controller system that uses directed heartbeat packets |
US6272113B1 (en) | 1998-09-11 | 2001-08-07 | Compaq Computer Corporation | Network controller system that uses multicast heartbeat packets |
GB9821763D0 (en) | 1998-10-06 | 1998-12-02 | Sgs Thomson Microelectronics | Data transfer |
GB9821770D0 (en) | 1998-10-06 | 1998-12-02 | Sgs Thomson Microelectronics | Data transfer |
GB9821762D0 (en) * | 1998-10-06 | 1998-12-02 | Sgs Thomson Microelectronics | Data transfer |
GB9821766D0 (en) | 1998-10-06 | 1998-12-02 | Sgs Thomson Microelectronics | Data transfer |
GB9821768D0 (en) | 1998-10-06 | 1998-12-02 | Sgs Thomson Microelectronics | Data transfer |
GB9821800D0 (en) | 1998-10-06 | 1998-12-02 | Sgs Thomson Microelectronics | Data transfer |
GB9821792D0 (en) | 1998-10-06 | 1998-12-02 | Sgs Thomson Microelectronics | Data transfer |
GB9821789D0 (en) | 1998-10-06 | 1998-12-02 | Sgs Thomson Microelectronics | Jitter handling |
GB9821791D0 (en) | 1998-10-06 | 1998-12-02 | Sgs Thomson Microelectronics | Data transfer |
US6862635B1 (en) * | 1998-11-13 | 2005-03-01 | Cray Inc. | Synchronization techniques in a multithreaded environment |
KR100323770B1 (ko) * | 1999-03-08 | 2002-02-19 | 서평원 | 멀티캐스트 서비스를 위한 채널 구조 및 이를 이용한 서비스 운용 방법 |
US6888830B1 (en) * | 1999-08-17 | 2005-05-03 | Mindspeed Technologies, Inc. | Integrated circuit that processes communication packets with scheduler circuitry that executes scheduling algorithms based on cached scheduling parameters |
JP3387464B2 (ja) | 1999-11-25 | 2003-03-17 | 日本電気株式会社 | 通信制御システムとその制御方法 |
US6965603B1 (en) | 2000-03-20 | 2005-11-15 | Cortina Systems, Inc. | Circuits for combining ATM and packet data on an optical fiber |
US6810039B1 (en) | 2000-03-30 | 2004-10-26 | Azanda Network Devices, Inc. | Processor-based architecture for facilitating integrated data transfer between both atm and packet traffic with a packet bus or packet link, including bidirectional atm-to-packet functionally for atm traffic |
US6751214B1 (en) | 2000-03-30 | 2004-06-15 | Azanda Network Devices, Inc. | Methods and apparatus for dynamically allocating bandwidth between ATM cells and packets |
US6751224B1 (en) | 2000-03-30 | 2004-06-15 | Azanda Network Devices, Inc. | Integrated ATM/packet segmentation-and-reassembly engine for handling both packet and ATM input data and for outputting both ATM and packet data |
US6813729B1 (en) | 2000-06-15 | 2004-11-02 | Advanced Micro Devices, Inc. | Programmable bi-directional MII testing methodology and device including same |
US6937571B1 (en) | 2000-06-19 | 2005-08-30 | Advanced Micro Devices, Inc. | Method of testing a network device through a medium independent interface (MII) |
US6978318B1 (en) | 2000-06-19 | 2005-12-20 | Advanced Micro Devices, Inc. | Network interface apparatus and method of internal communication within the same |
US7107378B1 (en) * | 2000-09-01 | 2006-09-12 | Sandisk Corporation | Cooperative interconnection and operation of a non-volatile memory card and an input-output card |
US7243075B1 (en) * | 2000-10-03 | 2007-07-10 | Shaffer James D | Real-time process for defining, processing and delivering a highly customized contact list over a network |
SI20398A (sl) * | 2000-12-08 | 2001-04-30 | Daisy Technologies Inc. | Postopek in priprava za prenos podatkovnih in govornih paketov med paketnim in sinhronim omrežjem |
FR2818066B1 (fr) * | 2000-12-12 | 2003-10-10 | Eads Airbus Sa | Procede et dispositif de transmission deterministe de donnees asynchrones mises en paquet |
KR100455041B1 (ko) * | 2000-12-22 | 2004-11-08 | 엘지전자 주식회사 | 에이티엠 채널을 예약 및 설정하는 에이티엠 디바이스드라이버 및 방법 |
KR100428859B1 (ko) * | 2001-04-27 | 2004-04-28 | 주식회사 현대시스콤 | 이동 통신 교환기의 파일 시스템에서 파일 생성/제거 속도향상 방법 |
WO2003088021A2 (en) | 2002-04-08 | 2003-10-23 | Socket Communications, Inc | Wireless enabled memory module |
US7089486B1 (en) * | 2002-08-16 | 2006-08-08 | Juniper Networks, Inc. | Context switching for on-the-fly processing of fragmented frames |
US7367503B2 (en) | 2002-11-13 | 2008-05-06 | Sandisk Corporation | Universal non-volatile memory card used with various different standard cards containing a memory controller |
US20050055479A1 (en) * | 2002-11-21 | 2005-03-10 | Aviad Zer | Multi-module circuit card with inter-module direct memory access |
US8037229B2 (en) | 2002-11-21 | 2011-10-11 | Sandisk Technologies Inc. | Combination non-volatile memory and input-output card with direct memory access |
US7305535B2 (en) * | 2003-04-17 | 2007-12-04 | Sandisk Corporation | Memory cards including a standard security function |
US7209995B2 (en) * | 2003-12-09 | 2007-04-24 | Sandisk Corporation | Efficient connection between modules of removable electronic circuit cards |
US20060140203A1 (en) * | 2004-12-28 | 2006-06-29 | Sanjeev Jain | System and method for packet queuing |
US20060179392A1 (en) * | 2005-02-08 | 2006-08-10 | Takaaki Ota | Handshakeless retransmission protocol |
US8402172B2 (en) * | 2006-12-22 | 2013-03-19 | Hewlett-Packard Development Company, L.P. | Processing an input/output request on a multiprocessor system |
US7657664B2 (en) * | 2007-03-08 | 2010-02-02 | International Business Machines Corporation | Method and system for tracking device driver requests |
WO2011001259A1 (en) * | 2009-06-30 | 2011-01-06 | Nokia Corporation | Method and apparatus for providing mobile device interoperability |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4422171A (en) * | 1980-12-29 | 1983-12-20 | Allied Corporation, Law Department | Method and system for data communication |
DE68919856T2 (de) * | 1989-08-09 | 1995-05-18 | Alcatel Nv | Nachrichtenvermittlungselement zur übertragung von zellen unterteilt in teilzellen. |
US5136584A (en) * | 1990-07-11 | 1992-08-04 | At&T Bell Laboratories | Hardware interface to a high-speed multiplexed link |
US5274768A (en) * | 1991-05-28 | 1993-12-28 | The Trustees Of The University Of Pennsylvania | High-performance host interface for ATM networks |
JPH04369942A (ja) * | 1991-06-19 | 1992-12-22 | Hitachi Ltd | データ通信システム |
FR2701180B1 (fr) * | 1993-01-29 | 1995-03-10 | Cit Alcatel | Dispositif de cellulisation et dispositif de décellulisation de voies numériques synchromes, centre de commutation de voies numériques synchrones, et centre de commutation de voies numériques asynchrones. |
US5524113A (en) * | 1993-08-30 | 1996-06-04 | Washington University | ATM switch interface |
-
1995
- 1995-08-11 US US08/515,183 patent/US5606559A/en not_active Expired - Fee Related
-
1996
- 1996-07-15 JP JP18465696A patent/JP3138214B2/ja not_active Expired - Fee Related
- 1996-07-15 KR KR1019960028557A patent/KR100221378B1/ko not_active IP Right Cessation
- 1996-07-22 DE DE69624088T patent/DE69624088T2/de not_active Expired - Fee Related
- 1996-07-22 EP EP96305342A patent/EP0792081B1/de not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
EP0792081A2 (de) | 1997-08-27 |
EP0792081B1 (de) | 2002-10-02 |
KR100221378B1 (ko) | 1999-09-15 |
JPH0955755A (ja) | 1997-02-25 |
EP0792081A3 (de) | 1999-06-16 |
KR980013142A (ko) | 1998-04-30 |
JP3138214B2 (ja) | 2001-02-26 |
DE69624088D1 (de) | 2002-11-07 |
US5606559A (en) | 1997-02-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE69624088T2 (de) | System und Verfahren für eine effiziente Schnittstelle zur ATM-Anpassung und Gerätebetrieb | |
DE69935608T2 (de) | Verfahren und system zur multiprotokoll-konversionshilfe für einen netzbeschleuniger | |
DE69533533T2 (de) | Kommunikationssystem, Server und Verfahren zur Adressenverwaltung | |
DE69430945T2 (de) | Schnelle Paketvermittlungsnetze | |
DE69533425T2 (de) | Atm anpassungseinrichtung für desktop anwendungen | |
DE69232247T2 (de) | Vermittlungsknoten in einem Netz mit Etikett-Multiplexinformation | |
DE68926650T2 (de) | Hochgeschwindigkeitspaketvermittlungsknotenentwurf | |
DE69322125T2 (de) | Verfahren zur Implementierung eines Protokollstapels für Datenkommunikation | |
DE69025713T2 (de) | Dynamische Fensterbestimmung in einem Datennetzwerk | |
DE69413740T2 (de) | Arbitrierungsverfahren zur Datenflusssteuerung durch ein E/A-Steuergerät | |
DE69838601T2 (de) | Verfahren und Vorrichtung zum Erweitern eines on-chip FIFOs in einem lokalen Speicher | |
DE69630084T2 (de) | Anlage und Verfahren zur Paketierung und Segmentierung von MPEG-Paketen | |
DE69305734T2 (de) | Programmierbare hochleistungsfähige Datenkommunikationsanpassung für Hochgeschwindigkeits-Paketübertragungsnetzwerke | |
DE602005003142T2 (de) | Vorrichtung und verfahren zur unterstützung von verbindungsherstellung in einem offload der netzwerkprotokollverarbeitung | |
DE69131224T2 (de) | Zeitzuteilungsverfahren und Vorrichtung für Datenkanal | |
DE60038448T2 (de) | Vorrichtung und verfahren zur hardware-ausführung oder hardware-beschleunigung von betriebssystemfunktionen | |
DE3850881T2 (de) | Verfahren und Vorrichtung zur Nachrichtenübertragung zwischen Quellen- und Zielanwender durch einen anteilig genutzten Speicher. | |
DE60110760T2 (de) | Auslese-ablaufsteuerung für nicht aufeinander-folgende daten | |
DE69031266T2 (de) | Übertragungsarchitektur für Hochgeschwindigkeitsnetzwerk | |
DE60026676T2 (de) | Paketklassifizierungsautomat | |
DE69826930T2 (de) | System und Verfahren zur wirksamen Fernplatte Ein-/Ausgabe | |
DE69931919T2 (de) | Systeme und verfahren zur on-chip-speicherung von virtuellen verbindungsdeskriptoren | |
DE69431846T2 (de) | System für asynchronen datentransfer und steuerung des quellenverkehrs | |
DE19947430A1 (de) | Datenpaket-Verarbeitungsvorrichtung und -verfahren sowie Datenpaket-Vermittlung | |
DE69738386T2 (de) | Verbesserungen in oder sich beziehend auf eine ATM-Vermittlungsstelle |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8364 | No opposition during term of opposition | ||
8339 | Ceased/non-payment of the annual fee |