DE10015683B4 - Datenübertragungsspeicher - Google Patents

Datenübertragungsspeicher Download PDF

Info

Publication number
DE10015683B4
DE10015683B4 DE10015683A DE10015683A DE10015683B4 DE 10015683 B4 DE10015683 B4 DE 10015683B4 DE 10015683 A DE10015683 A DE 10015683A DE 10015683 A DE10015683 A DE 10015683A DE 10015683 B4 DE10015683 B4 DE 10015683B4
Authority
DE
Germany
Prior art keywords
data
memory
pointer
subscriber
data storage
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
DE10015683A
Other languages
English (en)
Other versions
DE10015683A1 (de
Inventor
Mathias Dr. Hellwig
Jurij Beshenar
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.)
Intel Germany Holding GmbH
Original Assignee
Infineon Technologies AG
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 Infineon Technologies AG filed Critical Infineon Technologies AG
Priority to DE10015683A priority Critical patent/DE10015683B4/de
Priority to US09/820,449 priority patent/US7116659B2/en
Publication of DE10015683A1 publication Critical patent/DE10015683A1/de
Application granted granted Critical
Publication of DE10015683B4 publication Critical patent/DE10015683B4/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/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

Landscapes

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

Abstract

Verfahren zur Steuerung eines Datenübertragungsspeichers (1) für die Übertragung von Datenpaketen zwischen Teilnehmern T,
(a) wobei für jeden Teilnehmer T jeweils eine verkettete Teilnehmer-Zeigeradressenliste mit Zeigeradressen zur Adressierung von aus mehreren Datenspeicherzellen bestehenden Datenspeicherblöcken eines Datenspeichers (3) in einem Zeiger-Adressenspeicher (2) abgespeichert wird,
(b) wobei für jede verkettete Teilnehmer-Zeigeradressenliste ein Anfangs-Adressenzeiger auf einen ersten Datenspeicherblock, ein Schluss-Adressenzeiger auf den letzten Datenspeicherblock, die Anzahl der Datenspeicherblöcke sowie der Füllzustand des letzten Datenspeicherblocks jeder verketteten Teilnehmer-Zeigeradressenliste in einem zugehörigen Teilnehmer-Zustandsregister (12) als Zustand der verketteten Zeigeradressenliste gespeichert werden,
(c) wobei der Datenübertragungsspeicher (1) eine Speichersteuerung (4) aufweist, die zwischen einem Empfangs-Betriebsmodus (E) und einem Sende-Betriebsmodus (S) umschaltbar ist,
(d) wobei in den Empfangs-Betriebsmodus (E) von verschiedenen Quell-Teilnehmern Empfangs-Datenpakete über einen Empfangsdatenbus (5; 6) empfangen und in Datenspeicherzellen des durch die Teilnehmer-Zeigeradressenliste adressierten Datenspeicherblocks abgespeichert werden, und
(e) wobei in dem Sende-Betriebsmodus (S) aus den Datenspeicherblöcken jeweils Ausgangs-Datenpakete...

