PatentDe  


Dokumentenidentifikation DE602004004384T2 08.11.2007
EP-Veröffentlichungsnummer 0001606912
Titel ZUVORKOMMEN VON VERKEHR MIT NIEDRIGER PRIORITÄT MIT VERKEHR MIT HOHER PRIORITÄT
Anmelder Cisco Technology, Inc., San Jose, Calif., US
Erfinder REGAL, Michael, Pleasanton, CA 94566, US;
RIVERS, James, Saratoga, CA 95070, US
Vertreter Bosch, Graf von Stosch, Jehle Patentanwaltsgesellschaft mbH, 80639 München
DE-Aktenzeichen 602004004384
Vertragsstaaten AT, BE, BG, CH, CY, CZ, DE, DK, EE, ES, FI, FR, GB, GR, HU, IE, IT, LI, LU, MC, NL, PL, PT, RO, SE, SI, SK, TR
Sprache des Dokument EN
EP-Anmeldetag 17.03.2004
EP-Aktenzeichen 047575931
WO-Anmeldetag 17.03.2004
PCT-Aktenzeichen PCT/US2004/008244
WO-Veröffentlichungsnummer 2004084511
WO-Veröffentlichungsdatum 30.09.2004
EP-Offenlegungsdatum 21.12.2005
EP date of grant 17.01.2007
Veröffentlichungstag im Patentblatt 08.11.2007
IPC-Hauptklasse H04L 12/56(2006.01)A, F, I, 20061219, B, H, EP

Beschreibung[de]
HINTERGRUND DER ERFINDUNG

In vielen Systemen überträgt eine fest zugeordnete Verbindung sowohl einen Daten-Verkehr mit niedriger Priorität als auch einen Daten-Verkehr mit hoher Priorität. Daten-Verkehr mit geringer Priorität kann übermäßig lang sein und dazu führen, dass Daten-Verkehr mit hoher Priorität größere Verzögerungen erfährt als akzeptabel ist.

Ein Programm-gestütztes Beispiel für diese Art von Verzögerung ist das Verarbeiten von Unterbrechungen ("interrupt processing") für Mikroprozessoren. Ein Interrupt veranlasst das Programm, mit der Ausführung eines alternativen Code-Strangs zu beginnen, wodurch die Abarbeitung des normalen Codes verzögert wird.

Ein hardwaretechnisches Beispiel dafür ist das PCI-Bus "Latency Timeout"-Protokoll, wobei eine zentrale Entscheidungsstelle ("arbiter") einen Bus-Master dazu zwingen kann, den gemeinsamen Bus zu verlassen und einem anderen Master zu erlauben, die Transaktion durchzuführen.

Sowohl bei den Software-technischen als auch bei den Hardware-technischen Beispielen kann die Zeit zum Umschalten auf die unterbrechende Transaktion ("interrupting transaction") arbiträr und signifikant sein. Dementsprechend sind verbesserte und schnellere Techniken zum Umschalten von einem Daten-Verkehr mit geringer Priorität zu einem Daten-Verkehr mit hoher Priorität auf einer fest zugeordneten Verbindung erstrebenswert.

Ein Beispiel zum Stand der Technik kann dem Dokument US 6 393 457 entnommen werden.

KURZE ZUSAMMENFASSUNG DER ERFINDUNG

Bei einer Ausführungsform der Erfindung unterbricht der Daten-Verkehr mit hoher Priorität unverzüglich den Daten-Verkehr mit geringer Priorität und ist innerhalb eines Daten-Stroms mit geringer Priorität eingebettet.

Bei einer weiteren Ausführungsform der Erfindung begrenzen spezielle Codes oder Zeichen in einem übertragenen Daten-Strom den eingebetteten Daten-Verkehr mit hoher Priorität von dem Daten-Verkehr mit geringer Priorität.

Bei einer weiteren Ausführungsform verwenden die Sende-/Empfangsgeräte ("transceiver") eine 8B/10B-Codierung und die begrenzenden Zeichen für einen eingebetteten Daten-Strom mit hoher Priorität sind speziell gekennzeichnete K-Zeichen.

Wenn es bei einer weiteren Ausführungsform der Erfindung während der Übertragung von Daten-Verkehr mit geringer Priorität erforderlich ist, Daten-Verkehr mit hoher Priorität zu übermitteln, dann wird die Übertragung des Daten-Verkehrs mit geringer Priorität ausgesetzt bzw. pausiert. Ein spezielles Anfangs-Begrenzungs-Zeichen wird in den Daten-Strom eingefügt, um den Anfang des Daten-Verkehrs-Stroms mit hoher Priorität zu identifizieren, das von dem Daten-Verkehr mit hoher Priorität gefolgt wird. Wenn die Übermittlung des Daten-Verkehrs mit hoher Priorität abgeschlossen ist, wird ein spezielles Schluss-Begrenzungs-Zeichen in den Daten-Strom eingefügt und die Übermittlung des Daten-Stroms mit geringer Priorität wird ab der Stelle fortgesetzt, wo sie unterbrochen wurde, unmittelbar nach dem speziellen begrenzenden Zeichen.

Andere Merkmale und Vorteile der Erfindung werden aus der folgenden detaillierten Beschreibung und den beigefügten Zeichnungen offenbar.

KURZE BESCHREIBUNG DER ZEICHNUNGEN

1 ist ein Block-Diagramm eines Systems mit ASICs ("application specific integrated circuit"), die über eine fest zugeordnete serielle Verbindung gekoppelt sind;

2 ist ein Block-Diagramm einer Schnittstelle zu der seriellen Verbindung;

3 ist ein Block-Diagramm einer Ausführungsform der Erfindung;

4 ist ein Fluss-Diagramm einer Ausführungsform der Arbeitsschritte eines Übermittleres ("Transmitter");

5 ist ein Fluss-Diagramm einer Ausführungsform der Arbeitsschritte auf der Seite des Empfängers;

6 ist ein schematisches Diagramm auf hoher Ebene eines Daten-Stroms unter Verwendung einer Ausführungsform der Erfindung; und

7 ist ein detailliertes schematisches Diagramm eines Daten-Stroms unter Verwendung einer Ausführungsform der Erfindung.

DETAILLIERTE BESCHREIBUNG DER ERFINDUNG

Es wird nachfolgend detailliert Bezug genommen auf unterschiedliche Ausführungsformen der Erfindung. Beispiele dieser Ausführungsformen sind in den beigefügten Zeichnungen dargestellt. Während die Erfindung in Verbindung mit diesen Ausführungsformen beschrieben wird, ist damit selbstverständlich nicht beabsichtigt, die Erfindung auf irgendeine Ausführungsform zu beschränken. Es ist im Gegenteil beabsichtigt, Alternativen, Modifikationen und Äquivalente mit einzubeziehen, die innerhalb des Bereichs und Schutzumfangs der Erfindung liegen können, wie er durch die beigefügten Ansprüche definiert ist. In der folgenden Beschreibung werden zahlreiche spezifische Details angegeben, um ein grundsätzliches Verständnis der unterschiedlichen Ausführungsformen zu geben. Die vorliegende Erfindung kann jedoch auch ohne einige oder alle dieser spezifischen Details ausgeführt werden. In anderen Fällen werden wohl bekannte Prozess-Operationen nicht im Detail beschrieben, um die vorliegende Erfindung nicht unnötig zu verschleiern.

Eine erste Ausführungsform wird nun in Zusammenhang mit einem übergeordneten ASIC ("application specific integrated circuit")-Schaltkreis beschrieben, der einen eingebetteten Mikroprozessor umfasst, der an Anschluss-ASICs über eine serielle Verbindung gekoppelt ist, wie in 1 gezeigt, entworfen von dem Inhaber der vorliegenden Erfindung. In 1 ist ein übergeordneter ASIC 10 über eine fest zugeordnete serielle Verbindung 14 mit drei Anschluss-ASICs 12a, b und c gekoppelt.

2 ist ein Block-Diagramm der mit der seriellen Verbindung 14 gekoppelten Schnittstelle. Der Empfänger 20 ist mit einer physikalisch codierten Schicht (PCS) gekoppelt und mit einem PCS-Decoder 22, der mit der seriellen Verbindung 14 gekoppelt ist, um SI (Eingangssignale) und SICK (Eingangs-Zeitsignale) zu empfangen. Der Übermittler 24 ist mit der PCS gekoppelt, die einen PCS-Codierer 26 umfasst, um Ausgangssignale SO und Ausgangs-Zeitsignale SOCK zu übermitteln.

Bei dieser Ausführungsform stellt eine Mitteilung eine einzelne Transaktion dar, die auf der fest zugeordneten Verbindung 14 auftritt und eine variable Länge von bis zu 2 kBytes für die Datenblock ("frame")-Übermittlungen haben kann (einschließlich der Frame-Daten, Mitteilungs-Kopf und der Frame-Überprüfungs-Sequenz (FCS)). Eine Mitteilung wird von dem übergeordneten ASIC initiiert, um einen Befehl teilweise oder vollständig an einen Anschluss-ASIC oder an alle Anschluss-ASICs zu übertragen. Der Befehl und die adressierten Anschluss-ASICs werden durch das erste Byte der Mitteilung identifiziert. Weitere Bytes sind von der Art des Befehls abhängig und können entweder von dem Anschluss-ASIC oder dem übergeordneten ASIC geschrieben werden.

Nachfolgend wird ein Beispiel beschrieben, bei dem die Mitteilung mit geringer Priorität eine Datenblock-Übertragung ist, wobei der übergeordnete ASIC 10 Datenblöcke ("frames") von oder zu Anschluss-ASICs ohne CPU-Intervention bewegt, und die Mitteilung mit hoher Priorität sind Direkt-Zugriffs-Mitteilungen, die verwendet werden, um den direkten Zugriff auf die Anschluss-ASICs-Register und RAM zu steuern.

Lange Datenblock-Transaktionen können auf der fest zugeordneten seriellen Verbindung beträchtliche Zeit in Anspruch nehmen. Bei dieser Ausführungsform beträgt die maximale Datenblock-Größe beispielsweise 1518 Bytes mit 8 Bits/Byte und die Daten-Transfer-Rate auf der fest zugeordneten seriellen Verbindung beträgt 1 nsS/Bit. Demnach würde die Zeit zum Übertragen eines Datenblocks mit maximaler Größe (1518·8)·1 nS = 12,144 uS betragen. Wenn die fest zugeordnete serielle Verbindung ungenutzt ist, kann in dieser Zeitspanne eine große Anzahl von Register-Lese-Vorgängen oder -Schreib-Vorgängen in der Größenordnung von 10 oder mehr durchgeführt werden. Wenn während einer Datenblock-Transaktion ein Lese-Vorgang geplant ist, so wird der Lese-Vorgang ausgesetzt, bis die Datenblock-Transaktion abgeschlossen ist. Dieser ausgesetzte Lese-Vorgang neigt dazu, den Betrieb des Mikroprozessors zu blockieren, weshalb minimale Verzögerungen für diese Lesevorgänge erstrebenswert sind. Wenn ein Register-Lese-Vorgang unmittelbar nach dem Anfang eines Datenblock-Abrufs mit maximaler Größe ausgegeben worden ist, wird der Lesevorgang für 12,144 uS aufgehalten, was einen signifikanten Leistungsverlust zur Folge hat.

Um die Verzögerungen zu minimieren, wurde ein Mechanismus für zeitsensitive Zugriffe entwickelt, um die Datenblock-Zugriffe vorzubelegen. Ein zeitsensitiver Direktzugriff hat gegenüber einem Datenblock-Zugriff ("Frame Transmit Access" oder "Frame Receive Access") Vorrang. Der zeitsensitive Zugriff gewinnt immer bei der Entscheidung für eine Leerlauf-Verwaltungs-Schnittstelle und fügt sich selbst in einem Datenblock-Übermittlungs-Zugriff oder einem Datenblock-Empfangs-Zugriff ein, um die Verwaltungs-Schnittstelle zu gelangen. Nachfolgend wird die Beschreibung des Prozesses zum Einfügen von Mitteilungen mit hoher Priorität in Mitteilungen mit geringer Priorität angegeben. Bei dieser Ausführungsform verwendet die fest zugeordnete Verbindung eine 8B/10B-Codierung/Decodierung, die sowohl einen Zugriff auf Steuerungs- als auch auf Daten-Zeichen erlaubt. Auf diese Weise ist der PCS-Codierer und -Decodierer von 2 ein 8B/10B-Codierer und ein 8B/10B-Decodierer.

Wie dem betreffenden Fachmann bekannt ist, codiert das 8B/10B-Codierungs-Format 8-Bit-Eingangsdaten in 10-Bit-Symbole zur Übermittlung. Die 8-Bit-Blöcke sind in 5-Bit- und 3-Bit-Unter-Blöcke unterteilt, die jeweils in 6-Bit- und 4-Bit-Unter-Blöcke codiert sind. Es wird ein Präfix von D oder K verwendet, um zwischen Daten und speziellen Zeichen zu unterscheiden. Ein Symbol wird durch sein Präfix und die dezimalen Werte seiner Unterblöcke benannt. D31.1 ist beispielsweise ein Daten-Symbol mit einem ersten Unterblock von (11111), die einen dezimalen Wert von 31 haben, und einem zweiten Unterblock von (100) mit einem dezimalen Wert von 1. Es ist zu bemerken, dass das LSB auf der linken Seite ist.

Die Disparität eines Datenblocks wird definiert aus der Differenz zwischen der Anzahl von Einsen und Nullen in dem Block. Eine positive Disparität reflektiert einen Überschuss von Einsen über die Nullen. Jedes Symbol kann auf zwei Weisen codiert werden; einer ersten Codierung mit einer positiven Disparität und einer alternativen Codierung mit einer negativen Disparität. Der Codierer selektiert die Disparität des Symbols, um einen laufenden Disparitäts-Wert zwischen +1 und –1 zu erhalten, um die Ziele der Beibehaltung von Übergangsdichten und begrenzten Lauflängen zu erreichen.

Nachdem eine individuelle Bit-Ausrichtung erreicht wurde, muss in allen SerDes-Einheiten der Anfang und das Ende eines jeden zu übertragenden Symbols in einem seriellen Daten-Strom bestimmt werden, da die mit den parallelen Daten assoziierten Grenzen während der Serialisierung verloren gehen. Dementsprechend senden die meisten SerDes-Einheiten eine Serie von speziellen Zeichen, bekannt als Kommata, wie oben beschrieben.

All diese Kommata sind eindeutige Zeichen innerhalb des 8B/10B-Codes, der entweder mit einer 1100000XXX oder 0011111 XXX in Abhängigkeit von der Disparität und den individuellen K-Zeichen-Regeln beginnt. Diese Versionen werden als primäre (positive Disparität)- und alternative (negative Disparität)-Versionen bezeichnet. Diese Kommata werden in einer vorgegebenen Weise gesendet, so dass die Zeit-Ausnutzungs-Einheit die Grenzen der Symbole lokalisieren kann, die über eine SerDes-Einheit übermittelt wurden.

Die K-Zeichen, die Kommata enthalten, sind K28.1, K28.5 und K28.7. Wie oben beschrieben, werden diese K-Zeichen in Abhängigkeit von der laufenden Disparität als positive oder negative Disparitäts-Versionen übermittelt.

Bei dieser Ausführungsform werden spezielle Zeichen von der physikalischen Codierungs-Schicht (PCS) interpretiert, um den Anfang und das Ende einer eingefügten Mitteilung zu begrenzen. Diese speziellen Zeichen werden durch die PCS interpretiert, um die eingebetteten Mitteilungen mit hoher Priorität von den Mitteilungen mit niedriger Priorität zu begrenzen und zu extrahieren.

Die folgende Tabelle 1 listet spezielle Code-Gruppen auf, die in dieser Ausführungsform der Erfindung verwendet werden.

Da die unterschiedlichen Steuerungs-Zeichen durch Daten-Verkehr mit hoher Priorität gegen Daten-Verkehr mit geringer Priorität verwendet werden, können Daten-Ströme mit hoher Priorität in einen Daten-Strom mit geringer Priorität durch den Übermittler eingefügt werden. Der Empfänger verwendet diese Steuerungs-Zeichen, um den Daten-Verkehr mit hoher Priorität aus dem Daten-Verkehr mit geringer Priorität zu extrahieren.

Die an dem Empfänger und an dem Übermittler durchgeführten Aktionen werden nun unter Bezugnahme auf das Block-Diagramm von 3 sowie auf das Fluss-Diagramm der 4 und 5 beschrieben.

In 3 wird ein Hoch-Pegel-Block-Diagramm der Logik 30 zum Einbetten bzw. Einfügen und Extrahieren von Daten mit hoher Priorität dargestellt. Ein paralleler Datenpaket-Verwalter 32 liefert Datenpakete ("frames") an einen Datenpaket-Tx-Puffer 34 und empfängt Datenpakete von einem Datenpaket-Rx-Puffer 36. Ein paralleler Direkt-Verwalter 38 liefert Direkt-Daten an einen Direkt-Tx-Puffer 40 und empfängt Direkt-Daten von einem Direkt-Rx-Puffer 42. Ein serieller Verwalter 44 umfasst eine interne Schnittstelle, die mit den Datenpaket- und den Direkt-Puffern verbunden ist, sowie eine serielle Schnittstelle mit einem Eingang 46 und einem Ausgang 48, die an den seriellen Daten-Pfad (nicht gezeigt) gekoppelt ist. Interne Seiten-Eingänge sind an die Ausgänge der Datenpaket-Tx- und Direkt-Tx-Puffer 34 und 40 gekoppelt, und interne Seiten-Ausgänge sind an die Eingänge der Datenpaket-Rx- und Direkt-Rx-Puffer 36 und 42 gekoppelt. Ein Entscheider ("arbiter") 50 ist an die Datenpaket-Tx- und Direkt-Tx-Puffer 34 und 40 sowie an die internen Ausgänge des seriellen Verwalters 44 gekoppelt.

Nachfolgend wird die Betriebsweise des Systems in 3 beschrieben. Die unten unter Bezugnahme auf das Fluss-Diagramm beschriebenen Aktionen können durch Status-Maschinen in dem Entscheider ("arbiter") 50 gesteuert werden. Die Status-Maschinen können als Programm-Code implementiert sein, der auf einem computerlesbaren Medium gespeichert ist, das von einem digitalen Computer ausgeführt wird. Das computerlesbare Medium kann neben anderen Komponenten magnetische Medien, optische Medien, elektromagnetische Felder usw. umfassen, die digitale Informationen codieren.

Es wird nun auf die Übermittlung von Daten unter Bezugnahme auf 4 eingegangen. Wenn eine Mitteilung mit niedriger Priorität (LP) übermittelt wird, überträgt der serielle Verwalter 44 Daten von dem Datenblock-Tx-Puffer 34 an die Ausgangs-Leitung 48 der seriellen Schnittstelle. Wenn der Entscheider 50 feststellt, dass eine Mitteilung mit hoher Priorität (HP) bereit ist, übermittelt zu werden, dann weist der Entscheider 50 den seriellen Verwalter 44 an, um die Übertragung der Mitteilung mit niedriger Priorität zu pausieren, das /P/-Zeichen in den übermittelten Daten-Strom einzufügen und unmittelbar danach die Direkt-Daten der Mitteilung mit hoher Priorität von dem Direkt-Tx-Puffer 40 an die Ausgangs-Leitung 48 der seriellen Schnittstelle zu übermitteln. Wenn der Entscheider 50 feststellt, dass die Übermittlung der Mitteilung mit hoher Priorität abgeschlossen ist, dann weist der Entscheider 50 den seriellen Verwalter 44 an, das /Q/-Zeichen in den Daten-Strom einzufügen und beginnt mit der Übertragung der Daten von dem Datenpaket-Tx-Puffer 34 an die Ausgangs-Leitung 48 der seriellen Schnittstelle. Die Übermittlung der Mitteilung mit niedriger Priorität wird dann ab der Stelle fortgesetzt, wo die Pause stattgefunden hat.

Es wird nun das Empfangen von Daten unter Bezugnahme auf 5 betrachtet. Während des Empfangs von Daten mit niedriger Priorität übermittelt der serielle Verwalter 44 Daten von der Eingangs-Leitung 46 der seriellen Schnittstelle an den Datenblock-Rx-Puffer 36.

Wenn der Entscheider 50 ein /P/-Zeichen in dem empfangenen Daten-Strom detektiert, dann wird das Empfangen und Speichern einer Mitteilung mit niedriger Priorität pausiert und der Entscheider 50 weist den seriellen Verwalter 44 an, die empfangenen Daten mit hoher Priorität zwischen dem /P/- und dem /Q/-Zeichen an den Direkt-Rx-Puffer 42 zu übermitteln. Nach der Erfassung des /Q/-Zeichens weist der Entscheider 50 den seriellen Verwalter 44 an, die auf der Eingangs-Leitung 46 der seriellen Schnittstelle empfangenen Daten an den Datenblock-Rx-Puffer 36 zu übermitteln.

Ein Beispiel des Einfügens eines Daten-Stroms mit hoher Priorität in einen Daten-Strom mit geringer Priorität ist in 6 dargestellt. Bei diesem Beispiel begrenzen /S/- und /T/-Zeichen den Daten-Verkehr mit geringer Priorität; /P/- und /Q/-Zeichen begrenzen den Daten-Verkehr mit hoher Priorität. /I/ repräsentiert ein Leerlauf-Zeichen.

Ein detaillierteres Beispiel eines Daten-Stroms unter Verwendung dieser Ausführungsform der Erfindung ist in 7 dargestellt. Bei diesem Beispiel ist die Eingabe an den übergeordneten ASIC in den SI+/SI- -Daten-Strom und die Ausgabe von dem übergeordneten ASIC in den SO+/SO- -Daten-Strom dargestellt.

Zum Zeitpunkt t1 übermittelt der übergeordnete ASIC 10 eine Übermittlungs-Datenblock-Anfangs-Mitteilung, wenn er eine Direkt-Lese-Antwort mit hoher Priorität von einem der Anschluss-ASICs 12 empfängt, die durch die /P/- und /Q/-Spezialzeichen begrenzt ist.

Zum Zeitpunkt t2 gibt der übergeordnete ASIC unverzüglich eine Puffer-Leeren-Mitteilung mit hoher Priorität aus, die durch die /P/- und /Q/-Spezialzeichen begrenzt ist, so dass ein Anschluss-ASIC den Puffer-Speicherplatz wieder beanspruchen kann, der für das Einfügen der Direkt-Lese-Antwort-Mitteilung verwendet wird. Es ist zu bemerken, dass die Puffer-Leeren-Mitteilung in einer Übertragungs-Datenblock-Anfangs-Mitteilung mit geringer Priorität eingebettet ist.

Zum Zeitpunkt t3 folgt der übergeordnete ASIC der Puffer-Leeren-Mitteilung mit einer Direkt-Schreib-Anfangs-Mitteilung mit hoher Priorität, die durch die /P/- und /Q/-Spezialzeichen begrenzt ist und die ebenso in der ursprünglichen Übermittlungs-Datenblock-Anfangs-Mitteilung eingebettet ist. Zum Zeitpunkt t4 setzt der übergeordnete ASIC die Übermittlung der Übermittlungs-Datenblock-Anfangs-Mitteilung mit geringer Priorität fort. Zum Zeitpunkt t5 empfängt der übergeordnete ASIC eine Direkt-Schreib-Antwort von einem Anschluss-ASIC, und zum Zeitpunkt t6 gibt der übergeordnete ASIC eine Puffer-Leeren-Mitteilung aus.

Wie in 6 gezeigt, ist die eingefügte Mitteilung durch die /P/- und /Q/-Zeichen begrenzt. Wie ebenso in 6 gezeigt, beträgt die Verzögerung zwischen dem Empfang des ersten Bytes einer direkten Mitteilung und der Übermittlung der ersten begrenzenden Zeichen der Antwort-Mitteilung lediglich ein Zeitzyklus. Ferner besteht keine Verzögerung zwischen der Übermittlung des letzten begrenzenden Zeichens des eingefügten Daten-Stroms mit hoher Priorität und der Übermittlung des pausierten Daten-Stroms mit geringer Priorität.

Auf diese Weise kommt das beschriebene System bei der Übermittlung von Daten-Strömen mit geringer Priorität durch fortlaufende Unterbrechungen wegen Mitteilungen mit hoher Priorität nicht zum Zusammenbruch. Der Daten-Strom mit geringer Priorität wird während der Intervalle zwischen den Übermittlungen mit hoher Priorität übertragen.

Die Erfindung wurde hier unter Bezugnahme auf die bevorzugten Ausführungsformen beschrieben. Alternativen und Ersetzungen sind dem entsprechendem Fachmann auf dem technischen Gebiet offenbar. Insbesondere ist das 8B/10B-Codier-Schema für die Ausführung der Erfindung nicht entscheidend. Es können auch andere Codier-Schemata angewendet werden, die das Einfügen von Steuerungs-Zeichen in einen Daten-Strom beinhalten. Ferner ist die Verwendung bestimmter Mitteilungs-Typen wie in den Beispielen für die Ausführung der Erfindung nicht entscheidend.


Anspruch[de]
System, das Daten-Verkehr mit geringer Priorität ausschließt zugunsten von Daten-Verkehr mit hoher Priorität über eine bestimmte Verbindung, die einen Übermittler ("Transmitter") mit einem Empfänger verbindet, wobei das System umfasst:

den Übermittler, umfassend:

einen ersten Puffer, hierin bezeichnet als HTPx-Puffer, zum Speichern der zu übermittelnden Daten mit hoher Priorität;

einen zweiten Puffer, hierin bezeichnet als LPTx-Puffer, zum Speichern von zu übermittelnden Daten mit geringer Priorität; und

eine Übermittler-Steuerung ("Transmitter-Controller"), wobei die Übermittler-Steuerung konfiguriert ist, um

a) in Reaktion auf das Empfangen einer Signalisierung, dass eine auszuführende Lese-Operation auf einem Register oder RAM verlangt wird, eine Pause-Übermittlung der Daten mit geringer Priorität von dem LPTx-Puffer,

b) Übermitteln der Daten mit hoher Priorität, begrenzt durch ein begrenzendes Anfangszeichen und ein begrenzendes Endzeichen, von dem HTPx-Puffer über die bestimmte serielle Verbindung, und

c) Fortsetzen der Übermittlung der Daten mit geringer Priorität ab der Stelle, an der die Übermittlung der Daten mit geringer Priorität unterbrochen wurde, wobei die Daten mit geringer Priorität einer Datenblock-Übertragung entsprechen, wobei die Daten mit hoher Priorität einer Mitteilung entsprechen, um den direkten Zugriff auf ein Register oder RAM zu steuern, und wobei das Anfangs- und das End-Steuerungszeichen ausgewählte 8B/10B-Steuerungszeichen sind.
System nach Anspruch 1, ferner umfassend:

den Empfänger umfassend:

einen ersten Puffer, hierin bezeichnet als HPRx-Puffer, zum Speichern empfangener Daten mit hoher Priorität;

einen zweiten Puffer, hierin bezeichnet als LPRx-Puffer, zum Speichern von empfangenen Daten mit geringerer Priorität; und

eine Empfänger-Steuerung ("Receiver-Controller") mit

a) Empfänger-Daten-Ausgängen, die mit dem HPRx- und den LPRx-Puffern gekoppelt sind, und

b) Empfänger-Daten- und Steuerungs-Eingängen, und wobei die Empfänger-Steuerung so konfiguriert ist, um:

a) den empfangenen Daten-Strom mit geringer Priorität in dem LPRx-Puffer zu speichern,

b) aufgrund der Erfassung eines Anfangs-Begrenzungs-Steuerungs-Zeichens, den nachfolgend empfangenen Daten-Strom mit hoher Priorität in dem NPRx-Puffer bis zur Erfassung des schlussbegrenzenden Zeichens zu speichern, und

c) aufgrund der Erfassung des schlussbegrenzenden Zeichens, die empfangenen Daten mit geringer Priorität in dem LPRx-Puffer zu speichern.
System nach Anspruch 1, wobei die Übermittler-Steuerung

(a) Übertragungs-Daten-Eingänge hat, die mit dem HPTx- und LPTx-Puffern gekoppelt sind, und

(b) Übertragungs-Daten- und Steuerungs-Ausgänge hat,

wobei der Übermitler einen Codierer umfasst, wobei der Codierer (a) Codier-Daten- und Steuerungs-Eingänge hat, die mit den Übertragungs-Daten- und Steuerungs-Ausgängen der Übermittler-Steuerung gekoppelt sind, wobei der Codierer konfiguriert ist, um ein Steuerungs-Zeichen zu generieren, das auf Daten basiert, die von dem Übertragungs-Daten-Ausgang der Übermittler-Steuerung geliefert wird, wenn die Übermittler-Steuerung ein Steuerungs-Signal an dem Übermittler-Steuerungs-Ausgang zur Verfügung stellt, und

wobei die Übermittler-Steuerung so konfiguriert ist, um:

a) die Daten mit geringer Priorität von dem LPTx-Puffer zu übertragen,

b) die Übertragung der Daten mit geringer Priorität zu pausieren,

c) das Steuerungs-Signal und ein erstes Daten-Wort bereitzustellen, welches das anfangsbegrenzende Steuerungs-Zeichen codiert, vor der Übermittlung der Daten mit hoher Priorität von dem HPTx-Puffer,

d) das Steuerungs-Signal und ein zweites Daten-Wort bereitzustellen, welches das schlussbegrenzende Steuerungs-Signal codiert, und

e) Übermitteln der Daten mit geringer Priorität von dem LPTx-Puffer von der Stelle, an der die Übertragung der Daten mit geringer Priorität unterbrochen wurde.
System nach Anspruch 1, wobei der Codierer ein 8B/10B-Codierer ist. System nach Anspruch 1, wobei der Empfänger einen Decodierer umfasst, wobei der Decodierer (a) Decodier-Daten- und Steuerungs-Ausgänge hat, die mit den Empfänger-Daten- und den Steuerungs-Eingängen der Empfänger-Steuerung gekoppelt sind, wobei der Decodierer konfiguriert ist, ein Steuerungs-Zeichen zu generieren, das auf Daten basiert, die an dem Empfänger-Daten-Ausgang der Empfänger-Steuerung bereitgestellt werden, wenn die Empfänger-Steuerung ein Steuerungs-Signal an dem Empfänger-Steuerungs-Ausgang bereitstellt; und wobei die Empfänger-Steuerung konfiguriert ist, um:

a) den empfangenen Daten-Strom mit geringer Priorität in dem LPRx-Puffer zu speichern,

b) aufgrund der Erfassung eines anfangsbeschränkenden Steuerungs-Zeichens, das durch den Decodierer geliefert wird, den anschließend empfangenen Daten-Strom mit hoher Priorität in dem HPRx-Puffer zu speichern, bis zu der Erfassung des schlussbegrenzenden Speicherns, das durch den Decodierer geliefert wird, und

c) aufgrund der Erfassung des schlussbegrenzenden Zeichens, empfangene Daten mit geringer Priorität in dem LPRx-Puffer zu speichern.
System nach Anspruch 5, wobei der Decodierer ein 8B/10B-Decodierer ist. Verfahren zum Ausschließen von Daten-Verkehr mit geringer Priorität zugunsten von Daten-Verkehr mit hoher Priorität über eine bestimmte Verbindung, die einen Übermittler mit einem Empfänger koppelt, wobei das Verfahren die Schritte umfasst:

in Reaktion auf das Empfangen einer Signalisierung, dass eine durchzuführende Lese-Operation in einem Register oder RAM verlangt wird, Pausieren der Übermittlung des Daten-Strom-Verkehrs mit einer geringer Priorität an den Übermittler;

Übermitteln eines ersten bestimmten begrenzenden Zeichens, das den Anfang von Mitteilungsdaten mit hoher Priorität markiert;

Übermitteln von Daten-Stromverkehr mit hoher Priorität über die bestimmte serielle Verbindung;

Übermitteln eines zweiten speziellen begrenzenden Zeichens, wenn die Übermittlung des Daten-Strom-Verkehrs mit hoher Priorität abgeschlossen ist; und

Fortsetzen der Übermittlung des Daten-Stroms mit geringer Priorität nach der Übermittlung des zweiten bestimmten begrenzenden Zeichens,

wobei die Daten mit geringer Priorität einer Datenblockübertragung entsprechen,

wobei die Daten mit hoher Priorität einer Mitteilung entsprechen, um den direkten Zugriff auf das Register oder RAM zu steuern, und

wobei das erste bestimmte begrenzende Zeichen und das zweite bestimmte begrenzende Zeichen 8B/10B-Steuerungs-Zeichen sind.
Verfahren nach Anspruch 7, ferner umfassend die Schritte:

Empfangen des Daten-Stroms mit geringer Priorität an den Empfänger und Speichern des Daten-Stroms mit geringer Priorität als Mitteilungs-Daten mit geringer Priorität in einem ersten Puffer;

aufgrund der Erfassung des ersten bestimmten begrenzenden Zeichens, Speichern der nachfolgend empfangenen Daten als Mitteilungs-Daten hoher Priorität in einem zweiten Puffer, bis das zweite bestimmte begrenzende Zeichen erfasst ist; und

aufgrund der Erfassung des zweiten bestimmten begrenzenden Zeichens, Speichern der Daten als Mitteilungs-Daten geringer Priorität in dem ersten Puffer, die nach dem Erfassen des zweiten begrenzenden Zeichens empfangen wurden.
Verfahren nach Anspruch 8, ferner umfassend die Schritte:

Feststellen, ob das erste bestimmte begrenzende Zeichen ein erstes ausgewähltes 8B/10B-Steuerungs-Zeichen ist; und

Feststellen, ob das zweite bestimmte begrenzende Zeichen ein zweites ausgewähltes 8B/10B-Steuerungs-Zeichen ist.
System zum Ausschließen von Daten-Verkehr mit geringer Priorität zugunsten von Daten-Verkehr mit hoher Priorität über eine bestimmte Verbindung, die einen Übermittler mit einem Empfänger koppelt, wobei das System umfasst: am Übermittler:

Mittel zum Pausieren der Übertragung des Daten-Strom-Verkehrs mit geringer Priorität in Reaktion auf das Empfangen einer Signalisierung, dass eine durchzuführende Lese-Operation in einem Register oder RAM verlangt wird;

Mittel zum Übermitteln eines ersten bestimmten begrenzenden Zeichens, welches den Anfang von Mitteilungs-Daten mit hoher Priorität markiert;

Mittel zum Übertragen eines Daten-Stroms mit hoher Priorität über die bestimmte serielle Verbindung;

Mittel zum Übermitteln eines zweiten bestimmten begrenzenden Zeichens, wenn die Übermittlung des Daten-Strom-Verkehrs mit der hohen Priorität abgeschlossen ist; und

Mittel zum Fortsetzen der Übermittlung des Daten-Stroms mit der geringen Priorität nach der Übermittlung des zweiten bestimmten begrenzenden Zeichens, wobei die Daten mit geringer Priorität einer Datenblock-Übertragung entsprechen;

wobei die Daten der hohen Priorität einer Mitteilung zum Steuern des direkten Zugriffs auf ein Register oder RAM entsprechen, und

wobei das erste bestimmte begrenzende Zeichen und das zweite bestimmte begrenzende Zeichen 8B/10B-Steuerungs-Zeichen sind.
System nach Anspruch 10, ferner umfassend: am Empfänger:

Mittel zum Empfangen des Daten-Stroms mit geringer Priorität und Speichern des Daten-Stroms mit geringer Priorität als Mitteilungs-Daten geringer Priorität in einem ersten Puffer;

Mittel zum Speichern nachfolgender Daten als Mitteilungs-Daten mit hoher Priorität in einen zweiten Puffer, aufgrund der Erfassung des ersten bestimmten begrenzenden Zeichens bis das zweite bestimmte begrenzende Zeichen erfasst ist;

und

Mittel zum Speichern der Daten, die nachfolgenden an das zweite bestimmte begrenzende Zeichen empfangen wurden, als Mitteilungs-Daten mit geringer Priorität in dem ersten Puffer.
System nach Anspruch 11, ferner umfassend:

Mittel zum Feststellen, ob das erste bestimmte begrenzende Zeichen ein erstes ausgewähltes 8B/10B-Steuerungs-Zeichen ist; und

Mittel zum Feststellen, ob das zweite bestimmte begrenzende Zeichen ein zweites ausgewähltes 8B/10B-Steuerungs-Zeichen ist.
Computer-Programm-Erzeugnis zum Ausschließen von Daten-Verkehr mit geringer Priorität zugunsten von Daten-Verkehr mit hoher Priorität über eine bestimmte Verbindung, die einen Übermittler an einen Empfänger koppelt, wobei das Computer-Programm-Erzeugnis umfasst:

ein erstes Computer-lesbares Medium, das bei dem Übermittler untergebracht ist, mit einem ersten Computer-lesbaren Programm-Code, der physikalisch darin inkorporiert ist, wobei der erste Computer-lesbare Programm-Code ferner umfasst:

einen Computer-lesbaren Programm-Code zum Veranlassen der Steuerung, die Übermittlung des Daten-Strom-Verkehrs mit geringer Priorität zu pausieren in Reaktion auf das Empfangen einer Signalisierung, dass eine durchzuführende Lese-Operation an einem Register oder RAM verlangt wird;

einen Computer-lesbaren Programm-Code zum Veranlassen der Steuerung, ein erstes bestimmtes begrenzendes Zeichen zu übermitteln, das den Anfang von Mitteilungs-Daten mit hoher Priorität markiert;

einen Computer-lesbaren Programm-Code zum Veranlassen der Steuerung, einen Daten-Strom-Verkehr mit hoher Priorität über die bestimmte serielle Verbindung zu übermitteln;

einen Computer-lesbaren Programm-Code zum Veranlassen der Steuerung, ein zweites bestimmtes begrenzendes Zeichen zu übermitteln, wenn die Übermittlung des Daten-Strom-Verkehrs der hohen Priorität abgeschlossen ist; und

einen Computer-lesbaren Programm-Code zum Veranlassen der Steuerung, die Übermittlung des Daten-Stroms der geringen Priorität nach der Übermittlung des zweiten bestimmten begrenzenden Zeichens fortzusetzen,

wobei die Daten der geringen Priorität einer Datenblock-Übertragung entsprechen,

wobei die Daten der hohen Priorität einer Mitteilung entsprechen, um den direkten Zugriff auf ein Register oder RAM zu steuern, und

wobei das erste bestimmte begrenzende Zeichen und das zweite bestimmte begrenzende Zeichen 8B/10B-Steuerungs-Zeichen sind.
Computer-Programm-Erzeugnis nach Anspruch 13, ferner umfassend:

ein zweites Computer-verwendbares Medium, das an dem Empfänger untergebracht ist, mit einem zweiten Computer-lesbaren Programm-Code, der physikalisch darin inkorporiert ist, wobei der zweite Computer-lesbare Programm-Code ferner umfasst:

einen Computer-lesbaren Programm-Code zum Veranlassen des Controllers, den Daten-Strom der geringen Priorität zu empfangen und den Daten-Strom der geringen Priorität als Mitteilungs-Daten geringer Priorität in einem ersten Puffer zu speichern;

einen Computer-lesbaren Programm-Code zum Veranlassen des Controllers, die nachfolgenden Daten als Mitteilungs-Daten hoher Priorität in einen zweiten Puffer zu speichern, wenn ein erstes bestimmtes begrenzendes Zeichen erfasst ist, bis ein zweites begrenzendes Zeichen erfasst ist; und

einen Computer-lesbaren Programm-Code zum Veranlassen der Steuerung, die Daten als Mitteilungs-Daten geringer Priorität in dem ersten Puffer zu speichern, die nach dem Erfassen des zweiten begrenzenden Zeichens empfangen wurden.
Computer-Programm-Erzeugnis nach Anspruch 14, wobei der zweite Computerlesbare Programm-Code ferner umfasst:

einen Computer-lesbaren Programm-Code, um die Steuerung zu der Feststellung zu veranlassen, ob das erste bestimmte begrenzende Zeichen ein erstes ausgewähltes 8B/10B-Steuerungs-Zeichen ist; und

einen Computer-lesbaren Programm-Code, um die Steuerung zu der Feststellung zu veranlassen, ob das zweite bestimmte begrenzende Zeichen ein zweites ausgewähltes 8B/10B-Steuerungs-Zeichen ist.






IPC
A Täglicher Lebensbedarf
B Arbeitsverfahren; Transportieren
C Chemie; Hüttenwesen
D Textilien; Papier
E Bauwesen; Erdbohren; Bergbau
F Maschinenbau; Beleuchtung; Heizung; Waffen; Sprengen
G Physik
H Elektrotechnik

Anmelder
Datum

Patentrecherche

Patent Zeichnungen (PDF)

Copyright © 2008 Patent-De Alle Rechte vorbehalten. eMail: info@patent-de.com