DE10015683B4 - Datenübertragungsspeicher - Google Patents
Datenübertragungsspeicher Download PDFInfo
- 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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
- H04L49/901—Buffering arrangements using storage descriptor, e.g. read or write pointers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
(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 in1 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. Puffer1 bis Puffer8 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 Puffer1 bis Puffer8 , 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 in1 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 Pufferspeicher1 und der Pufferspei cher8 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 in2 dargestellten Datenübertragungsspeichers. - Wie in
2 dargestellt, weist der erfindungsgemäßen Datenübertragungsspeicher1 einen Zeiger-Adressenspeicher2 und einen Datenspeicher3 auf. Ferner enthält der Datenübertragungsspeicher1 eine Speichersteuerung4 , die an einem ersten Datenbus5 und an einem zweiten Datenbus6 angeschlossen ist. Die Speichersteuerung4 enthält eine Zeigeradressenspeicher-Steuereinheit7 sowie eine Datenspeicher-Steuereinheit8 . Die Zeigeradressenspeicher-Steuereinheit7 ist über Daten- und Steuerleitungen9 mit den Zeigeradressenspeicher2 verbunden. An die Datenspeicher-Steuereinheit8 ist der Datenspeicher3 über Daten- und Steuerleitungen10 angeschlossen. Darüber hinaus ist die Speichersteuerung4 über Datensteuerleitungen11 mit Zustandsregistern12-1 bis12-N verbunden zum Abspeichern des Zustandes von verketteten Teilnehmer-Zeigeradressenlisten innerhalb des Zeigeradressenspeichers2 . Über die Datenbusse5 ,6 ist die Speichersteuerung mit Teilnehmern bzw. Teilnehmerendgeräten verbunden, die miteinander kommunizieren. Hierzu versenden Quell-Teilnehmer Datenpakete an Zielteilnehmer. Die Speichersteuerung4 empfängt die zu übertragenen Datenpakete als Eingangsdatenpaket über einen der Datenbusse5 ,6 . In den Empfangsdatenpaketen befinden sich Zielinformationsdaten zu Identifizierung desjenigen Zielteilnehmers für den das Empfangsdatenpaket bestimmt ist. Die Speichersteuerung4 schaltet zwischen einem Empfangs-Betriebsmodus und einem Sende-Betriebsmodus um. Im Empfangs-Betriebsmodus werden die Empfangsdatenpakete in Speicherzellen des Datenspeichers3 abgelegt. Im Sende-Betriebsmodus überträgt der Datenübertragungsspeicher1 ein Ausgangsdatenpaket, indem der den Inhalt ganzer Datenblöcke innerhalb des Datenspeichers3 an den Zielteilnehmer überträgt. Bei dem Zeigeradressenspeicher2 und dem Datenspeicher3 handelt es sich vorzugsweise um SRAM-Speicher. Die Datenbusse5 ,6 sind vorzugsweise Ethernet-Busse. -
3 stellt das erfindungsgemäße Verfahren zur Steuerung des Datenübertragungsspeichers1 dar. Nach dem Start wird in einem Schritt So eine Initialisierung durchgeführt, bei der für jeden an den Datenübertragungsspeicher1 angeschlossenen Teilnehmer eine Teilnehmer-Zeigeradressenliste generiert wird und ein Anfangszustand in den zugehörigen Zustandsregister12-1 bis12-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 Datenspeicher3 ausgelesen. In dem Empfangs-Betriebsmodus E werden Empfangsdatenpakete in Speicherzellen des Datenspeichers3 eingeschrieben. Die Größe der im Sende-Betriebsmodus S abgesendeten Ausgangsdatenpakete entspricht der Speichergröße von Datenblöcken innerhalb des Datenspeichers3 . 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 Datenspeicher3 , während im Empfangs-Betriebsmodus E ein Schreibzugriff auf den Datenspeicher3 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übertragungsspeicher1 im Sende-Betriebsmodus S befindet, d.h. ein Lesezugriff auf den Datenspeicher3 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 Datenspeichers3 , in einem zweiten Datenfeld einen Schluss-Adressenzeiger den letzten Datenblock innerhalb des Datenspeichers3 , 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 Zustandsregisters12-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 Zustandsregister12-i der Zielteilnehmers auf Null gesetzt und die Anzahl der Datenspeicherblöcke inkrementiert. Weiterhin wird in dem dritten Datenfeld des Zustandsregisters12-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 Datenspeichers3 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übertragungsspeichers1 eine dynamische Datenspeicherverwaltung über verkettete Teilnehmer-Zeigeradressenlisten für die verschiedenen Teilnehmer, wobei die verketteten Teilnehmer-Zeigeradressenlisten in dem Zeiger-Adressenspeicher2 abgespeichert sind. Jede verkettete Teilnehmer-Zeigeradressenliste wird durch die Dateninhalte der verschiedenen Datenfelder innerhalb des zuge hörigen Zustandsregisters12-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 Datenspeichers3 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 Datenspeichers3 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 Datenspeichers3 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 Datenspeichers3 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 Datenspeichers3 haben. - Durch die dynamische Speicherplatzbelegung des Datenspeichers
3 wird auch eine viel höhere Speicherauslastung des Datenspeichers3 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 Speichersteuerung4 benötigte Adressierungszeit zur Adressierung der Speicherzelle sehr gering. Hierdurch können sehr hohe Datenübertragungsgeschwindigkeiten erreicht werden. Der in2 dargestellte Datenübertragungsspeicher1 befindet sich entweder in einem Datenübertragungsrechner und/oder innerhalb eines jeden Teilnehmers. Bei einer bevorzugten Ausführungsform ist der Daten übertragungsspeicher1 an einem Sendedatenbus zum Empfang von Eingangsdatenpaketen sowie an einen Ausgangsdatenbus zum Absenden von Ausgangsdatenpaketen angeschlossen. Bei einer alternativen Ausführungsform ist die Speichersteuerung4 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 in3 dargestellte Verfahrensablauf in der Speichersteuerung4 verdrahtet bzw. hardwaremäßig implementiert. Bei einer weiteren bevorzugten Ausführungsform sind der Zeigeradressenspeicher2 und der Datenspeicher3 zwei getrennte Speicherbereiche innerhalb eines SRAM-Speichers. - Die Speichergröße des Zeigeradressenspeichers
2 sowie des Datenspeichers3 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übertragungsspeicher1 über den Eingangsbus erhält. Beispielsweise werden 8 Eingangsdatenpakete, die von verschiedenen Quellen-Teilnehmern an den Zielteilnehmern geschickt werden, auf den Datenübertragungsspeicher1 zu einem Ausgangsdatenpaket zusammengefasst.
Claims (17)
- 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. - Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass die Anzahl der in dem Datenspeicherblock enthaltenen Datenspeicherzellen der Anzahl der Teilnehmer entspricht.
- 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.
- 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.
- 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. - 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.
- 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. - 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.
- 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.
- 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.
- 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. - 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. - Datenübertragungsspeicher nach Anspruch 12, dadurch gekennzeichnet, dass der Datenspeicher (
3 ) ein SRAM-Speicher ist. - Datenübertragungsspeicher nach Anspruch 12, dadurch gekennzeichnet, dass der Zeiger-Adressenspeicher (
2 ) ein SRAM-Speicher ist. - 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. - Datenübertragungsspeicher nach einem der vorangegangenen Ansprüche, dadurch gekennzeichnet, dass der Sende und Empfangsdatenbus ein bidirektionaler Bus zur bidirektionalen Datenübertragung ist.
- Datenübertragungsspeicher nach einem der vorangegangenen Ansprüche, dadurch gekennzeichnet, dass der Bus ein Ethernetbus ist.
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)
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)
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)
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 |
-
2000
- 2000-03-29 DE DE10015683A patent/DE10015683B4/de not_active Expired - Fee Related
-
2001
- 2001-03-29 US US09/820,449 patent/US7116659B2/en not_active Expired - Fee Related
Patent Citations (3)
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 |