DE69228758T2 - Verfahren und vorrichtung zur paketverarbeitung - Google Patents

Verfahren und vorrichtung zur paketverarbeitung

Info

Publication number
DE69228758T2
DE69228758T2 DE69228758T DE69228758T DE69228758T2 DE 69228758 T2 DE69228758 T2 DE 69228758T2 DE 69228758 T DE69228758 T DE 69228758T DE 69228758 T DE69228758 T DE 69228758T DE 69228758 T2 DE69228758 T2 DE 69228758T2
Authority
DE
Germany
Prior art keywords
data
data packet
header
cache memory
memory
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
DE69228758T
Other languages
English (en)
Other versions
DE69228758D1 (de
Inventor
Edward Harriman
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.)
Nortel Networks NA Inc
Original Assignee
Bay Networks Inc
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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=25092923&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=DE69228758(T2) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Bay Networks Inc filed Critical Bay Networks Inc
Publication of DE69228758D1 publication Critical patent/DE69228758D1/de
Application granted granted Critical
Publication of DE69228758T2 publication Critical patent/DE69228758T2/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
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/9047Buffering arrangements including multiple buffers, e.g. buffer pools
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/901Buffering arrangements using storage descriptor, e.g. read or write pointers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/9042Separate storage for different parts of the packet, e.g. header and payload
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2207/00Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/38Indexing scheme relating to groups G06F7/38 - G06F7/575
    • G06F2207/3804Details
    • G06F2207/3808Details concerning the type of numbers or the way they are handled
    • G06F2207/3832Less usual number representations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Computing Systems (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Small-Scale Networks (AREA)

Description

    Hintergrund der Erfindung
  • Die Erfindung betrifft im allgemeinen ein Verfahren und eine Vorrichtung zur Datenkommunikation; insbesondere ein Verfahren und eine Vorrichtung zum Verarbeiten und Übertragen von Datenpaketen in einem Brücken- oder Router-Schaltkreis.
  • Da der Durchsatz von Netzwerken in den letzten Jahren beträchtlich angestiegen ist, so daß ein Standard-FDDI-Netzwerk zur Zeit mit einhundert Megabit pro Sekunde arbeitet, tritt ein potentieller Engpaß auf, wenn Datenpakete zwischen zwei Netzwerken, zum Beispiel unter Verwendung einer Brücken- oder Router-Schaltungsanordnung, übertragen werden müssen. Die Schaltungsanordnung muß nicht einfach nur schnell genug sein, um die Datenpakete weiterzuleiten, sondern sie muß zusätzlich die Kopfbereiche der Datenpakete verarbeiten, so daß ein neuer Kopfbereich, der zum Beispiel das nächste Routing-Ziel identifiziert, erzeugt werden kann und den Paketdaten vorangestellt werden kann. Die resultierende "Belastung" für die Brücken- oder Router-CPU und für die Steuerungssoftware kann beträchtlich sein. Da das Datenpaket typischerweise in einem DRAM-Speicher abgespeichert ist, kann sich insbesondere der konstante Zugriff der CPU auf das gespeicherte Paket, um bestimmte erforderliche Informationen zu erhalten, als Engpaß in dem System erweisen. Eine offensichtliche Lösung für das Engpaßproblem ist, das gesamte Datenpaket in einem statischen Hochgeschwindigkeitsspeicher abzuspeichern. Dies wirft aber erhebliche Kostenprobleme auf, da statische Hochgeschwindigkeitsspeicher relativ teuer sind; und dementsprechend würde ein Speicher mit einem großen Fassungsvermögen, der zum Speichern vieler Datenpakete fähig wäre, den Hauptanteil an den Kosten für ein Produkt bilden.
  • Daher ist es eine Aufgabe der Erfindung die Durchsatzverarbeitung von Datenpaketen zu erhöhen, ohne die Speicherkosten stark anzuheben, während die Systemzuverlässigkeit erhalten bleibt. Eine andere Aufgabe der Erfindung ist der Hochgeschwindigkeitszugriff auf die Datenpaketinformationen.
  • EP-A-0405990 beschreibt einen Routing-Switch, wobei der Kopfbereich eines Nachrichtenpakets von einem Puffer empfangen wird, bevor das gesamte Paket empfangen wird, wobei das Ziel des Nachrichtenpakets bestimmt wird und der Nachrichtenteil direkt durch den Switch hindurch übertragen wird, ohne den Kopfbereich oder den Nachrichtenteil des Nachrichtenpakets zu speichern.
  • Zusammenfassung der Erfindung
  • Gemäß einem ersten Aspekt der Erfindung wird ein Verfahren zur Verarbeitung eines Datenpakets geschaffen für die Zuführung zu einem bestimmten Ziel, wobei das Datenpaket ein ausgewähltes Protokoll sowie einen Kopfbereich und einen Restbereich aufweist, wobei der Kopfbereich des Datenpakets wenigstens Zielidentifizierungsdaten, Protokolldaten und/oder Quellidentifizierungsdaten aufweist, wobei das Verfahren folgende Schritte aufweist: Empfangen aufeinanderfolgender Datenpakete von einem Datenquellkanal, Abspeichern wenigstens eines Teils des Kopfbereichs eines jeden Datenpakets in einem Hochgeschwindigkeitsdatencache-Speicher, Abspeichern wenigstens des Restbereichs jedes Datenpakets in einem Speicher mit geringerer Geschwindigkeit, Zugreifen auf jeden Kopfbereich eines jeden Datenpakets in dem Hochgeschwindigkeitscache- Speicher zur Protokollverarbeitung und Zielverarbeitung eines jeden Datenpakets, und Weiterleiten eines neuen Datenpakets zu einem nächsten Datenpaketziel basierend auf dem bestimmten Protokoll und der Zielverarbeitung des Datenpakets.
  • Gemäß einem zweiten Aspekt der Erfindung wird ein Verfahren zum Verarbeiten eines Datenpakets geschaffen zum Zuführen zu einem bestimmten Ziel, wobei das Datenpaket ein ausgewähltes Protokoll sowie einen Kopfbereich und einen Restbereich aufweist, wobei der Kopfbereich des Datenpakets wenigstens Zielidentifizierungsdaten, Protokolldaten und/oder Quellidentifizierungsdaten aufweist, wobei das Verfahren folgende Schritte aufweist: Empfangen aufeinanderfolgender Datenpakete von einem Datenquellkanal, Abspeichern nicht aneinander angrenzender Bereiche des Kopfbereichs eines jeden Datenpakets in einem Hochgeschwindigkeitsdatencache- Speicher, Abspeichern wenigstens des Restbereichs eines jeden Datenpakets in einem Speicher mit geringerer Geschwindigkeit, Auswählen von Bereichen des Kopfbereichs eines jeden Datenpakets zum Abspeichern in dem Hochgeschwindigkeitsdatencache-Speicher abhängig von der Adresse in dem Speicher mit geringerer Geschwindigkeit, an der der zugeordnete Restbereich abgespeichert ist, Erfassen der Adresse in dem Hochgeschwindigkeitsdatencache-Speicher, an der der ausgewählte Bereich abgespeichert ist, der dem zugeordneten Restbereich entspricht, mittels einer Adresse in dem Speicher mit geringerer Geschwindigkeit, an der der Restbereich eines jeden Datenpakets abgespeichert ist, Zugreifen auf den Kopfbereich eines jeden Datenpakets in dem Hochgeschwindigkeitsdatencache-Speicher für Protokollverarbeitung und Zielverarbeitung des Datenpakets, wobei der Schritt des Zugreifens aufweist: Bereitstellen eines Zugangs über mehrere Schnittstellen zu dem Hochgeschwindigkeitsdatencache-Speicher von wenigstens einem Eingangs- /Ausgangsdatenbus und einem auf einer CPU basierenden Prozessor, Lesen des abgespeicherten Kopfbereichs direkt von dem Hochgeschwindigkeitsdatencache-Speicher mithilfe des Prozessors, und Schreiben in dem Hochgeschwindigkeitsdatencache-Speicher von dem Prozessor zum Modifizieren des Kopfbereichs und Weiterleiten eines neuen Datenpakets zu einem nächsten Datenpaketziel basierend auf dem bestimmten Protokoll und der Zielverarbeitung des Datenpakets.
  • Gemäß einem ersten Vorrichtungsaspekt der Erfindung wird eine Vorrichtung für die Verarbeitung eines Datenpakets geschaffen für die Zuführung zu einem bestimmten Ziel, wobei das Datenpaket ein ausgewähltes Protokoll sowie einen Kopfbereich · und einen Restbereich aufweist, wobei der Kopfbereich des Datenpakets wenigstens Zielidentifizierungdaten, Protokolldaten und/oder Quellidentifizierungdaten aufweist, mit: einem Mittel zum Empfangen aufeinanderfolgender Datenpakete von einem Datenquellkanal, einem Hochgeschwindigkeitsdatencache-Speicher, einem Speicher mit geringerer Geschwindigkeit, einem Mittel zum Abpeichern wenigstens eines Teils des Kopfbereichs eines jeden Datenpakets in dem Hochgeschwindigkeitsdatencache-Speicher, einem Mittel zum Abspeichern wenigstens des Restbereichs eines jeden Datenpakets in dem Speicher mit geringerer Geschwindigkeit, einem Mittel zum Zugreifen auf den Kopfbereich eines jeden Datenpakets in dem Hochgeschwindigkeitsdätencache- Speicher für die Protokollverarbeitung und Zielverarbeitung des Datenpakets, und einem Mittel zum Weiterleiten eines neuen Datenpakets zu einem nächsten Datenpaketziel basierend auf dem bestimmten Protokoll und der Zielverarbeitung des Datenpakets.
  • Gemäß einem zweiten Vorrichtungsaspekt der Erfindung wird eine Vorrichtung zum Verarbeiten eines Datenpakets geschaffen für die Zuführung zu einem bestimmten Ziel, wobei das Datenpaket ein ausgewähltes Protokoll sowie einen Kopfbereich und einen Restbereich aufweist, wobei der Kopfbereich des Datenpakets wenigstens Zielidentifizierungsdaten, Protokolldaten und/oder Quellidentifizierungsdaten aufweist mit: einem Mittel zum Empfangen aufeinanderfolgender Datenpakete von einem Datenquellkanal, einem Hochgeschwindigkeitsdatencache-Speicher mit mehreren Schnittstellen, einem Mittel zum Verbinden des Hochgeschwindigkeitsdatencache-Speicher mit einem Eingangs- /Ausgangsdatenbus und einem auf einer CPU basierenden Prozessor, einem Speicher mit geringerer Geschwindigkeit, einem Mittel zum Abspeichern nicht aneinander angrenzender Bereiche des Kopfbereichs eines jeden Datenpakets in dem Hochgeschwindigkeitsdatencache-Speicher, einem Mittel zum Abspeichern wenigstens des Restbereichs eines jeden Datenpakets in dem Speicher mit geringerer Geschwindigkeit, einem Mittel zum Auswählen von Bereichen des Kopfbereichs zum Abspeichern in dem Hochgeschwindigkeitsdatencache-Speicher abhängig von der Adresse in dem Speicher mit geringerer Geschwindigkeit, an der der Restbereich abgespeichert ist, einem Mittel zum Zugreifen auf den Kopfbereich eines jeden Datenpakets in dem Hochgeschwindigkeitsdatencache-Speicher für die Protokollverarbeitung und Zielverarbeitung eines jeden Datenpakets, wobei das Zugriffsmittel aufweist: ein Mittel zum Erfassen der Adresse in dem Hochgeschwindigkeitsdatencache- Speicher, an der der Kopfbereich abgespeichert ist, aufgrund der Adresse in dem Speicher mit geringerer Geschwindigkeit, an der der Restbereich eines jeden Datenpakets abgespeichert ist, ein Mittel zum Lesen des abgespeicherten Kopfbereichs direkt von dem Hochgeschwindigkeitsdatencache-Speicher mithilfe des Prozessors und ein Mittel zum Schreiben in den Hochgeschwindigkeitsdatencache-Speicher von dem Prozessor zum Modifizieren des Kopfbereichs und ein Mittel zum Weiterleiten eines neuen Datenpakets zu einem neuen Datenpaketziel basierend auf dem Protokoll und der Zielverarbeitung des Datenpakets.
  • Die bevorzugte Ausführungsform betrifft somit ein Verfahren und eine Vorrichtung für die Verarbeitung eines Datenpakets für die Zuführung zu einem bestimmten Ort, wobei das Datenpaket ein ausgewähltes Protokoll aufweist, wobei ein Kopfbereich des Pakets wenigstens Zielidentifizierungdaten, Protokolldaten und/oder Quellidentifizierungdaten aufweist. Die Verfahrenserfindung weist die Schritte auf: Empfangen aufeinanderfolgender Pakete von einem Datenquellkanal, Abspeichern wenigstens eines Teils des Kopfbereichs eines jeden Datenpakets in einem Hochgeschwindigkeitsdatencache, Abspeichern wenigstens des Rests jedes Datenpakets (und bevorzugt das gesamte Datenpaket) in einem Speicher mit geringerer Geschwindigkeit, Zugreifen auf jeden Kopfbereich eines jeden Datenpakets in dem Hochgeschwindigkeitscache zur Protokoll- und Zielverarbeitung des Datenpakets, und Weiterleiten eines neu generierten Datenpakets zu einem nächsten Paketziel.
  • Das Verfahren weist ferner die Schritte auf: Abspeichern jedes Kopfbereichs des Datenpakets an einer Adresse, welche durch den Ort des Rests des zugeordneten Datenpakets in dem langsameren Speicher identifiziert ist.
  • Die Vorrichtung der bevorzugten Ausführungsform weist eine Schaltungsanordnung zum Empfangen aufeinanderfolgender Pakete von dem Datenquellkanal, einen Hochgeschwindigkeitsdatencache und einen Speicher mit geringerer Geschwindigkeit, eine Schaltungsanordnung zum Abpeichern wenigstens eines Teils des Kopfbereichs eines jeden Pakets in dem Hochgeschwindigkeitsdatencache und zum Abspeichern wenigstens des Rests (und bevorzugt der Gesamtheit) jedes Pakets in dem Massenspeicher mit geringerer Geschwindigkeit, eine Schaltungsanordnung zum Zugreifen auf jeden Kopfbereich jedes Pakets in dem Hochgeschwindigkeitsdatencache für Protokoll- und Zielverarbeitung des Datenpakets, und eine Schaltungsanordnung zum Weiterleiten eines generierten neuen Datenpakets zu einem nächsten Paketziel auf.
  • Die Vorrichtung weist ferner eine Schaltungsanordnung zum Abspeichern jedes Kopfbereichs eines Datenpakets an einer Adresse auf, welche durch den Ort des Rests des zugeordneten Datenpakets in dem langsameren Speicher identifiziert ist.
  • Kurzbeschreibung der Zeichnungen
  • Andere Aufgaben, Merkmale und Vorteile der Erfindung werden aus der nachfolgenden Beschreibung zusammen mit den Zeichnungen offenbar, wobei:
  • Fig. 1 ein Blockdiagramm eines Systems zum Übergeben von Paketen zwischen Knoten in einem Netzwerk zeigt;
  • Fig. 2 ein detaillierteres Blockdiagramm eines Router- oder Brücken-Schaltkreises für die aus Fig. 1 ersichtliche Vorrichtung zeigt; und
  • Fig. 3 den Router- oder Brückenteil detaillierter verdeutlicht, auf den die Erfindung gerichtet ist.
  • Beschreibung einer bevorzugten Ausführungsform
  • Wie aus Fig. 1 ersichtlich, weist ein Datenpaket-Netzwerk- System 10 eine Mehrzahl von Knoten A1, A1, ...Ax, D1, D2, ..., D2 auf, die miteinander über Routing- oder Brücken-Schaltungsanordnungen B1, C1, C2, ...Cy verbunden sind. Die Routing- und Brücken-Schaltungsanordnungen empfangen Daten von den Knoten und übertragen diese Daten auf dem Weg zu einem letzten Zielknoten entweder zu anderen Knoten oder zu anderen Brücken oder Routern. Im typischen Betrieb sind die Brücken- und Routing- Schaltungsanordnungen mit der Konfiguration des Netzwerks programmiert und kennen dementsprechend die verfügbaren Pfade zum Weiterleiten von Daten zu dem letzten Ziel.
  • Wie aus Fig. 2 ersichtlich, empfängt im typischen Betrieb eine Router- oder Brücken-Schaltungsanordnung 12 Daten über einen Kanalempfänger 14. Der Kanalempfänger wird zum Speichern des Datenpakets in einem Speicher 16 betrieben, während gleichzeitig eine Steuerung 18 über die Ankunft des Pakets benachrichtigt wird. Die Steuerung kann zum Beispiel das gesamte Datenpaket zum Bestimmen seiner Struktur empfangen. Die Struktur weist typischerweise einen Kopfbereich am Anfang des Datenpakets, die Daten selbst und am Ende des Datenpakets einen Fehlerkontrollabschnitt (typischerweise einen CRC- Fehlerprüfabschnitt) auf, mittels welchem der Empfänger die Integrität der empfangenen Daten überprüfen kann. Nach dem Untersuchen des Kopfbereichs können von der Steuerung auch das verwendete Protokoll, falls mehr als ein Protokoll über den Eingangskanal zur Verfügung steht und das endgültige Ziel und der Quellknoten des Datenpakets bestimmt werden. Die zum Erzeugen eines neuen Kopfbereichs für die Daten betriebene CPU fügt den neuen Kopfbereich zu dem Restbereich des Datenpakets hinzu und leitet die nun rekonstruierte Kopfbereichs- und Daten-Kombination über einen Kanalsender 20 heraus zu einem anderen Netzwerk, um sie zu dem letzten Knoten oder zu dem nächsten Router/Brücken-Schaltkreis entlang ihres Weges zu übertragen. Ein Fehlerprüfwort wird in dem Sender berechnet und dem Ende des Datenpakets hinzugefügt.
  • Die Erfindung ist auf ein effizienteres Verfahren und eine effizientere Vorrichtung zum Handhaben der Datenpaketverarbeitung in dem Router/Brücken-Schaltkreis gerichtet. Wie aus Fig. 3 ersichtlich, weist der Router in Übereinstimmung mit der illustrierten Ausführungsform der Erfindung eine langsamere Speicher-Schaltungsanordnung 26, einen Hochgeschwindigkeitscache-Speicher 28, die CPU-Steuerung 18, Adreßübersetzungs- und Steuerungs-Schaltungsanordnungen 30 und 32 und steuerbare Treiber-Schaltungsanordnungen 34, 36, 38, 40, 42, 44, 46 und 48 auf. Mit Ausnahme der bidirektionalen Treiber-Schaltungsanordnung 48, sind alle Treiber unidirektional.
  • Die CPU 18, die Adreß- und Steuerungs-Schaltungsanordnung 32 und die Treiber 42, 44, 46 und 48 bilden das Verarbeitungselement 50, welches mit den Eingabe/Ausgabe-Adreßleitungen und den Busleitungen 52 bzw. 54 und mit dem Datencache 28 verbunden ist. Es wird erwartet, daß bei einer bevorzugten Ausführungsform der Erfindung eine Mehrzahl von Verarbeitungselementen vorgesehen sein kann; und daß jedes der Verarbeitungselemente 50 im Parallelbetrieb auf ein anderes Datenpaket einwirken kann, wobei der Datencache 28 schnell genug ist, um alle Verarbeitungselemente 50 gleichzeitig zu bedienen.
  • Im Betrieb sind die Adreßübersetzungs- und Steuerungs-Schaltkreise 30, 32 von der CPU 18 voreingestellt, um unter Verwendung der niederwertigen Bits auf der Adreßleitung die Informationsbytes in dem Paket zu erkennen, die in dem Cache- Speicher 28 in Überseinstimmung mit dem verwendeten Protokoll zu speichern sind. Bei der illustrierten Ausführungsform müssen die gespeicherten Bytes in dem Paket nicht aneinander angrenzen, werden aber alle zu dem Kopfbereich des Pakets gehören. Der Adreß- und Steuer-Schaltkreis 30 empfängt während des Paketempfangs Adreßdaten von der Verbindungsschnittstelle 60 über die Adreßbusleitungen 52. Die Adreßdaten werden auch dem langsameren Speicher 26 zur Verfügung gestellt. Die Adresse wird unter Verwendung einer in einem Speicher mit wahlfreiem Zugriff des Adreßübersetzungsschaltkreises 30 gespeicherten Speicherbereichstabelle übersetzt, und eine entsprechende Cache-Zeilenauswahladresse wird auf der Basis eines höherwertigen Teils der Adresse über Leitungen 62 an einen mit einem Multi-Port versehenen Cache-Speicher 28 ausgegeben. Die Datentreiber 36 werden demgemäß in Abhängigkeit des niederwertigen Teils der Adresse (wie weiter unten beschrieben) selektiv freigeschaltet und bewirken, daß der in dem Cache zu speichernde Teil des eingehenden Datenpakets in den Cache-Speicher an die über die Leitungen 62 spezifizierte Zeilenadresse geladen wird.
  • Gleichzeitig wird gemäß der illustrierten Ausführungsform auch das gesamte Datenpaket durch den Treiber 40 hindurch in dem Pufferspeicher 26 an einer Adresse gespeichert, die der über die Eingabe/Ausgabe-Leitungen 52 verfügbaren Adresse entspricht. Die Datenpaketinformation ist über die Leitungen 54 verfügbar, und das Paket wird in seiner Gesamtheit im Pufferspeicher 26 gespeichert. Der Pufferspeicher 26 weist auch eine ausreichende Steuerschaltungsanordnung bei 26a auf, um die über die Leitungen 52 anliegende Adreß-Information zu dekodieren und um das gesamte Datenpaket in einem den höchstwertigen Bits dieser Datenadresse zugeordneten Puffer aufzunehmen und zu speichern. Die in dem Cache-Speicher 28 gespeicherte Information enthält wenigstens eine Identifikation der Quelle und des Ziels der Datenpakete, das verwendete Protokoll, falls das Protokoll der Brücken/Router-Schaltungsanordnung nicht bereits bekannt ist und/oder andere erforderliche Kopfbereichsinformation, welche erforderlich ist, um dem Prozessors 50 zu ermöglichen, neue Kopfbereichsinformation zu erzeugen und das Datenpaket zu dem nächsten Empfangsknoten des Netzwerks weiterzuleiten.
  • Wenn zunächst das Datenpaket empfangen wird, wird daher das gesamte Datenpaket im Pufferspeicher 26, der typischerweise ein dynamisches RAM (DRAM) ist, gespeichert, während ausgewählte Kopfbereichsdaten (welche typischerweise von der CPU verwendet werden) im schnellen Cache-Speicher 28 gespeichert werden und für die CPU, wie es erforderlich ist und wie es im Folgenden dargelegt wird, verfügbar gemacht werden. Die Kopfbereichsdaten werden unter Verwendung des Übersetzungs- und Steuer- Schaltkreises 30 ausgewählt und müssen im Kopfbereich nicht aneinander angrenzen. Beim Binschaltvorgang wird diese Schaltungsanordnung von der CPU initialisiert, um mittels der niederwertigen Bits der Adreß-Daten die Bytes im Kopfbereich zu erkennen, die zu "cachen" sind (d. h., die im Cache-Speicher abzulegen sind). Diese Bytes müssen im Datenpaket nicht aneinander angrenzen. Auf die Erkennung einer zu den zu speichernden Kopfbereichsdaten korrespondierenden Adresse hin, wird von der Schaltungsanordnung die "HIT"-Leitung 63 geltend gemacht und die korrekte Adresse auf die Dateneingangsleitungen 62 gelegt. Die Daten werden dann vom Cache 28 gelesen und gespeichert.
  • Sobald das Datenpaket empfangen worden ist und sowohl in dem Pufferspeicher 26 als auch in dem Cache-Speicher 28 korrekt vorhanden ist, kann ein beliebiger der Prozessoren 50 auf den Cache 28 zugreifen, um die darin enthaltene Kopfbereichsinformation wiederzugewinnen. Mittels seiner CPU 18 fordert daher der Prozessor 50 Daten über Leitungen 70 unter Verwendung einer Adresse an, welche der Adresse auf den Eingangs/Ausgangs- Adreß-Leitungen 52 entspricht. Der Adreß-Übersetzungs- Schaltkreis 32 übersetzt, wie der Adreß-Übersetzungs- Schaltkreis 30, diese Adresse in eine Cache- Auswahlzeilenadresse über Leitungen 65. Falls die Adresse gültig ist und zu in dem Cache gespeicherten Daten korrespondiert, werden die Datentreiber 44 oder 46 von dem "HIT"-Signal über eine Leitung 72 aktiviert, und die CPU liest entweder Daten von dem Cache-Speicher ein, um diese zu verarbeiten oder schreibt Daten in den Cache-Speicher, um diese als Teil eines neuen Kopfbereichs für das Datenpaket zu verwenden. Falls "HIT" nicht vorhanden ist und die Kopfbereichsdaten im Cache nicht verfügbar sind, ist anzumerken, daß dann die CPU entweder die Daten von dem Pufferspeicher 26 einlesen wird oder durch die Datentreiber 48 und die Adreß- Treiber 42 Daten in den Pufferspeicher 26 schreiben wird.
  • Der oben dargestellte Daten-Cache 28 ist ein Mehrfach-Port- Speicher. Bei der bevorzugten Ausführungsform der Erfindung ist der Cache ein wahrer Multi-Port-Speicher; dies heißt, daß gleichzeitiges Lesen und/oder Schreiben im Parallelbetrieb zur Verfügung gestellt wird, wodurch eine Herabsetzung der Leistung vermieden wird. Bei anderen Implementierungen des Daten-Cache können wahre N-Port-Speicher oder Speicher mit einem im Multiplex betriebenen Port verwendet werden. Ferner können Mehrfach-Cache-Speicher implementiett sein, welche tatsächlich nur eine besondere Implementierung eines einzigen großen Cache- Speichers sind. Bei all diesen Ausführungsformen erfüllt der Cache 28 jede der an ihn gestellten Anforderungen, das heißt von dem Adreß-Übersetzungs-Schaltkreis 30 oder von einem der Adreß-Übersetzungs-Schaltkreise 32 eines Verarbeitungselements 50. Falls der Cache 28 eine im Multiplex betriebene Implementierung ist und eines der Verarbeitungselemente 50 bedient, wartet jede andere Anforderung, bis die frühere und andauernde Anforderung bedient worden ist. Danach wird der im Multiplex betriebene Cache-Speicher 28 die nächste empfangene Anforderung bedienen.
  • Die CPU-Steuerung bewirkt daher im Betrieb, daß die Kopfbereichsinformation typischerweise durch die Treiber 44 in den Cache-Speicher ("HIT" ist geltend gemacht) geschrieben wird und kann ferner und alternativ bewirken, daß früher geschriebene Kopfbereichsinformation von dem Cache-Speicher durch die Treiber 72 in die CPU eingelesen wird. Unter der Steuerung von der CPU können ferner Kopfbereichsdaten von dem Cache-Speicher durch die Treiber 46 und 48 für den Zugriff auf den Datenbus 54 gelesen werden. Der Pufferspeicher 26 kann, ebenfalls unter der Steuerung von der CPU, den Rest der Daten von seinem Speicher über die Datenausgabeleitungen und durch den angeschlossenen Treiber 38 liefern. Durch den Treiber 48 fügt die CPU am Ende des Datenpakets die Fehlerprüfbits hinzu, so daß der (die) Empfangsknoten für dieses Paket alle Informationen erhalten wird (werden), die zum Überprüfen der Integrität der eingehenden Daten erforderlich sind.
  • In Übereinstimmung mit der bevorzugten Ausführungsform der Erfindung ist das Puffer-Layout und daher die Kopfbereichsadresse dem System bekannt und ermöglicht es, daß der Adreß- Übersetzungs-Schaltkreis zur Installationszeit festgelegt ist. Das Puffer-Layout ermöglicht es ferner, alle Seiten des Paketkopfbereich-Cache unabhängig voneinander zu betreiben und ermöglicht es dem Cache, den CPU-Anforderungen zuvorzukommen, anstatt darauf zu reagieren. Das Verwenden eines Multi-Port- Speichers für den Cache 28 beseitigt ferner Bus-Entscheidungs- Overhead (engl.: bus arbitration overhead) und ermöglicht es, bei der Verwendung der Adreß-Übersetzungs-Schaltungsanordnung, kommerzielle Multi-Port-Speicher und Vergleichslogik zu verwenden.
  • Hinzufügungen, Herausnahmen und andere Modifizierungen der beschriebenen Ausführungsform sind für Fachleute offensichtlich und liegen innerhalb des Bereichs der folgenden Ansprüche.

Claims (14)

1. Verfahren zur Verarbeitung eines Datenpakets für die Zuführung zu einem bestimmten Ziel, wobei das Datenpaket ein ausgewähltes Protokoll sowie einen Kopfbereich und einen Restbereich aufweist, wobei der Kopfbereich des Datenpakets wenigstens Zielidentifizierungsdaten, Protokolldaten und/oder Quellidentifizierungsdaten aufweist, wobei das Verfahren folgende Schritte aufweist:
Empfangen aufeinanderfolgender Datenpakete von einem Datenquellkanal,
Abspeichern wenigstens eines Teils des Kopfbereichs eines jeden Datenpakets in einem Hochgeschwindigkeitsdatencache- Speicher (28),
Abspeichern wenigstens des Restbereichs jedes Datenpakets in einem Speicher (26) mit geringerer Geschwindigkeit,
Zugreifen auf jeden Kopfbereich eines jeden Datenpakets in dem Hochgeschwindigkeitscache-Speicher (28) zur Protokollverarbeitung und Zielverarbeitung eines jeden Datenpakets, und
Weiterleiten eines neuen Datenpakets zu einem nächsten Datenpaketziel basierend auf dem bestimmten Protokoll und der Zielverarbeitung des Datenpakets.
2. Verfahren nach Anspruch 1, das ferner folgende Schritte aufweist: Abspeichern des Kopfbereichs eines jeden Datenpakets an einer Adresse, die den Ort des Restbereichs eines jeden Datenpakets in dem Speicher (26) mit geringerer Geschwindigkeit bezeichnet.
3. Verfahren nach Anspruch 1, das ferner folgende Schritte aufweist: Feststellen der Adresse in dem Hochgeschwindigkeitsdatencache-Speicher, an der der Kopfbereich abgespeichert ist, aufgrund einer Adresse in dem Speicher (26) mit geringerer Geschwindigkeit, an welcher der Restbereich eines jeden Datenpakets abgespeichert ist.
4. Verfahren nach Anspruch 1, das ferner folgende Schritte aufweist:
Bereitstellen eines Zugangs über mehrere Schnittstellen zu dem Hochgeschwindigkeitsdatencache-Speicher von wenigstens einem Eingangs-/Ausgangsdatenbus (54) und einem auf einer CPU basierenden Prozessor (50),
Lesen des abgespeicherten Kopfbereichs direkt von dem Hochgeschwindigkeitsdatencache-Speicher (28) mithilfe des Prozessors (50), und
Schreiben in den Hochgeschwindigkeitsdatencache-Speicher (28) von dem Prozessor (50) zum Modifizieren des Kopfbereichs.
5. Verfahren nach Anspruch 1, das ferner folgenden Schritt aufweist: Abspeichern einander nicht benachbarter Bereiche des Kopfbereichs in dem Hochgeschwindigkeitsdatencache-Speicher (28).
6. Verfahren nach Anspruch 1, das ferner folgenden Schritt aufweist: Auswählen von Bereichen des Kopfbereichs zum Abspeichern in dem Hochgeschwindigkeitsdatencache-Speicher (28) abhängig von der Adresse in dem Speicher (26) mit geringerer Geschwindigkeit, an der der Restbereich abgespeichert ist.
7. Verfahren zum Verarbeiten eines Datenpakets zum Zuführen zu einem bestimmten Ziel, wobei das Datenpaket ein ausgewähltes Protokoll sowie einen Kopfbereich und einen Restbereich aufweist, wobei der Kopfbereich des Datenpakets wenigstens Zielidentifizierungsdaten, Protokolldaten und/oder Quellidentifizierungsdaten aufweist, wobei das Verfahren folgende Schritte aufweist:
Empfangen aufeinanderfolgender Datenpakete von einem Datenquellkanal,
Abspeichern nicht aneinander angrenzender Bereiche des Kopfbereichs eines jeden Datenpakets in einem Hochgeschwindigkeitsdatencache-Speicher (28),
Abspeichern wenigstens des Restbereichs eines jeden Datenpakets in einem Speicher (26) mit geringerer Geschwindigkeit,
Auswählen von Bereichen des Kopfbereichs eines jeden Datenpakets zum Abspeichern in dem
Hochgeschwindigkeitsdatencache-Speicher (28) abhängig von der Adresse in dem Speicher (26) mit geringerer Geschwindigkeit, an der der zugeordnete Restbereich abgespeichert ist,
Erfassen der Adresse in dem Hochgeschwindigkeitsdatencache-Speicher (28), an der der ausgewählte Bereich abgespeichert ist, der dem zugeordneten Restbereich entspricht, mittels einer Adresse in dem Speicher (26) mit geringerer Geschwindigkeit, an der der Restbereich eines jeden Datenpakets abgespeichert ist,
Zugreifen auf den Kopfbereich eines jeden Datenpakets in dem Hochgeschwindigkeitsdatencache-Speicher (28) für Protokollverarbeitung und Zielverarbeitung des Datenpakets, wobei der Schritt des Zugreifens aufweist:
Bereitstellen eines Zugangs über mehrere Schnittstellen zu dem Hochgeschwindigkeitsdatencache-Speicher (28) von wenigstens einem Eingangs-/Ausgangsdatenbus (54) und einem auf einer CPU basierenden Prozessor (50),
Lesen des abgespeicherten Kopfbereichs direkt von dem Hochgeschwindigkeitsdatencache-Speicher (28) mithilfe des Prozessors (50), und
Schreiben in dem Hochgeschwindigkeitsdatencache-Speicher (28) von dem Prozessor (50) zum Modifizieren des Kopfbereichs und
Weiterleiten eines neuen Datenpakets zu einem nächsten Datenpaketziel basierend auf dem bestimmten Protokoll und der Zielverarbeitung des Datenpakets.
8. Vorrichtung für die Verarbeitung eines Datenpakets für die Zuführung zu einem bestimmten Ziel, wobei das Datenpaket ein ausgewähltes Protokoll sowie einen Kopfbereich und einen Restbereich aufweist, wobei der Kopfbereich des Datenpakets wenigstens Zielidentifizierungdaten, Protokolldaten und/oder Quellidentifizierungdaten aufweist, mit:
einem Mittel zum Empfangen aufeinanderfolgender Datenpakete (14) von einem Datenquellkanal,
einem Hochgeschwindigkeitsdatencache-Speicher (28),
einem Speicher (26) mit geringerer Geschwindigkeit,
einem Mittel zum Abpeichern wenigstens eines Teils des Kopfbereichs eines jeden Datenpakets in dem Hochgeschwindigkeitsdatencache-Speicher (28),
einem Mittel zum Abspeichern wenigstens des Restbereichs eines jeden Datenpakets (26a) in dem Speicher (26) mit geringerer Geschwindigkeit,
einem Mittel zum Zugreifen auf den Kopfbereich eines jeden Datenpakets in dem Hochgeschwindigkeitsdatencache-Speicher für die Protokollverarbeitung und Zielverarbeitung des Datenpakets, und
einem Mittel zum Weiterleiten eines neuen Datenpakets zu einem nächsten Datenpaketziel basierend auf dem bestimmten Protokoll und der Zielverarbeitung des Datenpakets.
9. Vorrichtung nach Anspruch 8, die ferner ein Mittel zum Abspeichern des Teils des Kopfbereichs eines Datenpakets an einer Adresse aufweist, die den Ort bezeichnet, an dem der Restbereich des zugeordneten Datenpakets in dem Speicher mit geringerer Geschwindigkeit abgespeichert ist.
10. Vorrichtung nach Anspruch 8, die ferner ein Mittel zum Erfassen der Adresse in dem Hochgeschwindigkeitsdatencache- Speicher, an der der Kopfbereich abgespeichert ist, aufgrund der Adresse in dem Speicher mit geringerer Geschwindigkeit, an der der Restbereich des Datenpakets abgespeichert ist, aufweist.
11. Vorrichtung nach Anspruch 8, die ferner ein Mittel zum Bereitstellen eines Zugangs über mehrere Schnittstellen zu dem Hochgeschwindigkeitsdatencache-Speicher von einem Eingangs- /Ausgangsdatenbus und einem auf einer CPU basierenden Prozessor,
einem Mittel zum Lesen des abgespeicherten Kopfbereichs direkt von dem Hochgeschwindigkeitsdatencache-Speicher mithilfe des Prozessors, und
ein Mittel zum Schreiben in den Hochgeschwindigkeitsdatencache-Speicher von dem Prozessor zum Modifizieren des Kopfbereichs aufweist.
12. Vorrichtung nach Anspruch 8, die ferner ein Mittel zum Abspeichern einander nicht benachbarter Bereiche des Kopfbereichs in dem Hochgeschwindigkeitsdatencache-Speicher aufweist.
13. Vorrichtung nach Anspruch 8, die ferner ein Mittel zum Auswählen von Bereichen des Kopfbereichs für das Abspeichern in dem Hochgeschwindigkeitsdatencache-Speicher abhängig von der Adresse in dem langsamen Speicher, an der der Restbereich abgespeichert ist, aufweist.
14. Vorrichtung zum Verarbeiten eines Datenpakets für die Zuführung zu einem bestimmten Ziel, wobei das Datenpaket ein ausgewähltes Protokoll sowie einen Kopfbereich und einen Restbereich aufweist, wobei der Kopfbereich des Datenpakets wenigstens Zielidentifizierungsdaten, Protokolldaten und/oder Quellidentifizierungsdaten aufweist mit:
einem Mittel zum Empfangen aufeinanderfolgender Datenpakete von einem Datenquellkanal (14),
einem Hochgeschwindigkeitsdätencache-Speicher (28) mit mehreren Schnittstellen,
einem Mittel zum Verbinden des Hochgeschwindigkeitsdatencache-Speicher mit einem Eingangs- /Ausgangsdatenbus und einem auf einer CPU basierenden Prozessor,
einem Speicher (26) mit geringerer Geschwindigkeit,
einem Mittel zum Abspeichern nicht aneinander angrenzender Bereiche des Kopfbereichs eines jeden Datenpakets in dem Hochgeschwindigkeitsdatencache-Speicher (28),
einem Mittel zum Abspeichern wenigstens des Restbereichs eines jeden Datenpakets in dem Speicher (26) mit geringerer Geschwindigkeit,
einem Mittel zum Auswählen von Bereichen des Kopfbereichs zum Abspeichern in dem Hochgeschwindigkeitsdatencache-Speicher (28) abhängig von der Adresse in dem Speicher (26) mit geringerer Geschwindigkeit, an der der Restbereich abgespeichert ist,
einem Mittel zum Zugreifen auf den Kopfbereich eines jeden Datenpakets in dem Hochgeschwindigkeitsdatencache-Speicher (28) für die Protokollverarbeitung und Zielverarbeitung eines jeden Datenpakets, wobei das Zugriffsmittel aufweist:
ein Mittel zum Erfassen der Adresse in dem Hochgeschwindigkeitsdatencache-Speicher (28), an der der Kopfbereich abgespeichert ist, aufgrund der Adresse in dem Speicher mit geringerer Geschwindigkeit, an der der Restbereich eines jeden Datenpakets abgespeichert ist,
ein Mittel zum Lesen des abgespeicherten Kopfbereichs direkt von dem Hochgeschwindigkeitsdatencache-Speicher (28) mithilfe des Prozessors (50) und
ein Mittel zum Schreiben in den Hochgeschwindigkeitsdatencache-Speicher von dem Prozessor (50) zum Modifizieren des Kopfbereichs und
ein Mittel zum Weiterleiten eines neuen Datenpakets zu einem neuen Datenpaketziel basierend auf dem Protokoll und der Zielverarbeitung des Datenpakets.
DE69228758T 1991-10-04 1992-09-22 Verfahren und vorrichtung zur paketverarbeitung Expired - Fee Related DE69228758T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US07/771,769 US5398245A (en) 1991-10-04 1991-10-04 Packet processing method and apparatus
PCT/US1992/007950 WO1993007692A1 (en) 1991-10-04 1992-09-22 Packet processing method and apparatus

Publications (2)

Publication Number Publication Date
DE69228758D1 DE69228758D1 (de) 1999-04-29
DE69228758T2 true DE69228758T2 (de) 1999-12-02

Family

ID=25092923

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69228758T Expired - Fee Related DE69228758T2 (de) 1991-10-04 1992-09-22 Verfahren und vorrichtung zur paketverarbeitung

Country Status (6)

Country Link
US (1) US5398245A (de)
EP (1) EP0606368B1 (de)
JP (1) JP3286320B2 (de)
AU (1) AU2756392A (de)
DE (1) DE69228758T2 (de)
WO (1) WO1993007692A1 (de)

Families Citing this family (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5634005A (en) * 1992-11-09 1997-05-27 Kabushiki Kaisha Toshiba System for automatically sending mail message by storing rule according to the language specification of the message including processing condition and processing content
JP3473975B2 (ja) * 1993-09-08 2003-12-08 株式会社日立製作所 ネットワークシステムおよびネットワークにおける通信方法
US5509006A (en) * 1994-04-18 1996-04-16 Cisco Systems Incorporated Apparatus and method for switching packets using tree memory
US5519704A (en) * 1994-04-21 1996-05-21 Cisco Systems, Inc. Reliable transport protocol for internetwork routing
EP0742677A3 (de) * 1995-05-08 1999-09-15 Fujitsu Limited Kopfübersetzungsverfahren
US5752078A (en) * 1995-07-10 1998-05-12 International Business Machines Corporation System for minimizing latency data reception and handling data packet error if detected while transferring data packet from adapter memory to host memory
US7468977B1 (en) 1995-07-12 2008-12-23 Nortel Networks Limited LAN/ATM switch having local packet switching and an ATM core fabric
US7031296B1 (en) 1995-09-29 2006-04-18 Nortel Networks Limited Method and apparatus for managing the flow of data within a switching device
US5790554A (en) * 1995-10-04 1998-08-04 Bay Networks, Inc. Method and apparatus for processing data packets in a network
US6058429A (en) 1995-12-08 2000-05-02 Nortel Networks Corporation Method and apparatus for forwarding traffic between locality attached networks using level 3 addressing information
US5778414A (en) * 1996-06-13 1998-07-07 Racal-Datacom, Inc. Performance enhancing memory interleaver for data frame processing
US5768515A (en) * 1996-07-08 1998-06-16 Microsoft Corporation Method for generating and storing two segments of HTTP message headers with different lifetimes and combining them to form a single response header
GB9620082D0 (en) 1996-09-26 1996-11-13 Eyretel Ltd Signal monitoring apparatus
US6473404B1 (en) * 1998-11-24 2002-10-29 Connect One, Inc. Multi-protocol telecommunications routing optimization
US6016307A (en) 1996-10-31 2000-01-18 Connect One, Inc. Multi-protocol telecommunications routing optimization
US6049543A (en) * 1996-12-27 2000-04-11 Motorola, Inc. Transcoder for use in an ATM-based communications system
JP3213697B2 (ja) * 1997-01-14 2001-10-02 株式会社ディジタル・ビジョン・ラボラトリーズ 中継ノードシステム及び同システムにおける中継制御方法
US6032190A (en) * 1997-10-03 2000-02-29 Ascend Communications, Inc. System and method for processing data packets
US6157644A (en) * 1997-10-07 2000-12-05 Northern Telecom Limited Method and apparatus for accelerating OSI layer 3 routers
US5948079A (en) * 1997-12-19 1999-09-07 Advanced Micro Devices, Inc. System for non-sequential transfer of data packet portions with respective portion descriptions from a computer network peripheral device to host memory
US6401171B1 (en) * 1998-02-27 2002-06-04 Cisco Technology, Inc. Method and device for storing an IP header in a cache memory of a network node
US6430196B1 (en) 1998-05-01 2002-08-06 Cisco Technology, Inc. Transmitting delay sensitive information over IP over frame relay
DE19841038C2 (de) * 1998-09-09 2003-01-09 T Mobile Deutschland Gmbh Verfahren zur Behandlung verkehrsbezogener Vermittlungsdaten in Vermittlungsknoten von Kommunikationsnetzen
US6771642B1 (en) 1999-01-08 2004-08-03 Cisco Technology, Inc. Method and apparatus for scheduling packets in a packet switch
US6366961B1 (en) * 1999-03-03 2002-04-02 Nokia Telecommunications, Oy Method and apparatus for providing mini packet switching in IP based cellular access networks
AU6089700A (en) * 1999-07-13 2001-01-30 Alteon Web Systems, Inc. Apparatus and method to minimize incoming data loss
US6347347B1 (en) * 1999-07-15 2002-02-12 3Com Corporation Multicast direct memory access storing selected ones of data segments into a first-in-first-out buffer and a memory simultaneously when enabled by a processor
US8300534B2 (en) 2000-05-24 2012-10-30 Alcatel Lucent Programmable packet processor with flow resolution logic
US7075926B2 (en) * 2000-05-24 2006-07-11 Alcatel Internetworking, Inc. (Pe) Programmable packet processor with flow resolution logic
US6735207B1 (en) 2000-06-13 2004-05-11 Cisco Technology, Inc. Apparatus and method for reducing queuing memory access cycles using a distributed queue structure
US6850980B1 (en) 2000-06-16 2005-02-01 Cisco Technology, Inc. Content routing service protocol
JP4822598B2 (ja) * 2001-03-21 2011-11-24 ルネサスエレクトロニクス株式会社 キャッシュメモリ装置およびそれを含むデータ処理装置
US6985974B1 (en) 2002-04-08 2006-01-10 Marvell Semiconductor Israel Ltd. Memory interface controller for a network device
US6892285B1 (en) * 2002-04-30 2005-05-10 Cisco Technology, Inc. System and method for operating a packet buffer
US20040199727A1 (en) * 2003-04-02 2004-10-07 Narad Charles E. Cache allocation
US20050100019A1 (en) * 2003-11-10 2005-05-12 Sahita Ravi L. Rule based packet processing engine
US7404040B2 (en) * 2004-12-30 2008-07-22 Intel Corporation Packet data placement in a processor cache
US8902890B2 (en) 2011-05-27 2014-12-02 International Business Machines Corporation Memory saving packet modification
US9047417B2 (en) 2012-10-29 2015-06-02 Intel Corporation NUMA aware network interface
US10684973B2 (en) 2013-08-30 2020-06-16 Intel Corporation NUMA node peripheral switch

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4910731A (en) * 1987-07-15 1990-03-20 Hitachi, Ltd. Switching system and method of construction thereof
JP2667868B2 (ja) * 1988-04-06 1997-10-27 株式会社日立製作所 セル・スイッチング・システム
NL8801120A (nl) * 1988-04-29 1989-11-16 At & T & Philips Telecomm Kruispuntschakelaar voor het doorschakelen van pakketten.
US5101402A (en) * 1988-05-24 1992-03-31 Digital Equipment Corporation Apparatus and method for realtime monitoring of network sessions in a local area network
DE3823878A1 (de) * 1988-07-14 1990-01-18 Philips Patentverwaltung Koppelfeld fuer ein vermittlungssystem
EP0375807A1 (de) * 1988-12-30 1990-07-04 Hans Binder Verfahren und Vorrichtung zur Herstellung von Holzlammellen aus Schnittholz
JP2860661B2 (ja) * 1989-03-14 1999-02-24 国際電信電話 株式会社 Atm交換機
GB8915137D0 (en) * 1989-06-30 1989-08-23 Inmos Ltd Message routing
GB8915135D0 (en) * 1989-06-30 1989-08-23 Inmos Ltd Message routing
CA2015514C (en) * 1989-08-22 1996-08-06 Mitsuru Tsuboi Packet switching system having bus matrix switch

Also Published As

Publication number Publication date
EP0606368B1 (de) 1999-03-24
JPH07501189A (ja) 1995-02-02
DE69228758D1 (de) 1999-04-29
EP0606368A4 (en) 1995-10-11
JP3286320B2 (ja) 2002-05-27
US5398245A (en) 1995-03-14
WO1993007692A1 (en) 1993-04-15
AU2756392A (en) 1993-05-03
EP0606368A1 (de) 1994-07-20

Similar Documents

Publication Publication Date Title
DE69228758T2 (de) Verfahren und vorrichtung zur paketverarbeitung
DE69735936T2 (de) Seriendatenschnittstellenverfahren und vorrichtung #
DE69029872T2 (de) Programmierbare Datenpaket-Pufferspeicher-Vorrangsanordnung
DE69233194T2 (de) Verfahren und vorrichtung für simultane paketbus.
DE69810132T2 (de) Multiport drams mit internen cache-speichern
DE60203057T2 (de) Effizienter Optimierungsalgorithmus für Speichergebrauch in Netzwerkanwendungen
EP0013737B1 (de) Mehrstufige Speicherhierarchie für ein Datenverarbeitungssystem
DE3011552C2 (de)
DE69031266T2 (de) Übertragungsarchitektur für Hochgeschwindigkeitsnetzwerk
DE69430945T2 (de) Schnelle Paketvermittlungsnetze
DE3751091T2 (de) Übertragungsprotokoll zwischen Prozessoren.
DE69519117T2 (de) Ein Rechnersystem
DE69031220T2 (de) Hochgeschwindigkeitsmultiport-FIFO-Pufferschaltung
DE68923951T2 (de) Hochgeschwindigkeits-Kombinierschalter mit Einzelfifo.
DE3222389A1 (de) Kanalschnittstellenschaltung
CH626735A5 (de)
DE69033412T2 (de) Datenübertragungssteuervorrichtung für Parallelverarbeitungssysteme
DE3046912C2 (de) Schaltungsanordnung zum selektiven Löschen von Cachespeichern in einer Multiprozessor-Datenverarbeitungsanlage
DE60014178T2 (de) Vorrichtung und verfahren zur speicherteilung in einer konfiguration mit einzelring-datenbusverbindung
DE69837581T2 (de) Vorrichtung und Verfahren zur wahlweisen Versorgung von Datenpaketen zwischen Medienbereichen in einem Netz-Repeater
DE60305560T2 (de) Eingebettetes System für die Überlastregelung von Rundfunkverkehr in einem Kommunikationsnetzwerk
DE69222485T2 (de) Datenspeicherungssystem für eine Übertragungssteuerungsschaltung
DE68914577T2 (de) Pufferspeichereinrichtung.
DE69132290T2 (de) Multiplexübertragungssystem
DE102005040109B4 (de) Halbleiterspeicherchip

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee