-
Die
Erfindung bezieht sich auf das technische Gebiet des Speichermanagements
von Pufferspeichern für
Datenübertragungen
zwischen Geräten über eingerichtete
Verbindungen.
-
Stand der Technik
-
Die
Vernetzung von Geräten
im Haushalt, das können
z. B. Unterhaltungselektronikgeräte
sein oder auch andere Haushaltsgeräte, ist mittlerweile sehr weit
fortgeschritten. Dabei kommen nicht nur Systeme zum Einsatz, die
eine Vernetzung der Geräte
drahtgebunden vornimmt, d. h. mit entsprechenden Kabelverbindungen
zwischen den Geräten,
wie z. B. das IEEE1394-Bus System, sondern es gibt auch große Bestrebungen
eine Vernetzung der Geräte
drahtlos durchzuführen.
Auch hier sind mittlerweile unterschiedliche Systeme entwickelt
worden. Speziell herausgehoben wird an dieser Stelle das sogenannte
Hiperlan Typ 2 System. Das Hiperlan/2 System erlaubt die Vernetzung
von Geräten
z. B. in einem Haushalt. Es stellt eine Anzahl von etwa 20 MHz breiten
Kanälen
im 5 GHz Bereich zur Verfügung,
die ihrerseits nach einem TDMA-Verfahren unterteilt sind. Das Modulationsverfahren
entspricht einem OFDM-Verfahren, so dass geringstmögliche Störungen durch
Mehrwegeempfang auftreten. Die maximale Datenrate liegt im Bereich
von 54 Mbit/s. Damit lassen sich auch Videoströme und andere Anwendungen mit
hohem Datenaufkommen in den Hiperlan Kanälen übertragen.
-
Das
Hiperlan/2 System ist mittlerweile im Begriff zu einem verabschiedeten
ETSI-Standard zu werden. Bereits jetzt gibt es eine Anzahl von ETSI-Dokumenten,
in denen das Hiperlan/2-System spezifiziert ist. Zum Beispiel ist
der DLC Layer(Data Link Control) (entspricht Datenvermittlungsschicht gemäß des ISO/IEC
Sieben-Schichtenmodells) in den Dokumenten ETSI TS 101 761-x (x∈ [1, 4])
beschrieben. Das gesamte System ist dann in mehreren ETSI Dokumenten
beschrieben, die aber alle von dem European Telecommunication Standard
Institute in F-06921 Sophia Antipolis Cedex/Frankreich bezogen werden
können.
-
In
dem Hiperlan/2-System ist es vorgesehen, dass eine Vielzahl von
Verbindungen parallel eingerichtet sein können. Das Hiperlan/2-System
ist verbindungsorientiert. Es gibt 2 Typen von Verbindungen, nämlich Punkt-zu-Punkt-Verbindungen
und Punkt-zu-Multipunkt-Verbindungen. Eine Punkt-zu-Punkt-Verbindung ist bidirektional
während eine
Punkt-zu-Multipunkt-Verbindung
unidirektional ist in Richtung zu dem portablen oder mobilen Terminal.
Die entsprechende Hiperlan-Schnittstelle muss also in der Lage sein,
eine Vielzahl von Verbindungen zu unterscheiden und einzurichten.
Das System ist ausgelegt, dass es sogar bis zu einigen hundert Verbindungen
parallel einrichten kann.
-
Zu
unterscheiden sind dann noch verschiedene Typen von logischen Kanälen, die
einer Verbindung zugeordnet sein können. Wichtig sind dabei insbesondere
die Kanäle
LCH und SCH (entsprechend Long Transport Channel und Short Transport
Channel). Der LCH-Kanal stellt einen Kanal mit grösserer Übertragungskapazität dar, über den
auch isochrone Daten wie z. B. Videodatenströme oder Audiodatenströme übertragen
werden können.
Der SCH-Kanal besitzt eine geringere Transportkapazität und wird deshalb
für die Übertragung
asynchroner Daten benutzt wie z. B. Steuerinformationen und Bestätigungsmeldungen
gemäß des Übertragungsprotokolls.
-
Wenigstens
ein LCH-Kanal und ein SCH-Kanal können einer Verbindung zugeordnet
sein. Das macht die Speicherorganisation für den Pufferspeicher in dem
sämtliche
Datenpakete, die über
die Luftschnittstelle übertragen
werden sollen oder über
die Luftschnittstelle empfangen wurden und an eine Applikation weitergeleitet
werden sollen, kompliziert. Eine ad hoc Lösung sieht nämlich z.
B. so aus, dass pro eingerichteter Verbindung ein Speicherbereich für den LCH-Kanal
und ein zweiter Speicherbereich für den SCH-Kanal der Ver bindung
reserviert werden. Da diese Speicherbereiche für einen LCH-Kanal oder einen
SCH-Kanal als Ringpuffer eingerichtet werden, müssen also jeweils Anfang- und
Endadresse pro Kanal hinterlegt werden als auch jeweils mindestens
ein Schreibzeiger und ein Lesezeiger pro Kanal eingerichtet sein,
damit Schreiben und Lesen der Daten unabhängig voneinander ablaufen können. Bei
mehreren hundert eingerichteten Verbindungen ist dieser Aufwand
für die
Speicherorganisation beträchtlich.
-
Die
Datenpakete, die die Daten in einem LCH-Kanal übertragen, haben laut Spezifikation
eine Größe von 54
Bytes bestehend aus 48 Nutzdaten-Bytes, 3 bzw. 2 Datenbytes an Zusatzinformation (Header-Information)
plus 3. bzw. 4 Bytes für
einen Fehlererkennungs- (CRC) bzw. Fehlerkorrekturcode (FEC), wenn
verwendet. Der CRC-Code muß aber nicht
unbedingt zwischengespeichert werden, da der CRC-Code auch "Onthe-fly" berechnet werden
kann bzw. decodiert werden kann, was die Zwischenspeicherung dieses
Codes unnötig
macht. Die Datenabschnitte für
einen LCH-Kanal müssten
dementsprechend 51 oder 54 Bytes groß sein. Der Aufwand für die Adressberechnung
der Anfänge
dieser Datenblöcke
ist deshalb erhöht,
da es sich nicht um einen 2n Byte-großen Datenblock
handelt wie z. B. 26=64 Byte-großen Datenblock.
-
Aus
dem Dokument US-A-5 991 304 ist ein Verfahren und eine Vorrichtung
zur Minimierung von Unterläufen
von asynchronen Sende-FIFO-Bausteinen und Überläufen von asynchronen Empfangs-FIFO-Bausteinen
bekannt, beschrieben am Beispiel des IEEE 1394-1995 Hochleistungs-Serien-Bussystems.
-
Aus
dem Dokument Khun-Jush J et al: "Hiperlan
Type 2 for Broadband Wireless Communication" on Ericsson Review, Ericsson, Stockholm
SE, No. 2, 2000 Seiten 108–119,
XP000931612 ISSN: 0014-0171 ist eine Systembeschreibung des Hiperlan
Type 2 Systems bekannt.
-
Aus
EP-A-0 510 290 ist es bekannt, verschiedene Typen von Übertragungs-Service-Daten zu
speichern, nämlich
asynchroner Übertragungsservice,
isochroner Übertragungsservice
und synchroner Übertragungsservice
in einem gemeinsamen flexiblen Pufferspeicher.
-
Erfindung
-
Die
Erfindung setzt sich zum Ziel, die Speicherorganisation für den Pufferspeicher
der Luftschnittstelle zu vereinfachen. Dies gelingt erfindungsgemäß dadurch,
dass zunächst
die Datenblockgröße für die LCH-Pakete
auf einen Wert von 26=64 Byte vergrößert wird
und der freibleibende Teil eines Datenblocks zur Abspeicherung der
Daten der SCH-Pakete verwendet wird. Die SCH-Pakete benötigen nämlich für die Zwischenspeicherung
einen Speicherplatz von 7 Bytes und können insoweit im Fall zusammen
mit den maximal 54 Byte großen LCH-Paketen
in einem 64 Byte Block gespeichert werden. Die verbleibenden 3 Bytes
können
für weitere
Zusatzinformationen benutzt werden.
-
Die
Erfindung hat den Vorteil, dass zum einen die Adressberechnungseinheit
für die
Datenblöcke,
wo die LCH-Pakete abgespeichert werden sollen, stark vereinfacht
ist. Zum anderen hat die Erfindung aber auch noch den Vorteil, dass
LCH-Pakete und SCH-Pakete
einer Verbindung zusammen in einem gemeinsamen Speicherabschnitt
abgespeichert werden können,
so dass auch weniger Adresszeiger für Start und Ende eines jeden
Speicherbereiches eingerichtet werden müssen. Zudem hat die Erfindung
noch den Vorteil, dass bei 54 Byte großen LCH-Paketen und 7 Byte
großen
SCH-Paketen, wenn jeweils ein SCH-Paket pro LCH-Paket abgespeichert
würde lediglich
4, 6% des Speichers unbelegt bleibt.
-
In
den abhängigen
Ansprüchen
sind weitere vorteilhafte Maßnahmen
und Verbesserungen des erfindungsgemäßen Verfahrens und der Vorrichtung möglich.
-
Da
die zwischengespeicherten Datenpakete per se dafür vorgesehen sind, möglichst
schnell an die Applikation oder an eine weitere Schnittstelle bzw. über die
Antenne ausgegeben zu werden, ist es vorteilhaft, dass je eingerichteter
Verbindung ein reservierter Abschnitt im Pufferspeicher als Ringpuffer eingerichtet
wird. Dies bedeutet, dass, nachdem der reservierte Abschnitt im
Pufferspeicher vollgeschrieben wurde, die nächsten Datenpakete wieder am
Anfang des Abschnittes eingeschrieben werden wobei dann die dort
vorher zwischengespeicherten Daten überschrieben werden, was allerdings
nicht stört,
da diese Daten längst
weitergeleitet wurden.
-
Sehr
vorteilhaft ist auch die Maßnahme
gemäß Anspruch
5 bzw. Anspruch 12 nach der wenigstens 1 Byte bei der Zwischenspeicherung
eines Datenpaketes zusätzlich
abgespeichert wird, das eine Statusinformation zu dem Datenpaket
enthält,
nämlich
insbesondere darüber,
ob das Datenpaket bereits vollständig
geschrieben ist, d. h. ob es zur Weiterleitung bereit ist oder nicht.
Mit dieser Maßnahme ist
der Schreib- und Leseprozess sehr flexibel ausgelegt und es ist
nicht erforderlich, dass immer gleich ein komplettes LCH- oder SCH-Datenpaket
komplett geschrieben werden muss. Der Schreib- bzw. Leseprozess
kann mehrfach unterbrochen sein ohne dass es zu Konflikten zu dem
Speicherzugriff kommt. Zusätzlich
ist es noch vorteilhaft, wenn ein zugeordneter Schreib- und Lesezeiger
für die
LCH- bzw. SCH-Pakete
vorgesehen ist. In diesem ist dann jeweils vermerkt, an welcher
Stelle der Schreib- bzw. Lesevorgang eines Datenpaketes unterbrochen
worden ist, so dass bei dem darauf folgenden Schreib- bzw. Lesezugriff
an der richtigen Stelle nahtlos weitergemacht werden kann.
-
Da
nach dem Hiperlan/2-System pro Verbindung immer ein Kanalpaar bestehend
aus einem LCH- und SCH-Kanal eingerichtet wird, ist es fraglich,
ob überhaupt
entsprechend viele SCH-Datenpakete
anfallen, wenn z. B. ein Video Datenstrom über den LCH-Kanal transportiert
wird. Dies ist bei dem Übertragungsmode,
bei dem die LCH-Datenpakete mit CRC Fehlererkennungscode geschützt sind,
der Fall. Denn solche Datenpakete werden „positiv" oder „negativ" bestätigt mittels sogenannter ARQ
Nachrichten (Automatic Repeat Request). Eine positive Bestätigung bedeutet
dabei, dass der korrekte Empfang eines LCH-Datenpaketes dem Sender
mitgeteilt wird. Negative Bestätigung
bedeutet dann, dass der Sender nur dann eine Bestätigungsnachricht
bekommt, wenn ein LCH-Paket fehlerhaft übertragen wurde. Aber auch
in dem negativen Bestätigungsmode
ist es nötig,
häufig
SCH-Pakete zurückzusenden, die
dann ebenfalls im Pufferspeicher zwischengespeichert werden müssen.
-
Je
mehr Daten über
eine Verbindung zu übertragen
sind, desto größer muss
der zugeordnete Bereich im Pufferspeicher sein. Aber in diesem Fall werden
auch mehr LCH-Pakete übertragen
und gleichzeitig müssen
auch mehr ARQ-Nachrichten rückübertragen
werden, so dass eine Ausnutzung der auf 2n Dateneinheiten
(Bytes) vergrößerten Datenabschnitte
für die
LCH-Pakete gegeben ist.
-
Zeichnungen
-
Ausführungsbeispiele
der Erfindung sind in den Zeichnungen dargestellt und werden in
der nachfolgenden Beschreibung näher
erläutert.
Es zeigen:
-
1 Den
Anwendungsfall einer Übertragung
von Video- und Audiodaten
stammend von einem DV-Camcorder zu einem DVHS-Videorekorder;
-
2 Ein
grobes Blockschaltbild des Personalcomputers für die Nachbearbeitung der von
dem Camcorder stammenden Video- und Audiodaten und ein grobes Blockschaltbild
des DVHS-Videorecorders;
-
3 Den
Aufbau eines LCH-Datenpaketes mit CRC-Fehlererkennungscode;
-
4 Den
Aufbau eines LCH-Datenpaketes mit FEC-Fehlerkorrekturcode;
-
5 Den
Aufbau eines SCH-Datenpaketes;
-
6 Die
Anordnung des LCH-Datenpaketes mit Fehlererkennungscode CRC in dem
reservierten Bereich des Pufferspeichers für die Zwischenspeicherung;
-
7 Die
Anordnung eines LCH-Datenpaketes mit FEC-Fehlerkorrekturcode in dem reservierten
Bereich eines Pufferspeichers für
die Zwischenspeicherung;
-
8 Die
Einschachtelung von einem SCH-Datenpaket in den reservierten Block
für ein LCH-Paket
mit Fehlererkennungscode CRC; und
-
9 Das
Konzept des Ringpuffers für
jeden Speicherbereich im Pufferspeicher, der für eine Verbindung reserviert
ist mit entsprechenden LCH- und SCH-Schreib- und Lesezeigern.
-
Ausführliche Beschreibung der Erfindung
-
Die
Erfindung wird am Beispiel der Implementierung eines Pufferspeichers
für eine
Hiperlan/2-Schnittstelle erläutert.
-
1 zeigt
einen beispielhaften Anwendungsfall. Mit der Bezugszahl 10 ist
ein Camcorder z. B. ein Mini-DV-Camcorder beizeichnet. Dieser ist über eine
IEEE1394 Verbindung an einen Personalcomputer 11 angeschlossen.
Der Personalcomputer 11 wird benutzt, um die Nachbearbeitung
eines aufgenom menen Videos durchzuführen. Dazu ist er mit geeigneter
Software programmiert. Das fertige Video wird dann zunächst auf
Festplatte gespeichert sein. Laut gezeigtem Anwendungsfall wird
dieses fertige Video aber zu Archivierungszwecken drahtlos an einen
DVHS-Videorekorder 12 weitergleitet. Dieser muss nicht
notwendigerweise im gleichen Raum stehen wie der Personalcomputer 11.
Die drahtlose Übertragung
der Video- und Audiodaten des nachbearbeiteten Videofilms soll nach
dem Hiperlan2-System erfolgen. Dazu müssen selbstverständlich sowohl
Personalcomputer 11 als auch DVHS-Videorekorder 12 mit einer
entsprechenden Hiperlan-Schnittstelle
ausgerüstet
sein. Der grobe Aufbau des Personalcomputers wie auch des DVHS-Videorekorders sind
in 2 näher
dargestellt.
-
Zunächst wird
der Aufbau des Personalcomputers 11 erläutert. Es sind nur die für die Nachbearbeitung
wesentlichen Komponenten des Personalcomputers aufgeführt. Diese
betreffen eine IEEE1394-Schnittstelle 110, eine CPU 120,
eine Festplatte 130 und eine Hiperlan-Schnittstelle 140. Die
Video- und Audiodaten von dem Camcorder 10 gelangen über den
IEEE1394-Bus und der Schnittstelle 110 in den Personalcomputer 11.
Das Programm, mit dem die Nachbearbeitung der Video/Audiodaten durchgeführt wird,
wird von der CPU 120 abgearbeitet. Die fertig bearbeiteten
Video/Audiodaten werden zunächst
auf der Festplatte 130 abgelegt.
-
Der
fertige Videofilm wird dann benutzergesteuert an den DVHS-Videorecorder 12 zur
Archivierung auf einem DVHS Videoband übertragen. Dies soll nach dem
Hiperlan/2 Standard geschehen, wie erwähnt. Der grobe Aufbau der Schnittstelle 140 ist
in 2 ebenfalls dargestellt. Mit der Bezugszahl 141 ist
eine Fehlerkorrekturcode-Berechnungseinheit bezeichnet. Die Bezugszahl 142 bezeichnet
einen Mikrocontroller, der zur Realisierung des Hiperlan2-Protokolls
viele Vorgänge
in der Schnittstelle 140 koordiniert. Ebenfalls dargestellt
ist der Pufferspeicher 143, in den sämtliche über die Luftschnittstelle zu übertragenden
Datenpakete zwischengespeichert werden. Der Pufferspeicher 143 wird
für beide Übertragungsrichtungen
gebraucht. An dem Personalcomputer 11 ist, wie in 2 gezeigt, eine
Sendeantenne angebracht. Diese Antenne fungiert aber gleichzeitig
auch als Empfangsantenne, in dem Fall dass Daten von einem anderen
Gerät drahtlos
zum Personalcomputer übermittelt
werden.
-
Der
Aufbau des DVHS-Videorecorders 12 ist stark vereinfacht
dargestellt, er enthält
ebenfalls eine Hiperlan2-Schnittstelle 140.
Des weiteren ist mit der Bezugszahl 150 die Magnetbandkassette
bezeichnet, auf der die empfangenen Daten letztlich aufgezeichnet
werden. Die Daten können
im DV-Datenformat aufgezeichnet werden, in welchem Fall keine Umformatierung
nötig ist,
da die Datenquelle 10 ebenfalls in diesem Format die Daten
aufgezeichnet hatte. Hervorgehoben sind wieder die Komponenten 141–143 der
Hiperlan2-Schnittstelle 140,
die schon zuvor erläutert
wurden.
-
Statt
des DVHS-Videorekorders kann selbverständlich auch ein anderes Aufzeichnungsgerät eingesetzt
werden, z. B. ein DVD-Rekorder.
-
Das
Hiperlan/2-System ist wie bereits eingangs erläutert ein angenommener ETSI-Standard, der
in einer Anzahl von Dokumenten technisch spezifiziert ist. Zum Zwecke
der Offenbarung dieser Erfindung wird deshalb ausdrücklich auf
diesen ETSI Standard Bezug genommen. Dabei wird insbesondere auf
das Dokument ETSI TS 101 761-x mit x∈ [1, 2, 3, 4] "Broadband Radio Access
Radio Networks (BRAM); Hiperlan Type 2; Data Link Control (DLC); Part
1 bis Part 4 hingewiesen. Zusätzlich
wird noch auf die internationale Patentanmeldung der Firma Telefonaktiebolaget
LM Ericsson mit der Publikationsnummer WO 00/60796 Bezug genommen,
in der das MAC Protokoll (Medium Access Control) des Hiperlan/2
Systems näher
erläutert
ist.
-
Gemäß dieses
Protokolls werden für
den Transport von Video/Audio Datenströmen über die Luftschnittstelle sogenannte
LCH (Long Transport Channel) Datenpakete benutzt. Gemäß Hiperlan/2-Spezifikation
können
die Daten in verschiedenen QOS-Modes (Quality of Service) übertragen
werden. Die Datenpakete können
mit positiver/negativer Bestätigung übertragen
werden, sie können
unbestätigt
verschickt werden und sie können
sogar aus Sicherheitsgründen
wiederholt verschickt werden.
-
Für die beiden
ersten genannten QOS-Modes sind unterschiedliche Formate für die LCH-Datenpakete
vorgesehen.
-
3 zeigt
das Format eines LCH Datenpaketes das für den QOS-Mode mit Bestätigung genutzt wird.
Das LCH-Paket besteht aus 54 Bytes von denen 48 Bytes Nutzdatenbytes
betreffen, 3 Bytes Zusatzinformationen betreffen (Header Informationen) und
die letzten 3 Bytes betreffen den Fehlererkennungscode CRC 24. Die
Zusatzinformationen in den ersten 3 Bytes des Datenpaketes betreffen
die Angaben über
den PDU Typ (Protocol Data Unit) wie z. B. in dem Dokument ETSI
TS 101 761-1 V1.2.1 (2000-11) in Abschnitt 6.1.4 aufgelistet. Außerdem ist noch
die Sequenznummer als Zusatzinformation bestehend aus 10 Bit in
den ersten beiden Bytes des Datenpaketes abgelegt, die quasi eine
laufende Nummer der LCH Datenpakete angibt. Die Struktur des in 3 gezeigten
Datenpaketes ist z. B. in 25 des zuvor
erwähnten
ETSI Dokumentes unter dem Abschnitt 6.2.8 dargestellt. Ein Unterschied zwischen
der 3 und der 25 in
dem ETSI-Dokument besteht darin, dass in der 3 noch 1,5 Byte
an zusätzlichen
Zusatzinformationen in dem 2. und 3. Byte des Datenpaketes reserviert
sind. Dies ist in 25 noch nicht eingetragen.
Wenn man jedoch alle Vorschriften der Spezifikation berücksichtigt, folgt
daraus zwingend, dass diese Zusatzinformationen noch zusätzlich erforderlich
sind. Außerdem
ist bislang kein Service vorgesehen, bei dem mehr als 48 Nutzdatenbytes
pro LCH Datenpaket zu übertragen sind.
Die reservierten CL-Tag Bits sind für den zukünftigen Gebrauch reserviert,
haben jedoch bislang keine nähere
Bedeutung bei der Übertragung. Lediglich
das SAR Bit (Segmentation Reassembly End Flag) wird benötigt und
markiert das letzte von den erhaltenen LCH-Datenpaketen innerhalb
eines PDU Datenzuges (Gruppe von LCH-Paketen, PDU Train).
-
Die
Struktur des LCH Datenpaketes für
den unbestätigten Übertragungsmode
ist aus 4 ersichtlich. In dem Fall betreffen
die letzten 4 Bytes einen Vorwärtsfehlerkorrekturcode
FEC der ebenfalls als Read Solomon Code berechnet sein kann. Auch in
diesem Fall sind auch wieder 48 Nutzdatenbytes in dem Paket vorhanden.
Es sind aber nur 2 Bytes für die
Zusatzinformationen zu reservieren. Auf die Übertragung einer Sequenznummer
kann in diesem unbestätigten
Betriebsmode verzichtet werden. Dieser Fall ist dem ETSI Dokument
ETSI TS 101 761-4 V1.2.1 (2000/12) in der 7 unter
dem Abschnitt 5.8.4.2 aufgeführt.
Die grau unterlegten Teile bei den Zusatzinformationen sind in 4 wieder
deshalb hervorgehoben, weil sie aus der 7 des Dokumentes
nicht ersichtlich sind sondern sich aus weiteren Vorschriften im
ETSI Standard ergeben. Der Aufbau von SCH Datenpaketen, wie sie
für den
bestätigten
QOS-Mode benötigt
werden, ist in 5 gezeigt. Die letzten beiden
Bytes eines SCH Paketes betreffen einen CRC Fehlererkennungscode.
Das zweite Nibbel des ersten Bytes betrifft erneut die Angabe des
PDU Typs. Mit einem solchen SCH Pakets können 5 volle Nutzdatenbytes übertragen
werden. Bei dem hier betrachteten Anwendungsfall wird in einem solchen
SCH Paket jeweils eine ARQ-Nachricht zur Bestätigung zum Sender zurückübertragen.
-
Der
Aufbau des in 5 gezeigten SCH Paketes ist
auch aus der 12 des ETSI Dokumentes ETSI
TS 101 761-1 V1.2.1 (2000-11) unter dem Abschnitt 6.1.5 ersichtlich.
Der Aufbau von ARQ Nachrichten ist in dem gleichen ETSI Dokument
unter dem Abschnitt 6.2.9.2 für
die verschiedenen Anwendungsfälle positive
Bestätigung,
negative Bestätigung
und Wiederholungsmode erläutert
und braucht deshalb hier nicht näher
erklärt
zu werden.
-
In 6 ist
dargestellt wie ein LCH-Datenpaket gemäß der 3 in den
Pufferspeicher für
die Zwischenspeicherung eingeschrieben werden muss. Der Pufferspeicher
ist in vorteilhafter Weise für
Speicherworte von 4 Byte also in Quadlet-Einheiten organisiert.
Mit einer Spezialhardware wird allerdings sichergestellt, dass bei
einem Zugriff auf eine Adresse des Pufferspeichers auch lediglich
nur ein einziges Byte eines Quadlets ausgelesen bzw. geschrieben werden
kann. Dies ist durch die 2 Nachkommastellen in der Adressenangabe
in 6 angedeutet. In dem ersten Quadlet sind nicht
nur die 3 Bytes für
die Zusatzinformationen des LCH-Paketes
zwischengespeichert, sondern es ist noch an 4. Stelle ein zusätzliches
Byte reserviert, in dem eine Statusinformation für das LCH-Paket abgelegt werden
kann. Damit wird in jedem Bearbeitungsschritt signalisiert, ob das
Paket bereits fertig geschrieben wurde oder nicht. Ein speicherwortweises
Schreiben eines solchen Datenpaketes ist damit ermöglicht.
Die beiden letzten Quadlets, die grau hinterlegt sind, sind zwar
noch in 6 dargestellt, sind jedoch als
unbenutzt gekennzeichnet. Dies rührt
daher, dass zur Vereinfachung der Adressberechnung bei der Zwischenspeicherung von
LCH-Paketen gemäß der Erfindung
vorgesehen ist, den entsprechenden Speicherbereich im Pufferspeicher
in 64 Byte große
Abschnitte einzuteilen, d. h. in Abschnitte von 16 Quadlets. Die
Adressberechnungseinheit wird dadurch stark vereinfacht. Sie kann
nämlich
einfach den Start des nächsten
Abschnittes durch Inkrementierung des höherwertigen Teils der Adresse
ohne Berücksichtigung
der 6 niederwertigen Adress-Bits ermitteln. Zu erwähnen ist noch,
dass das CRC 24 Prüfwort
nicht in den Pufferspeicher eingetragen werden muss, weshalb dieses auch
grau unterlegt ist, da die CRC Berechnung in Echtzeit bei der Absendung
bzw. bei Decodierung von empfangenen Daten mittels geeigneter Hardware
durchgeführt
werden kann. Der entstehende Freiraum in dem jeweiligen 64 Byte
Block kann zur Abspeicherung der SCH-Pakete, die in dem bestätigten QOS-Mode
zum Sender zurückzusenden
sind, benutzt werden.
-
Anders
sieht es aus bei den LCH-Paketen gemäß 4. Das Format,
wie diese im Pufferspeicher abgelegt werden, ist in der 7 gezeigt.
Wegen der fehlenden Sequenznummer sind in diesem Fall 2 Bytes reserviert
für Statusinformationen
im 1. Quadlet. Dies richtet dann die nachfolgenden Nutzdatenbytes
bündig
in dem Quadlet-weise organisierten Pufferspeicher aus. Es folgen
also die 48 Nutzdatenbytes in den folgenden 12 Quadlets. Das 14. Quadlet
ist noch mit dem FEC Fehlerkorrekturcode belegt. Dieser sollte nämlich nicht
in Echtzeit während
der Absendung oder des Empfangs eines Datenpaketes berechnet werden
und muss deshalb ebenfalls zwischengespeichert werden. Die restlichen
2 Quadlet bleiben allerdings wiederum unbenutzt. Sie können zwar
für die
Zwischenspeicherung von SCH-Paketen benutzt werden, da aber solche LCH-Pakete
mit FEC-Code nur für
den unbestätigten QOS-Mode
verwendet werden, werden also keine Bestätigungsnachrichten produziert,
die regelmäßig anfallen
und den Speicher nennenswert ausnutzen könnten. Es ist allerdings möglich in
diesem Speicherbereich SCH-Pakete von anderen Verbindungen zu speichern.
-
Ein
eingeschachteltes SCH-Paket in den 64 Byte großen Speicherblock für ein LCH-Paket
ist noch in 8 gezeigt. Grau hinterlegt ist
das 14. Quadlet, welches ungenutzt bleibt und zwischen LCH- und
SCH-Paket angeordnet ist. Dieses Quadlet kann für die Abspeicherung weiterer
Zusatzinformationen genutzt werden.
-
9 zeigt
schließlich
noch den kompletten Speicherbereich, der in dem Pufferspeicher für eine Verbindung
reserviert ist. Der Anfang dieses Speicherbereiches ist mit dem
Wort Start markiert. Dementsprechend ist das Ende des re servierten
Bereiches mit dem Wort Ende markiert. Entsprechende Zeiger sind
auch in der Schnittstelle angelegt, so dass festgehalten ist, wo
der reservierte Bereich für die
zugeordnete Verbindung im Speicher liegt. Der gezeigte Abschnitt
des Pufferspeichers ist darüber
hinaus als Ringpuffer organisiert. Das heißt, daß zunächst der Speicherbereich mit
LCH- und SCH-Paketen vom Anfang des Speicherbereiches an vollgeschrieben
wird. Der Speicher wird dann nach unten hin immer weiter gefüllt, bis
das Ende des reservierten Speicherbereiches erreicht ist. Kommen
noch weitere Daten zur Zwischenspeicherung an, müssen diese dann erneut am Anfang
des reservierten Speicherbereiches eingetragen werden. Das Speichermanagement
muss bei der Einrichtung der Verbindung abschätzen, wie groß der reservierte Speicherbereich
für den
zu übertragenen
Dienst sein muss, damit es nicht zu Schreib-/Lesekonflikten kommt.
Dies wird anhand der angeforderten Datenrate festgelegt. Der entsprechende
Prozess ist ebenfalls in der Spezifikation des Hiperlan/2 Standards beschrieben.
-
In 9 sind
jeweils auch noch die Schreib- und Lesezeiger für die LCH- und SCH-Pakete gezeigt.
Der LCHR-Zeiger entspricht dem Lesezeiger für LCH-Pakete. Der LCHW-Zeiger
entspricht dem Schreibzeiger für
LCH-Pakete. 9 zeigt, dass der LCHW-Zeiger
auf einen Eintrag weiter unten im reservierten Speicherbereich zeigt,
während
der LCHR-Zeiger auf eine Stelle weiter oben im Speicherbereich eingestellt
ist. Der Bereich oberhalb des LCHR-Zeigers ist wieder zur Überschreibung
mit LCH-Paketen freigegeben. Entsprechende Zeiger sind auch für die SCH-Pakete
vorgesehen. Der SCHR-Zeiger
betrifft wiederum den Lesezeiger und der SCHW-Zeiger betrifft den
Schreibzeiger für
die SCH-Pakete.
-
Die
Erfindung kann insbesondere bei dem Hiperlan/2-System eingesetzt
werden. Sie ist aber nicht ausschließlich auf dieses System beschränkt. Vielmehr
kann sie überall
dort eingesetzt werden, wo ein Paar von Datenpaketen für einge richtete
Verbindungen zwischengespeichert werden muss bei dem jeweils eines
der Datenpakete zur Auffüllung
von ungenutzten Speicherbereichen des anderen Datenpaketes genutzt
werden kann, wenn die Datenpaketgröße des ersten Datenpaketes
von einem Wert 2n Dateneinheiten abweicht.