Description

  • Die Erfindung betrifft einen Datenübertragungsspeicher sowie ein Verfahren zu dessen Steuerung für die Übertragung von Datenpaketen zwischen mehreren Teilnehmern.
  • Die US 5,651,002 A beschreibt eine Vernetzungsvorrichtung mit einer Pufferspeicher-Management-ASIC-Schaltung BMA, an die mehrere Ethernet-Medium-Access-Controller MAC und FDDI-Medium-Access-Controller angeschlossen sind. Die Pufferspeicher-Management-Schaltung BMA enthält einen BMA-Controller. Jeder Medium-Access-Controller stellt ein Port zum Empfangen und Senden von Datenpaketen über ein Netzwerk dar. Ein empfangenes Datenpaket wird in einem Pufferdatenspeicher unter Steuerung der BMA zwischengespeichert. Der BMA-Controller enthält mehrere Datenübertragungs-Warteschlangen-Steuerungsblöcke QCB, wobei für jeden Medium-Access-Controller ein Datenübertragungsblock QCB vorgesehen ist. Der Steuerungsblock QCB enthält mindestens drei Zeiger, nämlich einen Startzeiger, einen Schreibzeiger und einen Lesezeiger. Der letzte Steuerblock QCB enthält zusätzlich einen End-Pointer und einen Count-Pointer. Der Pufferdatenspeicher enthält einen SRAM-Speicheranteil und einen DRAM-Speicheranteil. Bei der Initialisierung wird eine vorbestimmte Anzahl von Datenspeicherblöcken bzw. -puffern jedem Teilnehmer fest zugewiesen. Ein gemeinsamer Pool von Datenspeicherblöcken wird dann eingesetzt, wenn ein Pufferspeicher eines Teilnehmers überläuft.
  • 1 zeigt einen Datenübertragungsspeicher nach dem Stand der Technik. Dieser herkömmliche Datenübertragungsspeicher dient zur Datenübertragung zwischen verschiedenen Teilnehmern T 1-T 8. Der Datenübertragungsspeicher ist beispielsweise ein SRAM-Speicher, der aufgrund seiner Größe relativ langsam ist. Der Datenübertragungsspeicher ist über Datenbus mit den Teilnehmern T 1-T 8 verbunden. Der Datenübertragungsspeicher ist dabei entweder in einem selbständigen Bus-Schaltgerät integriert oder bildet selbst einen Teil eines Teilnehmers T. Jeder der in 1 dargestellten Teilnehmer T 1-T 8 kann aber ebenfalls einen entsprechenden Datenübertragungsspeicher als Verknüpfung mit weiteren Teilnehmern T aufweisen. Der Datenübertragungsspeicher enthält eine Speichersteuerung die über interne Daten und Steuerleitungen mit einem Datenspeicher verbunden ist. Der in dem Datenübertragungsspeicher integrierte Datenspeicher ist ein RAM-Speicher, der in verschiedene Speicherbereiche bzw. Puffer 1 bis Puffer 8 unterteilt ist. Die Anzahl der Speicherbereiche des Datenspeichers entspricht der Anzahl der an dem Datenübertragungsspeicher angeschlossenen Teilnehmer T 1-T 8. Dabei ist die Größe der Speicherbereiche, d.h. der Puffer 1 bis Puffer 8, jeweils gleich groß. Ein Pufferspeicher i dient dabei zur Übertragung von Datenpaketen an den Zielteilnehmer Ti. Bei den Datenbussen handelt es sich beispielsweise um Ethernet-Datenbusse. In dem Datenübertragungsspeicher werden alle Eingangsdatenpakete, die für einen bestimmten Teilnehmer Ti bestimmt sind, in dem zugehörigen Pufferspeicher i zwischengespeichert, zu einem Ausgangsdatenpaket zusammengefasst und an den Ziel-Teilnehmer Ti über den Ausgangs-Datenbus gesendet.
  • Der in 1 dargestellte herkömmliche Datenübertragungsspeicher weist einige erhebliche Nachteile auf. Wenn ein Ziel-Teilnehmer in einer besonderen Situation des Gesamtsystems sehr viele Datenpakete von anderen Teilnehmern erhält kann es dazu kommen, dass der ihm zugewiesene Pufferspeicher i innerhalb des Datenspeichers überläuft und somit keine eigenen Datenpakete in den Pufferspeicher i mehr abgespeichert werden können. In diesem Falle wird das Überlaufen des entsprechenden Pufferspeichers durch die Speichersteuerung erkannt, die Datenübertragung gestoppt und das Gesamtsystem initialisiert. Dies geschieht selbst dann, wenn in den übrigen Pufferspeichern der anderen Teilnehmer T noch genügend Speicherplatz zur Aufnahme von Empfangsdatenpaketen vorhanden ist. Da jedem Teilnehmer ein eigenständiger Pufferspeicherbereich fest zugewiesen ist; kann der in 1 dargestellte herkömmliche Datenübertragungsspeicher nach dem Stand der Technik nicht flexibel auf einen Überlauf eines Pufferspeichers reagieren, indem er beispielsweise Speicherplatz im weiteren nicht benutzten Pufferspeichern zur Verfügung stellt. Der herkömmliche Datenübertragungsspeicher nach dem Stand der Technik reagiert somit inflexibel gegenüber Belastungsspitzen bei bestimmten Zielteilnehmern und ist sehr langsam.
  • Ein weiterer Nachteil des in 1 dargestellten Datenübertragungsspeicher nach dem Stand der Technik besteht darin, dass der Datenspeicher relativ schlecht ausgelastet ist. In vielen Situationen kommt es vor, dass nur wenige Teilnehmer T des Gesamtsystems miteinander über die Datenbusse kommunizieren. Dementsprechend werden auch nur die Pufferspeicherbereiche dieser Teilnehmer innerhalb des Datenspeichers benutzt während auf die übrigen Pufferspeicher der anderen Teilnehmer innerhalb des Datenspeichers gar nicht oder nur in sehr geringem Ausmaße zugegriffen wird. Tauschen beispielsweise lediglich der Teilnehmer T1 und der Teilnehmer T8 über die Datenbusse Datenpakete miteinander aus, werden in dem Datenspeicher lediglich der Pufferspeicher 1 und der Pufferspei cher 8 innerhalb des Datenspeichers benutzt, so dass die maximale Auslastung des Datenspeichers in dieser Situation bei maximal 25 % liegt.
  • Wird für jeden Teilnehmer T ein eigener Datenübertragungsspeicher vorgesehen, ist die Auslastung dieser Speicher ebenfalls gering und es ist eine technisch aufwendige Speichersteuerung erforderlich.
  • Es ist daher die Aufgabe der vorliegenden Erfindung einen Datenübertragungsspeicher und ein Verfahren zu dessen Steuerung zu schaffen, bei dem der Speicherplatz optimal ausgenutzt wird und der sehr schnell arbeitet.
  • Diese Aufgabe wird erfindungsgemäß durch ein Steuerungsverfahren mit den in Patentanspruch 1 angegebenen Merkmalen sowie durch einen Datenübertragungsspeicher mit den im Patentanspruch 12 angegebenen Merkmalen gelöst.
  • Die Anzahl der in einem Datenspeicherblock enthaltenen Datenspeicherzellen entspricht bei einer bevorzugten Ausführungsform der Anzahl der an dem Datenübertragungsspeicher angeschlossenen Teilnehmer.
  • Die Empfangsdatenpakete weisen dabei vorzugsweise Zielinformationsdaten zur Identifizierung desjenigen Zielteilnehmers auf, für den das Empfangsdatenpaket bestimmt ist.
  • Die Speichergröße einer Daten-Speicherzelle entspricht dabei vorzugsweise der Größe eines Eingangs-Datenpakets und die Speichergröße eines Datenblocks entspricht vorzugsweise der Größe eines Ausgangs-Datenpakets.
  • Bei einer besonders bevorzugten Ausführungsform des erfindungsgemäßen Verfahrens wird der Zustand einer jeden verketteten Teilnehmer-Zeigeradressenliste in einem zugehörigen Teilnehmer-Zustandsregister abgespeichert.
  • In dem Teilnehmer-Zustandsregister wird vorzugsweise ein Anfang-Adressenzeiger auf den ersten Datenblock, ein Schluss-Adressenzeiger auf den letzten Datenblock, die Anzahl der Datenspeicherblöcke sowie der Füllstand des letzten Datenblocks gespeichert.
  • Vorzugsweise werden die freien Zeigeradressen innerhalb des Zeigeradressenspeichers in einer eigenen freien Zeigeradressenliste gespeichert.
  • In dem Empfangs-Betriebsmodus wird vorzugsweise das zuletzt empfangene Empfangsdatenpaket entsprechend dem gespeicherten Füllzustand in die nächste freie Speicherzelle des letzten Datenblocks des Zielteilnehmers eingeschrieben, der durch das Empfangs-Datenpaket identifiziert wird.
  • Nach dem Einschreiben des Empfangs-Datenpakets in den letzten Datenblock des Zielteilnehmers wird der Füllzustand in dem zugehörigen Zustandsregister vorzugsweise inkrementiert.
  • Bei einer weiteren bevorzugten Ausführungsform des erfindungsgemäßen Verfahrens wird die verkettete Teilnehmer-Zeigeradressenliste des Zielteilnehmers um einen verketteten Adressenzeiger zur Adressierung eines weiteren Datenblocks verlängert, wenn alle Speicherzellen des letzten Datenblocks des Zielteilnehmers nach dem Einschreiben gefüllt sind.
  • Bei einer weiteren bevorzugten Ausführungsform des erfindungsgemäßen Verfahrens wird im Sende-Betriebsmodus der erste Datenblock des Zielteilnehmers als Ausgangsdatenpaket gesendet.
  • Dabei wird nach dem Absenden des ersten Datenblock die verkettete Teilnehmer-Zeigeradressenliste des Zielteilnehmers um den auf den ersten Datenblock zeigenden Anfangsadressenzeiger gekürzt.
  • Der Empfangsbetriebsmodus zum Einschreiben von Empfangs-Datenpaketen in den Datenübertragungsspeicher hat bei einer bevorzugten Ausführungsform Vorrang vor dem Sendebetriebsmodus zum Senden von Ausgangs-Datenpaketen aus dem Datenübertragungsspeicher.
  • Die Erfindung schafft ferner einen Datenübertragungsspeicher zur Übertragung von Datenpaketen zwischen Teilnehmern mit den im Patentanspruch 12 angegebenen Merkmalen.
  • Der Datenspeicher ist dabei vorzugsweise ein SRAM-Speicher.
  • Der Zeiger-Adressenspeicher ist vorzugsweise ebenfalls ein SRAM-Speicher, da dieser am kostengünstigsten herstellbar ist.
  • Bei einer bevorzugten Ausführungsform des erfindungsgemäßen Datenübertragungsspeichers ist dieser über einen Empfangs-Datenbus an mehrere Quellenteilnehmer und über einen Sende-Datenbus an mehrere Zielteilnehmer angeschlossen.
  • Der Sende- und Empfangsdatenbus sind vorzugsweise bidirektionale Datenübertragungsbusse.
  • Bei einer besonders bevorzugten Ausführungsform ist der Sende- und Empfangsdatenbus ein Ethernet-Bus.
  • Ein Vorteil des erfindungsgemäßen Datenübertragungsspeichers sowie des Verfahrens zur seiner Steuerung besteht darin, dass das Überlaufen des Datenspeichers erst dann erfolgt, wenn der gesamte Datenspeicher, d.h. sämtliche Speicherzellen des Datenspeichers erfüllt sind.
  • Ein weiterer Vorteil des erfindungsgemäßen Datenübertragungsspeichers sowie dessen Steuerungsverfahren besteht darin, dass der Speicherzugriff auf den Datenspeicher mittels ver ketteter Adressenzeiger sehr schnell ist und somit eine sehr hohe Datenübertragungsrate erreicht wird.
  • Im weiteren wird eine bevorzugte Ausführungsform des erfindungsgemäßen Datenübertragungsspeichers sowie des erfindungsgemäßen Verfahrens zu dessen Steuerung unter Bezugnahme auf die beigefügten Figuren zur Erläuterung erfindungswesentlicher Merkmale beschrieben.
  • Es zeigen:
  • 1 einen Datenübertragungsspeicher nach dem Stand der Technik;
  • 2 eine bevorzugte Ausführungsform des erfindungsgemäßen Datenübertragungsspeichers;
  • 3 eine bevorzugte Ausführungsform des erfindungsgemäßen Steuerungsverfahren zur Steuerung des in 2 dargestellten Datenübertragungsspeichers.
  • Wie in 2 dargestellt, weist der erfindungsgemäßen Datenübertragungsspeicher 1 einen Zeiger-Adressenspeicher 2 und einen Datenspeicher 3 auf. Ferner enthält der Datenübertragungsspeicher 1 eine Speichersteuerung 4, die an einem ersten Datenbus 5 und an einem zweiten Datenbus 6 angeschlossen ist. Die Speichersteuerung 4 enthält eine Zeigeradressenspeicher-Steuereinheit 7 sowie eine Datenspeicher-Steuereinheit 8. Die Zeigeradressenspeicher-Steuereinheit 7 ist über Daten- und Steuerleitungen 9 mit den Zeigeradressenspeicher 2 verbunden. An die Datenspeicher-Steuereinheit 8 ist der Datenspeicher 3 über Daten- und Steuerleitungen 10 angeschlossen. Darüber hinaus ist die Speichersteuerung 4 über Datensteuerleitungen 11 mit Zustandsregistern 12-1 bis 12-N verbunden zum Abspeichern des Zustandes von verketteten Teilnehmer-Zeigeradressenlisten innerhalb des Zeigeradressenspeichers 2. Über die Datenbusse 5, 6 ist die Speichersteuerung mit Teilnehmern bzw. Teilnehmerendgeräten verbunden, die miteinander kommunizieren. Hierzu versenden Quell-Teilnehmer Datenpakete an Zielteilnehmer. Die Speichersteuerung 4 empfängt die zu übertragenen Datenpakete als Eingangsdatenpaket über einen der Datenbusse 5, 6. In den Empfangsdatenpaketen befinden sich Zielinformationsdaten zu Identifizierung desjenigen Zielteilnehmers für den das Empfangsdatenpaket bestimmt ist. Die Speichersteuerung 4 schaltet zwischen einem Empfangs-Betriebsmodus und einem Sende-Betriebsmodus um. Im Empfangs-Betriebsmodus werden die Empfangsdatenpakete in Speicherzellen des Datenspeichers 3 abgelegt. Im Sende-Betriebsmodus überträgt der Datenübertragungsspeicher 1 ein Ausgangsdatenpaket, indem der den Inhalt ganzer Datenblöcke innerhalb des Datenspeichers 3 an den Zielteilnehmer überträgt. Bei dem Zeigeradressenspeicher 2 und dem Datenspeicher 3 handelt es sich vorzugsweise um SRAM-Speicher. Die Datenbusse 5, 6 sind vorzugsweise Ethernet-Busse.
  • 3 stellt das erfindungsgemäße Verfahren zur Steuerung des Datenübertragungsspeichers 1 dar. Nach dem Start wird in einem Schritt So eine Initialisierung durchgeführt, bei der für jeden an den Datenübertragungsspeicher 1 angeschlossenen Teilnehmer eine Teilnehmer-Zeigeradressenliste generiert wird und ein Anfangszustand in den zugehörigen Zustandsregister 12-1 bis 12-N gespeichert.
  • In einem Schritt S1 wird geprüft, ob ein Sende-Betriebsmodus S vorliegt oder ein Empfangs-Betriebsmodus E. In dem Sende-Betriebsmodus S überträgt der Datenübertragungsspeicher 1 Ausgangsdatenpakete über den Ausgangsdatenbus an Zielteilnehmer. In dem Sende-Betriebsmodus S werden Ausgangsdatenpakete aus dem Datenspeicher 3 ausgelesen. In dem Empfangs-Betriebsmodus E werden Empfangsdatenpakete in Speicherzellen des Datenspeichers 3 eingeschrieben. Die Größe der im Sende-Betriebsmodus S abgesendeten Ausgangsdatenpakete entspricht der Speichergröße von Datenblöcken innerhalb des Datenspeichers 3. Die Datenblöcke bestehen dabei jeweils aus mehreren Spei cherzellen. Die Größe der Speicherzellen entspricht vorzugsweise der Größe der Eingangsdatenpakete. im Sende-Betriebsmodus S erfolgt ein Lesezugriff auf den Datenspeicher 3, während im Empfangs-Betriebsmodus E ein Schreibzugriff auf den Datenspeicher 3 erfolgt.
  • Wird im Schritt S1 festgestellt, das kein Empfangs-Betriebsmodus E vorliegt, d.h. kein Schreibzugriff auf den Datenspeicher 3, wird im Schritt S2 geprüft, ob sich der Datenübertragungsspeicher 1 im Sende-Betriebsmodus S befindet, d.h. ein Lesezugriff auf den Datenspeicher 3 erfolgen soll.
  • Falls im Schritt S2 festgestellt wird, dass ein Sende-Betriebsmodus S vorliegt wird in einem Schritt S3 durch den Anfangsadressenzeiger, der in dem Zustandsregister 12-i des Zielteilnehmers gespeichert ist, ein Datenblock zum Auslesen eines Ausgangsdatenpakets adressiert.
  • In einem weiteren Schritt S4 wird geprüft ob der Anfangsadressenzeiger und der Schluss-Adressenzeiger des Zielteilnehmers gleich sind oder nicht.
  • Falls der Anfangsadressenzeiger und der Schlussadressenzeiger der Teilnehmer-Zeigeradressenliste des Zielteilnehmers gleich sind, wird beim Schritt S5 der Füllzustand in dem zugehörigen Zustandsregister des Zielteilnehmers auf Null gesetzt.
  • Falls umgekehrt der Anfangsadressenzeiger und der Schlussadressenzeiger nicht gleich sind, wird in einem Schritt S6 die verkettete Teilnehmer-Zeigeradressenliste des Zielteilnehmers gekürzt.
  • Zur Beschreibung des Zustandes einer Teilnehmer-Zeigeradressenliste enthält das zugehörige Zustandsregister 12-i eines Teilnehmers i Datenfelder zur Beschreibung des Zustandes der verketteten Teilnehmer-Zeigeradressenliste.
  • Hierzu sind innerhalb des Zustandsregisters 12-i in einem ersten Datenfeld Anfangs-Adressenzeiger auf den ersten Datenblock innerhalb des Datenspeichers 3, in einem zweiten Datenfeld einen Schluss-Adressenzeiger den letzten Datenblock innerhalb des Datenspeichers 3, in einem dritten Datenfeld die Anzahl der Datenspeicherblöcke und in einem vierten Datenfeld der Füllstand des letzten Datenblocks abgespeichert.
  • Da im Sendebetrieb S ein Datenblock bzw. ein Ausgangsdatenpaket aus dem Datenspeicher 3 ausgelesen wird, muss die zugehörige Teilnehmer-Zeigeradressenliste des Zielteilnehmers, an den das Ausgangsdatenpaket abgesendet worden ist, um den Adressenzeiger gekürzt werden, der auf den abgesandten Datenblock zeigt. Hierzu werden die Datenfelder innerhalb des zugehörigen Zustandsregisters 12-i mit neuen Datenwerten belegt. Dabei wird in das erste Datenfeld als neuer Anfangs-Adressenzeiger die nächste Zeigeradresse der verketteten Teilnehmer-Zeigeradressenliste eingeschrieben. Weiterhin wird im Schritt S6 in das zweite Datenfeld die Anfangs-Zeigeradresse des Zielteilnehmers als Schluss-Adressenzeigerspeicher gespeichert. Ferner wird in der verketteten Liste der freien Zeigeradressen die vorletzte freie Zeigeradresse mit dem Wert der letzten freien Zeigeradresse belegt. Nach Kürzung der Teilnehmer-Zeigeradressenliste im Schritt S6 kehrt der Programmablauf zu Schritt S1 zurück.
  • Falls im Schritt S1 festgestellt wird, dass der Empfangs-Betriebsmodus E vorliegt, wird in Schritt S7 die Speicherzellenadresse derjenigen Speicherzelle innerhalb des Datenspeichers 3 berechnet, in die das Empfangsdatenpaket eingeschrieben wird. Die Speicherzellenadresse ergibt sich dabei in Abhängigkeit von dem Schluss-Adressenzeiger auf den letzten Datenblock für den Zielteilnehmer sowie den zugehörigen Füllzustand des letzten Datenblocks. Nach dem Einschreiben des Eingangsdatenpakets in die adressierte Speicherzelle wird in einem Schritt S8 geprüft, ob der Datenblock, in dem sich die adressierte Speicherzelle befindet, durch das Beschreiben der Speicherzelle nunmehr voll ist. Fall im Schritt S8 festgestellt wird, dass der Datenblock nunmehr gefüllt ist, geht der Programmablauf zu Schritt S9 über. Im Schritt S9 wird die Teilnehmer-Zeigeradressenliste des Zielteilnehmers, der das letzte Eingangsdatenpaket erhalten hat, zur Adressierung eines weiteren Datenblocks innerhalb des Datenspeichers 3 um einem Adressenzeiger verlängert. Hierzu wird im Schritt S9 der Füllstand in dem zugehörigen Zustandsregister 12-i der Zielteilnehmers auf Null gesetzt und die Anzahl der Datenspeicherblöcke inkrementiert. Weiterhin wird in dem dritten Datenfeld des Zustandsregisters 12-i als neuer Schluss-Adressenzeiger der Anfangs-Adressenzeiger der freien Zeigerkette abgespeichert. Der vorletzte Adressenzeiger des Zielteilnehmers erhält als neuen Wert den bisherigen Schluss-Adressenzeiger des Zielteilnehmers. Weiterhin wird dem Anfangs-Adressenzeiger der freien Zeigeradressenliste der nächste freie Adressenzeiger zugewiesen. Im Schritt S9 wird somit die Teilnehmer-Zeigeradressenliste des Zielteilnehmers zur Adressierung eines weiteren Datenblocks mit mehreren Speicherzellen innerhalb des Datenspeichers 3 erweitert. Danach kehrt der Verfahrensablauf zu Schritt S1 zurück.
  • Wird im Schritt S8 festgestellt, dass nach dem Abspeichern des Eingangsdatenpakets, die adressierte Speicherzelle desjenigen Datenblocks, in dem sich die Speicherzelle befindet, nicht gefüllt ist, wird im Schritt S10 der Füllzustand dieses letzten Datenblocks um 1 inkrementiert. Danach kehrt der Verfahrensablauf zu Schritt S1 zurück.
  • Wie man aus 3 erkennen kann ermöglicht das erfindungsgemäße Verfahren zur Steuerung des Datenübertragungsspeichers 1 eine dynamische Datenspeicherverwaltung über verkettete Teilnehmer-Zeigeradressenlisten für die verschiedenen Teilnehmer, wobei die verketteten Teilnehmer-Zeigeradressenlisten in dem Zeiger-Adressenspeicher 2 abgespeichert sind. Jede verkettete Teilnehmer-Zeigeradressenliste wird durch die Dateninhalte der verschiedenen Datenfelder innerhalb des zuge hörigen Zustandsregisters 12-i beschrieben. Jede Teilnehmer-Zeigeradressenliste wird dabei in Abhängigkeit von dem jeweiligen Speicherbedarf des Zielteilnehmers um ein Adressenzeiger-Kettenglied gekürzt oder verlängert. Dabei wird die Teilnehmer-Zeigeradressenliste bei jedem notwendigen zusätzlichen Datenblock für den Zielteilnehmer innerhalb des Datenspeichers 3 um einen Adressenzeiger verlängert. Sinkt der Speicherbedarf für einen Zielteilnehmer auf Grund des Absendens eines Ausgangsdatenpakets, dessen Größe einem Datenblock innerhalb des Datenspeichers 3 entspricht, wird die zugehörige Zeigeradressenliste des Zielteilnehmers um ein Adressenzeigerglied dynamisch gekürzt.
  • Die flexible Speicherbelegung des Datenspeichers 3 ermöglicht im Extremfall sogar die Belegung des gesamten Datenspeichers 3 mit Eingangsdatenpaketen für einen einzigen Zielteilnehmer. Dies ist besonders in Situationen hilfreich in denen ein Zielteilnehmer eine sehr große Menge an Datenpaketen von den übrigen Teilnehmern erhält. Bei einer derartigen Situation erfolgt ein Überlaufen des Datenspeichers 3 erst dann, wenn sämtliche Speicherzellen mit Eingangsdatenpaketen für den Zielteilnehmer belegt sind. Der Pufferspeicher für jeden Zielteilnehmer kann somit bei dem erfindungsgemäßen Steuerungsverfahren die Größe des gesamten Datenspeichers 3 haben.
  • Durch die dynamische Speicherplatzbelegung des Datenspeichers 3 wird auch eine viel höhere Speicherauslastung des Datenspeichers 3 erreicht. Da die Adressierung der Speicherzellen über verkettete Zeigeradressenlisten, die auf den zugehörigen Datenblock zeigen, in dem die Speicherzelle vorgesehen ist, erfolgt, ist die durch die Speichersteuerung 4 benötigte Adressierungszeit zur Adressierung der Speicherzelle sehr gering. Hierdurch können sehr hohe Datenübertragungsgeschwindigkeiten erreicht werden. Der in 2 dargestellte Datenübertragungsspeicher 1 befindet sich entweder in einem Datenübertragungsrechner und/oder innerhalb eines jeden Teilnehmers. Bei einer bevorzugten Ausführungsform ist der Daten übertragungsspeicher 1 an einem Sendedatenbus zum Empfang von Eingangsdatenpaketen sowie an einen Ausgangsdatenbus zum Absenden von Ausgangsdatenpaketen angeschlossen. Bei einer alternativen Ausführungsform ist die Speichersteuerung 4 an einem bidirektionalen Datenbus angeschlossen über den die Datenpakete empfangen und gesendet werden.
  • Der Datenübertragungsspeicher 1 ermöglicht den Aufbau beliebiger Datennetze in Stern- oder Ringform.
  • Der erfindungsgemäße Datenübertragungsspeicher 1 eignet sich insbesondere zum Anschluss an Ethernet-Busse. Bei einer besonders bevorzugten Ausführungsform ist der in 3 dargestellte Verfahrensablauf in der Speichersteuerung 4 verdrahtet bzw. hardwaremäßig implementiert. Bei einer weiteren bevorzugten Ausführungsform sind der Zeigeradressenspeicher 2 und der Datenspeicher 3 zwei getrennte Speicherbereiche innerhalb eines SRAM-Speichers.
  • Die Speichergröße des Zeigeradressenspeichers 2 sowie des Datenspeichers 3 hängt von der Anzahl der Übertragungs-Teilnehmer sowie der Größe der zu übertragenden Datenpakete ab. Die Anzahl der in einem Datenblock enthaltenen Daten-Speicherzellen hängt von dem Größenverhältnis zwischen Ausgangsdatenpaketen und Eingangsdatenpaketen ab. In der Regel ist die Größe der Ausgangsdatenpakete, die an die Zielteilnehmer über den Ausgangsdatenbus gesendet werden, größer als die Größe der Eingangsdatenpakete, die der Datenübertragungsspeicher 1 über den Eingangsbus erhält. Beispielsweise werden 8 Eingangsdatenpakete, die von verschiedenen Quellen-Teilnehmern an den Zielteilnehmern geschickt werden, auf den Datenübertragungsspeicher 1 zu einem Ausgangsdatenpaket zusammengefasst.

Claims (17)

  1. Verfahren zur Steuerung eines Datenübertragungsspeichers (1) für die Übertragung von Datenpaketen zwischen Teilnehmern T, (a) wobei für jeden Teilnehmer T jeweils eine verkettete Teilnehmer-Zeigeradressenliste mit Zeigeradressen zur Adressierung von aus mehreren Datenspeicherzellen bestehenden Datenspeicherblöcken eines Datenspeichers (3) in einem Zeiger-Adressenspeicher (2) abgespeichert wird, (b) wobei für jede verkettete Teilnehmer-Zeigeradressenliste ein Anfangs-Adressenzeiger auf einen ersten Datenspeicherblock, ein Schluss-Adressenzeiger auf den letzten Datenspeicherblock, die Anzahl der Datenspeicherblöcke sowie der Füllzustand des letzten Datenspeicherblocks jeder verketteten Teilnehmer-Zeigeradressenliste in einem zugehörigen Teilnehmer-Zustandsregister (12) als Zustand der verketteten Zeigeradressenliste gespeichert werden, (c) wobei der Datenübertragungsspeicher (1) eine Speichersteuerung (4) aufweist, die zwischen einem Empfangs-Betriebsmodus (E) und einem Sende-Betriebsmodus (S) umschaltbar ist, (d) wobei in den Empfangs-Betriebsmodus (E) von verschiedenen Quell-Teilnehmern Empfangs-Datenpakete über einen Empfangsdatenbus (5; 6) empfangen und in Datenspeicherzellen des durch die Teilnehmer-Zeigeradressenliste adressierten Datenspeicherblocks abgespeichert werden, und (e) wobei in dem Sende-Betriebsmodus (S) aus den Datenspeicherblöcken jeweils Ausgangs-Datenpakete ausge lesen und an den zugehörigen Zielteilnehmer über einen Ausgangsdatenbus (5; 6) gesendet werden.
  2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass die Anzahl der in dem Datenspeicherblock enthaltenen Datenspeicherzellen der Anzahl der Teilnehmer entspricht.
  3. Verfahren nach einem der vorangegangenen Ansprüche, bei dem jedes Empfangs-Datenpaket Zielinformationsdaten zur Identifizierung desjenigen Zielteilnehmers, für den das Empfangs-Datenpaket bestimmt ist, enthält.
  4. Verfahren nach einem der vorangegangenen Ansprüche, bei dem die Speichergröße einer Datenspeicherzelle der Größe eines Eingangs-Datenpakets und die Speichergröße eines Datenspeicherblocks der Größe eines Ausgangs-Datenpakets entspricht.
  5. Verfahren nach einem der vorangegangenen Ansprüche, bei dem in dem Zeiger-Adressenspeicher (2) eine Zeigeradressenliste der freien Zeigeradressen abgespeichert wird, so dass der Zeiger-Adressenspeicher (2) eine Abbildung des Datenspeichers (3) bildet.
  6. Verfahren nach einem der vorangegangenen Ansprüche 1-5, bei dem im Empfangs-Betriebsmodus das zuletzt empfangene Empfangs-Datenpaket entsprechend dem gespeicherten Füllzustand in die nächste freie Speicherzelle des letzten Datenspeicherblocks des Zielteilnehmers eingeschrieben wird.
  7. Verfahren nach einem der vorangegangenen Ansprüche, bei dem nach dem Einspeichern des Empfangs-Datenpakets in den letzten Datenspeicherblock des Zielteilnehmers der Füllzustand in den zugehörigen Zustandsregister (12) inkrementiert wird.
  8. Verfahren nach einem der vorangegangenen Ansprüche, bei dem die verkettete Teilnehmer-Zeigeradressenliste des Zielteilnehmers um einen verketteten Adressenzeiger zur Adressierung eines weiteren Datenspeicherblocks verlängert wird, wenn alle Speicherzellen des letzten Datenspeicherblocks des Zielteilnehmers nach dem Einschreiben gefüllt sind.
  9. Verfahren nach einem der vorangegangenen Ansprüche 1-8, bei dem in dem Sende-Betriebsmodus (S) der erste Datenspeicherblock des Zielteilnehmers als Ausgangs-Datenpaket gesendet wird.
  10. Verfahren nach einem der vorangegangenen Ansprüche, bei dem nach dem Absenden des ersten Datenspeicherblocks die verketteten Teilnehmer-Zeigeradressenliste des Zielteilnehmers um den auf den ersten Datenblock zeigenden Anfangsadressenzeiger gekürzt wird, wobei ein Anfangs-Adressenzeiger auf den ersten Datenspeicherblock, ein Schluss-Adressenzeiger auf den letzten Datenspeicherblock, die Anzahl der Datenspeicherblöcke sowie der Füllzustand des letzten Datenspeicherblocks abgespeichert werden.
  11. Verfahren nach einem der vorangegangenen Ansprüche 1-10, bei dem der Empfangs-Betriebsmodus zum Einschreiben von Empfangsdatenpakete in den Datenübertragungsspeicher (1) Vorrang vor dem Sende-Betriebsmodus zum Senden von Ausgangsdatenpaketen aus dem Datenübertragungsspeicher (1) hat.
  12. Datenübertragungsspeicher (1) zur Übertragung von Datenpaketen zwischen Teilnehmern T mit: (a) einem Zeiger-Adressenspeicher (2) in dem für jeden Teilnehmer (T) jeweils eine verkettete aus Zeigeradressen bestehende Teilnehmer-Zeigeradressenliste mit Zeigeradressen zur Adressierung von aus mehreren Datenspeicherzellen bestehenden Datenspeicherblöcken gespeichert ist; (b) mehreren Teilnehmer-Zustandsregistern (12), die jeweils den Zustand einer zugehörigen Teilnehmer-Zeigeradressenliste speichern, wobei ein Anfangs-Adressenzeiger auf den ersten Datenspeicherblock, ein Schluss-Adressenzeiger auf den letzten Datenspeicherblock, die Anzahl der Datenspeicherblöcke sowie der Füllzustand des letzten Datenspeicherblocks jeder verketteten Teilnehmer-Zeigeradressenliste in einem zugehörigen Teilnehmer-Zustandsregister (12) als Zustand der verketteten Zeigeradressenliste gespeichert sind, (c) einem Datenspeicher (3) zum Speichern von Datenspeicherblöcken, die durch die Zeigeradressen adressierbar sind; und mit (d) einer zwischen einem Empfangs-Betriebsmodus (E) und einem Sende-Betriebsmodus (S) umschaltbaren Speichersteuerung (4) zur Steuerung des Zeiger-Adressenspeichers (2) und des Datenspeichers (3), wobei in dem Empfangs-Betriebsmodus (E) von verschiedenen Quell-Teilnehmern Empfangsdatenpakete über einen Empfangsdatenbus (5; 6) empfangen und in Datenspeicherzellen des durch die Teilnehmer-Zeigeradressenliste adressierten Datenspeicherblocks abgespeichert werden, und wobei in dem Sende-Betriebsmodus (S) aus den Datenspeicherblöcken jeweils Ausgangsdatenpakete ausgele sen und an den zugehörigen Zielteilnehmer über einen Ausgangsdatenbus (5; 6) gesendet werden.
  13. Datenübertragungsspeicher nach Anspruch 12, dadurch gekennzeichnet, dass der Datenspeicher (3) ein SRAM-Speicher ist.
  14. Datenübertragungsspeicher nach Anspruch 12, dadurch gekennzeichnet, dass der Zeiger-Adressenspeicher (2) ein SRAM-Speicher ist.
  15. Datenübertragungsspeicher nach einem der vorangegangenen Ansprüche, dadurch gekennzeichnet, dass die Speichersteuerung (4) über einen Empfangsdatenbus an Quell-Teilnehmer und über einen Sendedatenbus am Ziel-Teilnehmer angeschlossen ist.
  16. Datenübertragungsspeicher nach einem der vorangegangenen Ansprüche, dadurch gekennzeichnet, dass der Sende und Empfangsdatenbus ein bidirektionaler Bus zur bidirektionalen Datenübertragung ist.
  17. Datenübertragungsspeicher nach einem der vorangegangenen Ansprüche, dadurch gekennzeichnet, dass der Bus ein Ethernetbus ist.
DE10015683A 2000-03-29 2000-03-29 Datenübertragungsspeicher Expired - Fee Related DE10015683B4 (de)

Priority Applications (2)

Application Number Priority Date Filing Date Title
DE10015683A DE10015683B4 (de) 2000-03-29 2000-03-29 Datenübertragungsspeicher
US09/820,449 US7116659B2 (en) 2000-03-29 2001-03-29 Data transmission memory

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE10015683A DE10015683B4 (de) 2000-03-29 2000-03-29 Datenübertragungsspeicher
US09/820,449 US7116659B2 (en) 2000-03-29 2001-03-29 Data transmission memory

Publications (2)

Publication Number Publication Date
DE10015683A1 DE10015683A1 (de) 2001-10-11
DE10015683B4 true DE10015683B4 (de) 2006-07-13

Family

ID=26005093

Family Applications (1)

Application Number Title Priority Date Filing Date
DE10015683A Expired - Fee Related DE10015683B4 (de) 2000-03-29 2000-03-29 Datenübertragungsspeicher

Country Status (2)

Country Link
US (1) US7116659B2 (de)
DE (1) DE10015683B4 (de)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080005366A1 (en) * 2006-04-04 2008-01-03 Sreenidhi Raatni Apparatus and methods for handling requests over an interface
US8782094B2 (en) * 2009-09-30 2014-07-15 Konica Minolta Laboratory U.S.A., Inc. Systems and methods for managing data in complex containers
US8335875B1 (en) * 2011-06-24 2012-12-18 Intel Corporation System and method for performing isochronous data buffering
US11722248B1 (en) * 2022-01-26 2023-08-08 Zurn Industries, Llc Cloud communication for an edge device

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3114734C2 (de) * 1981-04-11 1989-11-30 Licentia Patent-Verwaltungs-Gmbh, 6000 Frankfurt, De
US5651002A (en) * 1995-07-12 1997-07-22 3Com Corporation Internetworking device with enhanced packet header translation and memory
WO1999000939A1 (en) * 1997-06-30 1999-01-07 Sun Microsystems, Inc. Shared memory management in a switched network element

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04281642A (ja) * 1991-03-11 1992-10-07 Fujitsu Ltd 共用バッファを用いたクロスポイント型スイッチ装置
US5426424A (en) * 1992-05-08 1995-06-20 Motorola, Inc. Selective call receiver with database capability
US5784698A (en) * 1995-12-05 1998-07-21 International Business Machines Corporation Dynamic memory allocation that enalbes efficient use of buffer pool memory segments
US5970069A (en) * 1997-04-21 1999-10-19 Lsi Logic Corporation Single chip remote access processor
US6487202B1 (en) * 1997-06-30 2002-11-26 Cisco Technology, Inc. Method and apparatus for maximizing memory throughput
US6088777A (en) * 1997-11-12 2000-07-11 Ericsson Messaging Systems, Inc. Memory system and method for dynamically allocating a memory divided into plural classes with different block sizes to store variable length messages
US6430666B1 (en) * 1998-08-24 2002-08-06 Motorola, Inc. Linked list memory and method therefor
SE521609C2 (sv) * 1998-10-28 2003-11-18 Switchcore Ab Buffertminne, buffertkontrollenhet och en metod för att hantera köer i en ATM-växel
KR100280642B1 (ko) * 1998-11-18 2001-05-02 윤종용 이더넷 컨트롤러의 메모리 관리 장치 및 그 제어방법
US6246682B1 (en) * 1999-03-05 2001-06-12 Transwitch Corp. Method and apparatus for managing multiple ATM cell queues
US6421769B1 (en) * 1999-12-30 2002-07-16 Intel Corporation Efficient memory management for channel drivers in next generation I/O system
US6622183B1 (en) * 2000-03-21 2003-09-16 Lsi Logic Corporation Data transmission buffer having frame counter feedback for re-transmitting aborted data frames
US6604147B1 (en) * 2000-05-09 2003-08-05 Lucent Technologies Inc. Scalable IP edge router
US6694388B1 (en) * 2000-05-31 2004-02-17 3Com Corporation Dynamic queuing system incorporating multiple queues sharing a single memory

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3114734C2 (de) * 1981-04-11 1989-11-30 Licentia Patent-Verwaltungs-Gmbh, 6000 Frankfurt, De
US5651002A (en) * 1995-07-12 1997-07-22 3Com Corporation Internetworking device with enhanced packet header translation and memory
WO1999000939A1 (en) * 1997-06-30 1999-01-07 Sun Microsystems, Inc. Shared memory management in a switched network element

