[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

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ätebetrieb

Info

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
Application number
DE69624088T
Other languages
English (en)
Other versions
DE69624088D1 (de
Inventor
Ryan Lance Badger
Kenneth James Barker
Paul Henry Nichols
Russell Evan Schroter
John Kenneth Stacy
Mark Crane Wartski
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of DE69624088D1 publication Critical patent/DE69624088D1/de
Application granted granted Critical
Publication of DE69624088T2 publication Critical patent/DE69624088T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q11/00Selecting arrangements for multiplex systems
    • H04Q11/04Selecting arrangements for multiplex systems for time-division multiplexing
    • H04Q11/0428Integrated services digital network, i.e. systems for transmission of different types of digitised signals, e.g. speech, data, telecentral, television signals
    • H04Q11/0478Provisions for broadband connections
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5614User Network Interface
    • H04L2012/5615Network termination, e.g. NT1, NT2, PBX
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5614User Network Interface
    • H04L2012/5616Terminal equipment, e.g. codecs, synch.
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5638Services, e.g. multimedia, GOS, QOS
    • H04L2012/5646Cell characteristics, e.g. loss, delay, jitter, sequence integrity
    • H04L2012/5652Cell construction, e.g. including header, packetisation, depacketisation, assembly, reassembly
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5678Traffic aspects, e.g. arbitration, load balancing, smoothing, buffer management
    • H04L2012/5681Buffer or queue management

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Communication Control (AREA)

Description

    ZUGEHÖRIGE ANMELDUNGEN
  • 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.
  • GRUNDLAGEN DER ERFINDUNG Gebiet der Erfindung
  • 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.
  • Beschreibung des Standes des Technik
  • 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.
  • BESCHREIBUNG DER ZEICHNUNGEN
  • 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.
  • BESCHREIBUNG DER BEVORZUGTEN AUSFÜHRUNGSFORMEN
  • 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).
DE69624088T 1995-08-11 1996-07-22 System und Verfahren für eine effiziente Schnittstelle zur ATM-Anpassung und Gerätebetrieb Expired - Fee Related DE69624088T2 (de)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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