DE10015683A1 - Datenübertragungsspeicher - Google Patents

Datenübertragungsspeicher

Info

Publication number
DE10015683A1
DE10015683A1 DE10015683A DE10015683A DE10015683A1 DE 10015683 A1 DE10015683 A1 DE 10015683A1 DE 10015683 A DE10015683 A DE 10015683A DE 10015683 A DE10015683 A DE 10015683A DE 10015683 A1 DE10015683 A1 DE 10015683A1
Authority
DE
Germany
Prior art keywords
data
memory
subscriber
pointer
address
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.)
Granted
Application number
DE10015683A
Other languages
English (en)
Other versions
DE10015683B4 (de
Inventor
Mathias 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

Abstract

Datenübertragungsspeicher (1) zur Übertragung von Datenpaketen zwischen Teilnehmern T mit einem Zeiger-Adressenspeicher (2) zum Speichern verketteter, aus Zeigeradressen bestehenden Teilnehmer-Zeigeradressenlisten für jeden Teilnehmer, mehreren Teilnehmer-Zustandsregister (12), die jeweils den Zustand einer zugehörigen Teilnehmer-Zeigeradressenliste speichern, einem Datenspeicher (3) zum Speichern von Datenspeicherblöcken, die durch die Zeigeradressen adressierbar sind und mit einer Speichersteuerung (4) zur Steuerung des Zeiger-Adressenspeichers (2) und des Datenspeichers (3).

Description

Die Erfindung betrifft einen Datenübertragungsspeicher sowie ein Verfahren zu dessen Steuerung für die Übertragung von Da­ tenpaketen zwischen mehreren Teilnehmern.
Fig. 1 zeigt einen Datenübertragungsspeicher nach dem Stand der Technik. Dieser herkömmliche Datenübertragungsspeicher dient zur Datenübertragung zwischen verschiedenen Teilnehmern T1-T8. 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 T1-T8 verbunden. Der Datenübertragungsspeicher ist dabei entweder in einem selbständigen Bus-Schaltgerät in­ tegriert oder bildet selbst einen Teil eines Teilnehmers T. Jeder der in Fig. 1 dargestellten Teilnehmer T1-T8 kann aber ebenfalls einen entsprechenden Datenübertragungsspeicher als Verknüpfung mit weiteren Teilnehmern T aufweisen. Der Da­ tenübertragungsspeicher enthält eine Speichersteuerung die über interne Daten und Steuerleitungen mit einem Datenspei­ cher verbunden ist. Der in dem Datenübertragungsspeicher in­ tegrierte Datenspeicher ist ein RAM-Speicher, der in ver­ schiedene Speicherbereiche bzw. Puffer 1 bis Puffer 8 unter­ teilt ist. Die Anzahl der Speicherbereiche des Datenspeichers entspricht der Anzahl der an dem Datenübertragungsspeicher angeschlossenen Teilnehmer T1-T8. 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 Ein­ gangsdatenpakete, die für einen bestimmten Teilnehmer Ti be­ stimmt sind, in dem zugehörigen Pufferspeicher i zwischenge­ speichert, zu einem Ausgangsdatenpaket zusammengefasst und an den Ziel-Teilnehmer Ti über den Ausgangs-Datenbus gesendet.
Der in Fig. 1 dargestellte herkömmliche Datenübertragungs­ speicher weist einige erhebliche Nachteile auf. Wenn ein Ziel-Teilnehmer in einer besonderen Situation des Gesamtsys­ tems 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 ei­ genen Datenpakete in den Pufferspeicher i mehr abgespeichert werden können. In diesem Falle wird das überlaufen des ent­ sprechenden Pufferspeichers durch die Speichersteuerung er­ kannt, die Datenübertragung gestoppt und das Gesamtsystem initialisiert. Dies geschieht selbst dann, wenn in den übri­ gen Pufferspeichern der anderen Teilnehmer T noch genügend Speicherplatz zur Aufnahme von Empfangsdatenpaketen vorhanden ist. Da jedem Teilnehmer ein eigenständiger Pufferspeicherbe­ reich fest zugewiesen ist; kann der in Fig. 1 dargestellte herkömmliche Datenübertragungsspeicher nach dem Stand der Technik nicht flexibel auf einen Überlauf eines Pufferspei­ chers 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 Fig. 1 dargestellten Datenüber­ tragungsspeicher 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 kommunizie­ ren. Dementsprechend werden auch nur die Pufferspeicherberei­ che dieser Teilnehmer innerhalb des Datenspeichers benutzt während auf die übrigen Pufferspeicher der anderen Teilnehmer innerhalb des Datenspeichers gar nicht oder nur in sehr ge­ ringem Ausmaße zugegriffen wird. Tauschen beispielsweise le­ diglich der Teilnehmer T1 und der Teilnehmer T8 über die Da­ tenbusse Datenpakete miteinander aus, werden in dem Daten­ speicher lediglich der Pufferspeicher 1 und der Pufferspeicher 8 innerhalb des Datenspeichers benutzt, so dass die ma­ ximale Auslastung des Datenspeichers in dieser Situation bei maximal 25% liegt.
Wird für jeden Teilnehmer T ein eigener Datenübertragungs­ speicher vorgesehen, ist die Auslastung dieser Speicher eben­ falls gering und es ist eine technisch aufwendige Speicher­ steuerung erforderlich.
Es ist daher die Aufgabe der vorliegenden Erfindung einen Da­ tenü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 Steuerungsver­ fahren mit den in Patentanspruch 1 angegebenen Merkmalen so­ wie durch einen Datenübertragungsspeicher mit den im Patent­ anspruch 17 angegebenen Merkmalen gelöst.
Die Erfindung schafft ein Verfahren zur Steuerung eines Da­ tenübertragungsspeichers für die Übertragung von Datenpaketen zwischen Teilnehmern, bei dem für jeden Teilnehmer eine ver­ kettete Teilnehmer-Zeigeradressenliste mit Adressenzeigern zur Adressierung von Datenspeicherblöcken eines Datenspei­ chers in einem Zeiger-Adressenspeicher abgespeichert wird.
Dabei besteht jeder Datenspeicherblock vorzugsweise aus meh­ reren Daten-Speicherzellen.
Die Anzahl der in einem Datenspeicherblock enthaltenen Daten­ speicherzellen entspricht bei einer bevorzugten Ausführungs­ form der Anzahl der an dem Datenübertragungsspeicher ange­ schlossenen Teilnehmer.
Bei einer weiteren bevorzugten Ausführungsform des erfin­ dungsgemäßen Verfahrens werden in einem Empfangs-Betriebsmo­ dus Empfangsdatenpakete über einen Empfangs-Datenbus von verschiedenen Quell-Teilnehmern empfangen und in Datenspeicher­ zellen eines Datenspeicherblocks abgespeichert.
Bei einer weiteren bevorzugten Ausführungsform des erfin­ dungsgemäßen Verfahrens werden in einem Sendebetriebsmodus aus einem Datenspeicherblock jeweils Ausgangs-Datenpakete ausgelesen und an den zugehörigen Zielteilnehmer über einen Ausgangsdatenbus gesendet.
Die Empfangsdatenpakete weisen dabei vorzugsweise Zielinfor­ mationsdaten 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 erfin­ dungsgemäßen Verfahrens wird der Zustand einer jeden verket­ teten Teilnehmer-Zeigeradressenliste in einem zugehörigen Teilnehmer-Zustandsregister abgespeichert.
In dem Teilnehmer-Zustandsregister wird vorzugsweise ein An­ fang-Adressenzeiger auf den ersten Datenblock, ein Schluss- Adressenzeiger auf den letzten Datenblock, die Anzahl der Da­ tenspeicherblöcke sowie der Füllstand des letzten Datenblocks gespeichert.
Vorzugsweise werden die freien Zeigeradressen innerhalb des Zeigeradressenspeichers in einer eigenen freien Zeigeradres­ senliste 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 erfin­ dungsgemäßen Verfahrens wird die verkettete Teilnehmer-Zei­ geradressenliste des Zielteilnehmers um einen verketteten Ad­ ressenzeiger zur Adressierung eines weiteren Datenblocks ver­ längert, wenn alle Speicherzellen des letzten Datenblocks des Zielteilnehmers nach dem Einschreiben gefüllt sind.
Bei einer weiteren bevorzugten Ausführungsform des erfin­ dungsgemäßen Verfahrens wird im Sende-Betriebsmodus der erste Datenblock des Zielteilnehmers als Ausgangsdatenpaket gesen­ det.
Dabei wird nach dem Absenden des ersten Datenblock die ver­ kettete Teilnehmer-Zeigeradressenliste des Zielteilnehmers um den auf den ersten Datenblock zeigenden Anfangsadressenzeiger gekürzt.
Der Empfangsbetriebsmodus zum Einschreiben von Empfangs-Da­ tenpaketen in den Datenübertragungsspeicher hat bei einer bevorzugten Ausführungsform Vorrang vor dem Sendebetriebsmo­ dus zum Senden von Ausgangs-Datenpaketen aus dem Datenüber­ tragungsspeicher.
Die Erfindung schafft ferner einen Datenübertragungsspeicher zur Übertragung von Datenpaketen zwischen Teilnehmern mit ei­ nem Zeiger-Adressenspeicher zum Speichern verketteter aus Zeigeradressen bestehenden Teilnehmer-Zeigeradressenlisten für jeden Teilnehmer,
mehreren Teilnehmer-Zustandsregistern, die jeweils den Zu­ stand einer zugehörigen Teilnehmer-Zeigeradressenliste spei­ chern,
einem Datenspeicher zum Speichern von Datenblöcken, die durch die Zeigeradressen adressierbar sind,
und mit einer Speichersteuerung zur Steuerung des Zeiger-Adressen­ speichers und des Datenspeichers.
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-Da­ tenbus an mehrere Quellenteilnehmer und über einen Sende-Da­ tenbus an mehrere Zielteilnehmer angeschlossen.
Der Sende- und Empfangsdatenbus sind vorzugsweise bidirektio­ nale 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 Da­ tenspeichers erfüllt sind.
Ein weiterer Vorteil des erfindungsgemäßen Datenübertragungs­ speichers 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 erfin­ dungsgemäßen Datenübertragungsspeichers sowie des erfindungs­ gemäßen Verfahrens zu dessen Steuerung unter Bezugnahme auf die beigefügten Figuren zur Erläuterung erfindungswesentli­ cher Merkmale beschrieben.
Es zeigen:
Fig. 1 einen Datenübertragungsspeicher nach dem Stand der Technik;
Fig. 2 eine bevorzugte Ausführungsform des erfindungsgemäßen Datenübertragungsspeichers;
Fig. 3 eine bevorzugte Ausführungsform des erfindungsgemäßen Steuerungsverfahren zur Steuerung des in Fig. 2 dargestell­ ten Datenübertragungsspeichers.
Wie in Fig. 2 dargestellt, weist der erfindungsgemäßen Da­ tenü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 ange­ schlossen ist. Die Speichersteuerung 4 enthält eine Zeigerad­ ressenspeicher-Steuereinheit 7 sowie eine Datenspeicher-Steu­ ereinheit 8. Die Zeigeradressenspeicher-Steuereinheit 7 ist über Daten- und Steuerleitungen 9 mit den Zeigeradressenspei­ cher 2 verbunden. An die Datenspeicher-Steuereinheit 8 ist der Datenspeicher 3 über Daten- und Steuerleitungen 10 ange­ schlossen. Darüber hinaus ist die Speichersteuerung 4 über Datensteuerleitungen 11 mit Zustandsregistern 12-1 bis 12-N verbunden zum Abspeichern des Zustandes von verketteten Teil­ nehmer-Zeigeradressenlisten innerhalb des Zeigeradressenspei­ chers 2. Über die Datenbusse 5, 6 ist die Speichersteuerung mit Teilnehmern bzw. Teilnehmerendgeräten verbunden, die mit­ einander kommunizieren. Hierzu versenden Quell-Teilnehmer Da­ tenpakete an Zielteilnehmer. Die Speichersteuerung 4 empfängt die zu übertragenen Datenpakete als Eingangsdatenpaket über einen der Datenbusse 5, 6. In den Empfangsdatenpaketen befin­ den sich Zielinformationsdaten zu Identifizierung desjenigen Zielteilnehmers für den das Empfangsdatenpaket bestimmt ist. Die Speichersteuerung 4 schaltet zwischen einem Empfangs-Be­ triebsmodus und einem Sende-Betriebsmodus um. Im Empfangs-Be­ triebsmodus werden die Empfangsdatenpakete in Speicherzellen des Datenspeichers 3 abgelegt. Im Sende-Betriebsmodus über­ trägt der Datenübertragungsspeicher 1 ein Ausgangsdatenpaket, indem der den Inhalt ganzer Datenblöcke innerhalb des Daten­ speichers 3 an den Zielteilnehmer überträgt. Bei dem Zeiger­ adressenspeicher 2 und dem Datenspeicher 3 handelt es sich vorzugsweise um SRAM-Speicher. Die Datenbusse 5, 6 sind vor­ zugsweise Ethernet-Busse.
Fig. 3 stellt das erfindungsgemäße Verfahren zur Steuerung des Datenübertragungsspeichers 1 dar. Nach dem Start wird in einem Schritt S0 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 Zielteilneh­ mer. In dem Sende-Betriebsmodus S werden Ausgangsdatenpakete aus dem Datenspeicher 3 ausgelesen. In dem Empfangs-Betriebs­ modus E werden Empfangsdatenpakete in Speicherzellen des Da­ tenspeichers 3 eingeschrieben. Die Größe der im Sende-Be­ triebsmodus 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 vorzugs­ weise der Größe der Eingangsdatenpakete. Im Sende-Betriebsmo­ dus 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-Betriebs­ modus E vorliegt, d. h. kein Schreibzugriff auf den Datenspei­ cher 3, wird im Schritt S2 geprüft, ob sich der Datenübertra­ gungsspeicher 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-Be­ triebsmodus S vorliegt wird in einem Schritt S3 durch den An­ fangsadressenzeiger, 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 Anfangsad­ ressenzeiger und der Schluss-Adressenzeiger des Zielteilneh­ mers 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 Schlussad­ ressenzeiger nicht gleich sind, wird in einem Schritt S6 die verkettete Teilnehmer-Zeigeradressenliste des Zielteilnehmers gekürzt.
Zur Beschreibung des Zustandes einer Teilnehmer-Zeigeradres­ senliste 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 Daten­ block innerhalb des Datenspeichers 3, in einem zweiten Daten­ feld 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 Ausgangsdatenpa­ ket aus dem Datenspeicher 3 ausgelesen wird, muss die zugehö­ rige Teilnehmer-Zeigeradressenliste des Zielteilnehmers, an den das Ausgangsdatenpaket abgesendet worden ist, um den Ad­ ressenzeiger gekürzt werden, der auf den abgesandten Daten­ block zeigt. Hierzu werden die Datenfelder innerhalb des zu­ gehörigen Zustandsregisters 12-i mit neuen Datenwerten be­ legt. Dabei wird in das erste Datenfeld als neuer Anfangs-Ad­ ressenzeiger die nächste Zeigeradresse der verketteten Teil­ nehmer-Zeigeradressenliste eingeschrieben. Weiterhin wird im Schritt S6 in das zweite Datenfeld die Anfangs-Zeigeradresse des Zielteilnehmers als Schluss-Adressenzeigerspeicher ge­ speichert. 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 Pro­ grammablauf zu Schritt S1 zurück.
Falls im Schritt S1 festgestellt wird, dass der Empfangs-Be­ triebsmodus E vorliegt, wird in Schritt S7 die Speicherzel­ lenadresse derjenigen Speicherzelle innerhalb des Datenspei­ chers 3 berechnet, in die das Empfangsdatenpaket eingeschrie­ ben wird. Die Speicherzellenadresse ergibt sich dabei in Ab­ hängigkeit von dem Schluss-Adressenzeiger auf den letzten Da­ tenblock für den Zielteilnehmer sowie den zugehörigen Füllzu­ stand des letzten Datenblocks. Nach dem Einschreiben des Ein­ gangsdatenpakets in die adressierte Speicherzelle wird in ei­ nem Schritt S8 geprüft, ob der Datenblock, in dem sich die adressierte Speicherzelle befindet, durch das Beschreiben der Speicherzelle nunmehr voll ist. Falls im Schritt S8 festge­ stellt 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 ei­ nes 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 Daten­ speicherblöcke inkrementiert. Weiterhin wird in dem dritten Datenfeld des Zustandsregisters 12-i als neuer Schluss-Adres­ senzeiger der Anfangs-Adressenzeiger der freien Zeigerkette abgespeichert. Der vorletzte Adressenzeiger des Zielteilneh­ mers erhält als neuen Wert den bisherigen Schluss-Adressen­ zeiger des Zielteilnehmers. Weiterhin wird dem Anfangs-Adres­ senzeiger der freien Zeigeradressenliste der nächste freie Adressenzeiger zugewiesen. Im Schritt S9 wird somit die Teil­ nehmer-Zeigeradressenliste des Zielteilnehmers zur Adressie­ rung 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 desje­ nigen 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 Ver­ fahrensablauf zu Schritt S1 zurück.
Wie man aus Fig. 3 erkennen kann ermöglicht das erfindungs­ gemäße Verfahren zur Steuerung des Datenübertragungsspeichers 1 eine dynamische Datenspeicherverwaltung über verkettete Teilnehmer-Zeigeradressenlisten für die verschiedenen Teil­ nehmer, wobei die verketteten Teilnehmer-Zeigeradressenlisten in dem Zeiger-Adressenspeicher 2 abgespeichert sind. Jede verkettete Teilnehmer-Zeigeradressenliste wird durch die Da­ teninhalte der verschiedenen Datenfelder innerhalb des zuge­ hörigen Zustandsregisters 12-i beschrieben. Jede Teilnehmer- Zeigeradressenliste wird dabei in Abhängigkeit von dem jewei­ ligen Speicherbedarf des Zielteilnehmers um ein Adressenzei­ ger-Kettenglied gekürzt oder verlängert. Dabei wird die Teilnehmer-Zeigeradressenliste bei jedem notwendigen zusätzlichen Datenblock für den Zielteilnehmer innerhalb des Datenspei­ chers 3 um einen Adressenzeiger verlängert. Sinkt der Spei­ cherbedarf für einen Zielteilnehmer auf Grund des Absendens eines Ausgangsdatenpakets, dessen Größe einem Datenblock in­ nerhalb des Datenspeichers 3 entspricht, wird die zugehörige Zeigeradressenliste des Zielteilnehmers um ein Adressenzei­ gerglied 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 Steue­ rungsverfahren die Größe des gesamten Datenspeichers 3 haben.
Durch die dynamische Speicherplatzbelegung des Datenspeichers 3 wird auch eine viel höhere Speicherauslastung des Daten­ speichers 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 ge­ ring. Hierdurch können sehr hohe Datenübertragungsgeschwin­ digkeiten erreicht werden. Der in Fig. 2 dargestellte Daten­ übertragungsspeicher 1 befindet sich entweder in einem Daten­ übertragungsrechner und/oder innerhalb eines jeden Teilneh­ mers. Bei einer bevorzugten Ausführungsform ist der Daten­ übertragungsspeicher 1 an einem Sendedatenbus zum Empfang von Eingangsdatenpaketen sowie an einen Ausgangsdatenbus zum Ab­ senden von Ausgangsdatenpaketen angeschlossen. Bei einer al­ ternativen Ausführungsform ist die Speichersteuerung 4 an einem bidirektionalen Datenbus angeschlossen über den die Da­ tenpakete empfangen und gesendet werden.
Der Datenübertragungsspeicher 1 ermöglicht den Aufbau belie­ biger Datennetze in Stern- oder Ringform.
Der erfindungsgemäße Datenübertragungsspeicher 1 eignet sich insbesondere zum Anschluss an Ethernet-Busse. Bei einer be­ sonders bevorzugten Ausführungsform ist der in Fig. 3 darge­ stellte Verfahrensablauf in der Speichersteuerung 4 verdrah­ tet bzw. hardwaremäßig implementiert. Bei einer weiteren be­ vorzugten Ausführungsform sind der Zeigeradressenspeicher 2 und der Datenspeicher 3 zwei getrennte Speicherbereiche in­ nerhalb eines SRAM-Speichers.
Die Speichergröße des Zeigeradressenspeichers 2 sowie des Da­ tenspeichers 3 hängt von der Anzahl der Übertragungs-Teilneh­ mer sowie der Größe der zu übertragenden Datenpakete ab. Die Anzahl der in einem Datenblock enthaltenen Daten-Speicherzel­ len hängt von dem Größenverhältnis zwischen Ausgangsdatenpa­ keten 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 Eingangsda­ tenpakete, die von verschiedenen Quellen-Teilnehmern an den Zielteilnehmern geschickt werden, auf den Datenübertragungs­ speicher 1 zu einem Ausgangsdatenpaket zusammengefasst.

Claims (22)

1. Verfahren zur Steuerung eines Datenübertragungsspeichers (1) für die Übertragung von Datenpaketen zwischen Teil­ nehmern T, bei dem für jeden Teilnehmer T jeweils eine verkettete Teilnehmer-Zeigeradressenliste mit Adressen­ zeigern zur Adressierung von Datenspeicherblöcken eines Datenspeichers (3) in einem Zeiger-Adressenspeicher (2) abgespeichert wird.
2. Verfahren nach Anspruch 1, bei dem jeder Datenspeicher­ block aus mehreren Daten-Speicherzellen besteht.
3. Verfahren nach Anspruch 1 oder 2, dadurch gekennzeichnet, dass die Anzahl der in dem Datenspeicherblock enthalte­ nen Datenspeicherzellen der Anzahl der Teilnehmer ent­ spricht.
4. Verfahren nach einem der vorangegangenen Ansprüche, bei dem in einem Empfangs-Betriebsmodus von verschiedenen Quell-Teilnehmer Empfangs-Datenpakete über einen Emp­ fangsdatenbus empfangen und in Datenspeicherzellen des durch die Teilnehmer-Zeigeradressenliste adressierten Datenspeicherblocks abgespeichert werden.
5. Verfahren nach einem der vorangegangenen Ansprüche, bei dem in einem Sende-Betriebsmodus aus den Datenspeicher­ blöcken jeweils Ausgangs-Datenpakete ausgelesen und an den zugehörigen Zielteilnehmer über einen Ausgangsdaten­ bus gesendet werden.
6. 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.
7. 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.
8. Verfahren nach einem der vorangegangenen Ansprüche, bei dem der Zustand jeder verketteten Teilnehmer-Zeigerad­ ressenliste in einem Teilnehmer-Zustandsregister (12) abgespeichert wird.
9. Verfahren nach einem der vorangegangenen Ansprüche, bei dem in dem Teilnehmer-Zustandsregister (12) ein Anfangs- Adressenzeiger auf den ersten Datenspeicherblock, ein Schluss-Adressenzeiger auf den letzten Datenspeicher­ block, die Anzahl der Datenspeicherblöcke sowie der Füllzustand des letzten Datenspeicherblocks abgespei­ chert werden.
10. Verfahren nach einem der vorangegangenen Ansprüche, bei dem in dem Zeiger-Adressenspeicher (2) eine Zeigeradres­ senliste der freien Zeigeradressen abgespeichert wird, so dass der Zeiger-Adressenspeicher (2) eine Abbildung des Datenspeichers (3) bildet.
11. Verfahren nach einem der vorangegangenen Ansprüche, bei dem im Empfangs-Betriebsmodus das zuletzt empfangene Empfangs-Datenpaket entsprechend dem gespeicherten Füll­ zustand in die nächste freie Speicherzelle des letzten Datenspeicherblocks des Zielteilnehmers eingeschrieben wird.
12. 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) in­ krementiert wird.
13. 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än­ gert wird, wenn alle Speicherzellen des letzten Daten­ speicherblocks des Zielteilnehmers nach dem Einschreiben gefüllt sind.
14. Verfahren nach einem der vorangegangenen Ansprüche, bei dem in dem Sende-Betriebsmodus der erste Datenspeicher­ block des Zielteilnehmers als Ausgangs-Datenpaket gesen­ det wird.
15. Verfahren nach einem der vorangegangenen Ansprüche, bei dem nach dem Absenden des ersten Datenspeicherblocks die verketteten Teilnehmer-Zeigeradressenliste des Zielteil­ nehmers um den auf den ersten Datenblock zeigenden An­ fangsadressenzeiger gekürzt wird.
16. Verfahren nach einem der vorangegangenen Ansprüche, bei dem der Empfangs-Betriebsmodus zum Einschreiben von Emp­ fangsdatenpakete in den Datenübertragungsspeicher (1) Vorrang vor dem Sende-Betriebsmodus zum Senden von Aus­ gangsdatenpaketen aus dem Datenübertragungsspeicher (1) hat.
17. Datenübertragungsspeicher (1) zur Übertragung von Daten­ paketen zwischen Teilnehmern T mit
einem Zeiger-Adressenspeicher (2) zum Speichern verket­ teter aus Zeigeradressen bestehender Teilnehmer-Zeiger­ adressenlisten für jeden Teilnehmer;
mehreren Teilnehmer-Zustandsregistern (12), die jeweils den Zustand einer zugehörigen Teilnehmer-Zeigeradressen­ liste speichern;
einem Datenspeicher (3) zum Speichern von Datenspeicher­ blöcken, die durch die Zeigeradressen adressierbar sind; und mit
einer Speichersteuerung (4) zur Steuerung des Zeiger-Ad­ ressenspeichers (2) und des Datenspeichers (3).
18. Datenübertragungsspeicher nach Anspruch 17, dadurch gekennzeichnet, dass der Datenspeicher (3) ein SRAM-Speicher ist.
19. Datenübertragungsspeicher nach Anspruch 17, dadurch gekennzeichnet, dass der Zeiger-Adressenspeicher (2) ein SRAM-Speicher ist.
20. Datenüberwachungsspeicher nach einem der vorrangegange­ nen Ansprüche, dadurch gekennzeichnet, dass die Speichersteuerung (4) über einen Empfangsdaten­ bus an Quell-Teilnehmer und über einen Sendedatenbus am Ziel-Teilnehmer angeschlossen ist.
21. Datenübertragungsspeicher nach einem der vorrangegange­ nen Ansprüche, dadurch gekennzeichnet, dass der Sende und Empfangsdatenbus ein bidirektionaler Bus zur bidirektionalen Datenübertragung ist.
22. Datenübertragungsspeicher nach einem der vorrangegange­ nen 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 true DE10015683A1 (de) 2001-10-11
DE10015683B4 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 (2)

* 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
WO1999000939A1 (en) * 1997-06-30 1999-01-07 Sun Microsystems, Inc. Shared memory management in a switched network element

Family Cites Families (15)

* 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
US5651002A (en) * 1995-07-12 1997-07-22 3Com Corporation Internetworking device with enhanced packet header translation and memory
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 (2)

* 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
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
US20020141410A1 (en) 2002-10-03
DE10015683B4 (de) 2006-07-13
US7116659B2 (en) 2006-10-03

Similar Documents

Publication Publication Date Title
DE60203057T2 (de) Effizienter Optimierungsalgorithmus für Speichergebrauch in Netzwerkanwendungen
EP1456722B1 (de) Datenübertragungsverfahren, serielles bussystem und anschalteinheit für einen passiven busteilnehmer
DE102007004044B4 (de) Verfahren und Anlage zur optimierten Übertragung von Daten zwischen einer Steuereinrichtung und mehreren Feldgeräten
DE60130079T2 (de) Verfahren und vorrichtung zur paketvermittlung mittels eines geteilten pufferspeichers
DE102006058818B4 (de) Vorrichtung und Verfahren zur Umwandlung von Textmitteilungen
EP0447841A2 (de) Verfahren zum Einrichten von virtuellen Verbindungen in nach einem asynchronen Transfermodus arbeitenden Vermittlungseinrichtungen
DE60128993T2 (de) Mehrfachratenringpuffer und entsprechendes Betriebsverfahren
DE69924217T2 (de) Puffer-Speicher für mehrere Datenkommunikationskanäle
DE10023037A1 (de) Koppelfeld für ein Fernmeldenetz und Verfahren zur Vermittlung in einem Koppelfeld
DE10015683A1 (de) Datenübertragungsspeicher
EP0903941B1 (de) Einrichtung zum Zuweisen von Übertragungskanälen an Endstellen eines Dienste-auf-Abruf Systems
EP1099153B1 (de) Speichereinrichtung und verfahren zum betreiben der speichereinrichtung
DE69831308T2 (de) Verfahren zur übersetzung eines atm-zellenkopfs
EP1081913B1 (de) Netzwerk mit einer Kennungsreduktion
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
DE102005040109A1 (de) Halbleiterspeichersystem und Halbleiterspeicherchip
WO1998044421A1 (de) Schaltungsanordnung mit einem prozessor und einem datenspeicher
DE102009044936A1 (de) Verfahren zum Austauschen von Daten
DE602004011623T2 (de) Elektronische Schaltungsanordnung mit über ein Kommunikationsnetzwerk gekoppelten Verarbeitungseinheiten
DE10347762B4 (de) Verfahren zur Speicherung von Übertragungseinheiten und Netzwerkkommunikations-Vorrichtung
EP0491202A2 (de) Zugriffsverfahren
EP0414950A1 (de) Verfahren zur Vermittlung von jeweils auf mehrere Zeitfächer von Zeitkanälen verteilt übertragenen Sprach- und/oder Daten-informationen
EP1357477B1 (de) An einen Bus angeschlossene Einrichtung
DE69725570T2 (de) Paketendeerkennung zum speichern von mehreren paketen in einem sram
EP1271995B1 (de) Verfahren und Anlage zur Ansteuerung einer Vielzahl von in Bündeln zusammengefassten Nutzkanälen

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