Also Published As

Publication number Publication date
DE10015683A1 (de) 2001-10-11
US20020141410A1 (en) 2002-10-03
US7116659B2 (en) 2006-10-03

Similar Documents

Publication Publication Date Title
DE60203057T2 (de) Effizienter Optimierungsalgorithmus für Speichergebrauch in Netzwerkanwendungen
DE60130079T2 (de) Verfahren und vorrichtung zur paketvermittlung mittels eines geteilten pufferspeichers
DE69630084T2 (de) Anlage und Verfahren zur Paketierung und Segmentierung von MPEG-Paketen
DE69124645T2 (de) Verfahren und Schaltung zur Verkehrsformung
DE69534758T2 (de) Verfahren und System für Mehrfachübertragung
EP2115948B1 (de) Verfahren und anlage zur optimierten übertragung von daten zwischen einer steuereinrichtung und mehreren feldgeräten
EP0447841A2 (de) Verfahren zum Einrichten von virtuellen Verbindungen in nach einem asynchronen Transfermodus arbeitenden Vermittlungseinrichtungen
EP1101329A2 (de) Brückenmodul
DE69112687T2 (de) ATM-artiges Vermittlungselement mit mehreren Betriebsarten und dieses enthaltendes Vermittlungsnetzwerk.
DE69924217T2 (de) Puffer-Speicher für mehrere Datenkommunikationskanäle
DE602004008712T2 (de) Speicherbandbreiten-Steuereinrichtung
DE10015683B4 (de) Datenübertragungsspeicher
DE60205106T2 (de) Serielle Peripherieschnittstelle und Verwaltungsverfahren dafür
EP1370952B1 (de) Kommunikationsverfahren zur realisierung von ereigniskanälen in einem zeitgesteuerten kommunikationssystem
EP1099153B1 (de) Speichereinrichtung und verfahren zum betreiben der speichereinrichtung
DE69831308T2 (de) Verfahren zur übersetzung eines atm-zellenkopfs
DE4129412A1 (de) Verfahren zur datenuebertragung und datenverarbeitungsanlage mit verteilten rechnerknoten
DE68903986T2 (de) Vermittlungssystem fuer leitungs- und/oder paketvermittelte nachrichtenuebertragungen.
DE102008001739B4 (de) Verfahren zum Steuern eines Zugriffs auf Bereiche eines Speichers aus mehreren Prozessen heraus und Kommunikations-Modul mit einem Nachrichten-Speicher zur Realisierung des Verfahrens
EP1081913B1 (de) Netzwerk mit einer Kennungsreduktion
DE102009044936A1 (de) Verfahren zum Austauschen von Daten
DE69533853T2 (de) Methode und Apparat für Mehrfachsendung von ATM-Zellen
DE102008000649A1 (de) Speicher-Verwaltungsvorrichtung und Verfahren für diese
DE69923041T2 (de) Einrichtung für Datenübertragung, Verfahren und Rechnerprogrammprodukt zur Durchführung eines Datenkommunikationsprotokolls mit einer effizienten Bildung von Datagrammen
DE60119639T2 (de) Kommunikationssteuerungssystem, -verfahren und -speichermedium für Multiplexkommunikation

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8364 No opposition during term of opposition
8327 Change in the person/name/address of the patent owner

Owner name: LANTIQ DEUTSCHLAND GMBH, 85579 NEUBIBERG, DE

R081 Change of applicant/patentee

Owner name: LANTIQ DEUTSCHLAND GMBH, DE

Free format text: FORMER OWNER: INFINEON TECHNOLOGIES AG, 81669 MUENCHEN, DE

Effective date: 20110325

Owner name: LANTIQ BETEILIGUNGS-GMBH & CO. KG, DE

Free format text: FORMER OWNER: INFINEON TECHNOLOGIES AG, 81669 MUENCHEN, DE

Effective date: 20110325

R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: H04L0012560000

Ipc: H04L0012861000

R081 Change of applicant/patentee

Owner name: LANTIQ BETEILIGUNGS-GMBH & CO. KG, DE

Free format text: FORMER OWNER: LANTIQ DEUTSCHLAND GMBH, 85579 NEUBIBERG, DE

R082 Change of representative

Representative=s name: MUELLER-BORE & PARTNER PATENTANWAELTE PARTG MB, DE

R082 Change of representative
R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee