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.