-
HINTERGRUND DER ERFINDUNG
-
Gebiet der Erfindung
-
Diese
Erfindung bezieht sich allgemein auf das Gebiet elektronischer Routing-Systeme
und insbesondere auf Schaltsystem und Verfahren zum Leiten von Datenpaketen
zwischen Datenports.
-
Beschreibung der verwandten
Technik
-
Ein
Crossbar-Schaltersystem ist eine relaisbetriebene Vorrichtung oder
das Äquivalent,
das eine Verbindung zwischen einer Ein-Bit-Signalleitung in einem
Satz von Signalleitungen und einer Ein-Bit-Signalleitung in einem
anderen Satz von Signalleitungen herstellt, die in Bezug auf die
Signalleitungen in dem einen Satz im Wesentlichen orthogonal orientiert
sind. In einem typischen Chip wird ein Crossbar-Schalter genutzt,
um Daten von einem Datenport zu einem anderen Datenport zu leiten.
Traditionelle Crossbar-Schalter auf Zellenbasis mit voller logischer
Schwingungsbreite enthielten viele Schaltelemente, die aufgrund
der Kapazität
der Schaltelemente und des Widerstands und der Kapazität des Metalls
zu langen Zeitverzögerungen
und einem hohen Stromverbrauch führten.
Im Allgemeinen leiteten herkömmliche
Systeme Daten, indem die Daten, die von einem sendenden Datenport
zu einem diesem Datenport zugeordneten Eingabepuffer übertragen
werden sollten, entlang einer einzigen Signaldatenleitung zu einem
Eingang eines Crossbar-Schalters, zu einem Schnittpunkt, an welchem
eine zweite Datenleitung, die ebenfalls mit dem Crossbar-Schalter
verbunden ist, eine Verbindung aufweist, zu einem Ausgang des Crossbar-Schalters und zum
empfangenden Datenport.
-
In
einem typischen herkömmlichen
System hat ein Crossbar-Schaltersystem sechs bidirektionale Datenleitungen,
so daß es
nur eine Datenleitung für
jeden Datenport gibt, der der Einfachheit halber 1 bis 6 nummeriert
ist. Jeder Datenport hat einen Datenpuffer, und jeder Datenpuffer
enthält
Blockeinheiten, die jeweils einen Teil eines Datenpakets halten. Typischerweise
gibt es sechs bis acht Blockeinheiten in jedem Datenpuffer. Jeder
Datenpuffer ist mit der Datenleitung gekoppelt, die mit dem bestimmten
Datenport verbunden ist. Innerhalb des Crossbar-Schalters ist jede
Datenleitung mit jeder anderen Daten leitung an einem Schnittpunkt
gekoppelt. Typischerweise sind die Datenleitungen 1, 2 und 3 horizontal
angeordnet, während
die Datenleitungen 4, 5 und 6 vertikal angeordnet sind, so dass
die Datenleitungen ein Gitter oder orthogonal orientierte Datenleitungen
bilden. Wo sich zwei Leitungen schneiden und miteinander koppeln,
liegt ein Schnittpunkt zum Verbinden zweier Datenports.
-
Wenn
das herkömmliche
System in Funktion ist, lädt
ein Datenport seinen zugeordneten Puffer mit den Datenpaketen, die
er übertragen
möchte,
zusammen mit Informationen über
die Priorität
der Daten in den Blöcken
und auf welchem Ausgangsport die Daten übertragen werden sollen. Ein
Entscheidungsprozess wird ebenfalls genutzt, um die Reihenfolge
zu bestimmen, in der die Blockeinheiten über die Datenleitung zum Crossbar-Schalter übertragen werden
sollen. Überdies
bestimmt ein zweiter Entscheidungsprozess am Ausgabeende, ob der
Zieldatenport zur Verfügung
steht, um die Daten von den Datenblöcken zu empfangen. In herkömmlichen
Systemen finden die Entscheidungsprozesse statt, um eine Übertragungspriorität zu liefern.
Wenn ein Datenblock erfolgreich Zugriff auf sowohl die übertragende
Datenleitung als auch die empfangende Datenleitung erlangt, werden
die Daten zu dem Crossbar-Schalter und zu dem Zieldatenport übertragen, indem
von der übertragenden
Leitung zu der empfangenden Leitung am Schnittpunkt umgeschaltet
wird, wo die beiden Leitungen miteinander koppeln. Ähnlich kann
ein anderer Datenport eine ähnliche
Operation vornehmen, um Daten von seinem Puffer entlang seiner Datenleitung
zu dem Crossbar-Schalter zu dem Schnittpunkt, wo die Datenleitung,
die mit dem Zielport gekoppelt ist, mit der übertragenden Datenleitung koppelt,
und heraus zum Zieldatenport zu übertragen.
-
Die
folgenden Beispiele veranschaulichen eine Operation der herkömmlichen
Systeme. Als ein erstes Beispiel trachtet der Datenport 1 danach,
seine Datenpakete zum Datenport 6 zu übertragen. Der Datenport 1
lädt die
Datenpakete in die Blöcke,
zum Beispiel 8 Datenpakete in 8 Blöcke, des Puffers des Datenport
1. Jedes Datenpaket im Puffer des Datenport 1 enthält auch
Prioritätsinformationen
wie z.B. niedrig, mittel oder hoch sowie Adreßinformationen, um eine Übertragung
der Daten zum Datenport 6 zu leiten. Das System beginnt mit der
Nutzung eines ersten Entscheidungsprozesses, um die Reihenfolge einer Übertragung
der Datenpakete in den Blöcken über die
Datenleitung 1 zum Crossbar-Schalter zu bestimmen. Ein zweiter Entscheidungsprozeß bestimmt
dann, ob der Datenport 6 zur Verfügung steht, um die Datenpakete
zu empfangen. Sind diese Entscheidungsprozesse einmal abgeschlossen
und wird einem Datenblock Zugang zu sowohl der Datenleitung 1 als
auch der Datenleitung 6 gewährt,
wird das Datenpaket von diesem Datenblock über die Datenleitung 1 in den
Crossbar-Schalter, zu dem Schnittpunkt, wo die Datenleitung 1 mit
der Datenleitung 6 koppelt, auf die Datenleitung 6 und heraus zum
Datenport 6 übertragen.
Das Problem bei diesem Ansatz besteht darin, daß zwei Entscheidungsprozesse die
Systemleistung vermindern, da Systemzeit und Ressourcen verbraucht
werden, um die Datenpakete einzurichten und zu ordnen, bevor eine Übertragung beginnt.
In den herkömmlichen
Systemen wird außerdem eine interne Blockierung nicht verhindert. Eine
interne Blockierung ist ein typisches Problem in herkömmlichen
Systemen, wo ein für
einen bestimmten Datenport bestimmtes Datenpaket wegen einer Übertragung
eines anderen Datenpakets zu diesem Datenport nicht zu diesem Datenport übertragen
werden kann.
-
Als
ein zweites Beispiel versuchen sowohl der Datenport 1 als auch der
Datenport 3 ihre jeweiligen Datenpakete zum Datenport 6 zu übertragen.
In dieser Ausführung
durchläuft
jeder Quellendatenport einen ersten Zuteilungs- oder Entscheidungsprozeß, um die
Reihenfolge für
die Übertragung
der Datenpakete in den Datenblöcken
ihres eigenen Datenpuffers über
ihre Datenleitung und zum Crossbar-Schalter zu bestimmen. Ein zweiter
Entscheidungsprozeß wird ebenfalls
genutzt, um zu bestimmen, ob der Datenport 6 zur Verfügung steht,
um die Datenpakete zu empfangen, und falls dies der Fall ist, von
wo er die Datenpakete empfangen kann, d.h. entweder von dem Puffer
des Datenport 1 oder dem Puffer des Datenport 3. Nachdem die beiden
Entscheidungsprozesse abgeschlossen sind, beginnt der Datenblock, der
beide Entscheidungsprozesse gewonnen hat, über seine Datenleitung zu dem
Crossbar-Schalter, zu der Datenleitung 6 und auf den Datenport 6
zu übertragen.
Alle anderen Datenpakete in den Datenblöcken des Datenport 1 und des
Datenport 3 müssen
auf die Übertragung
warten. Das Problem bei diesem Ansatz besteht wiederum darin, dass
die beiden Entscheidungsprozesse signifikante Systemzeit und Ressourcen
erfordern, was zu einer verringerten Leistung des gesamten Systems
für das
Leiten von Daten führt.
-
Als
ein drittes Beispiel eines Crossbar-Schaltersystems trachtet der
Datenport 1 danach, ein Datenpaket zum Datenport 6 zu übertragen.
In diesem Beispiel hat der Datenport 1 schon den ersten Entscheidungsprozeß durchlaufen
und beginnt eine Übertragung
der Datenpakete von seinem Dateneingabepuffer zum Datenport 6. Anschließend trachtet der
Datenport 3 danach, seine Datenpakete von den Datenblöcken seines
Dateneingabepuffers zu übertragen,
wobei die Datenpakete von einigen Blöcken für den Datenport 6 bestimmt
sind und die Datenpakete von anderen Blöcken für den Datenport 5 bestimmt
sind. Außerdem
sind die Datenblöcke,
die die Datenpakete halten, die zum Datenport 6 übertragen werden sollen, mit
hoher Priorität
versehen, während die
Datenblöcke,
die die Datenpakete halten, die zum Datenport 5 übertragen werden sollen, mit
mittlerer Priorität
versehen sind.
-
Während des
ersten Entscheidungsprozesses für
das Datenpaket des Datenport 3 werden die Datenpakete in den Datenblöcken, die
für den
Datenport 6 bestimmt sind, hinsichtlich ihrer Priorität für eine Übertragung über die
Datenleitung 3 geordnet. Der zweite Entscheidungsprozeß wird jedoch
keine Übertragung
zum Datenport 6 zulassen, da der Datenport 6 eine Datenübertragung
nicht empfangen kann, weil er mit einem Empfang von Daten vom Datenport
1 beschäftigt
ist. Außerdem
können
die Daten in den Datenblöcken,
die für
den Datenport 5 bestimmt sind, nicht übertragen werden, weil sie
den ersten Entscheidungsprozeß gegen
die Blöcke
mit hoher Priorität
verloren, die darauf warten, über
die Datenleitung 6 und auf den Datenport 6 zu übertragen. Die Datenpakete
in den Datenblöcken,
die für den
Datenport 6 bestimmt sind, erhielten Priorität und Kontrolle über die
Datenleitung 3, da sie im ersten Entscheidungsprozeß Vorrang
erhielten, bis ihre Übertragung
abgeschlossen ist. Dieses Problem, das beschrieben wurde und mit
den herkömmlichen
Systemen verbunden ist, ist ein weiteres Beispiel einer internen
Blockierung. Eine interne Blockierung tritt auch auf, wo mehrere
Datenpakete mit der gleichen Priorität im gleichen Dateneingabepuffer
liegen. Interne Blockierung verringert die Systemleistung wegen
der längeren
Zeit, die erforderlich ist, um die Datenpakete zu übertragen,
wenn ein Datenblock mit höherer
Priorität
nicht übertragen
kann, was erzwingt, daß Datenblöcke mit
niedrigerer Priorität
im Leerlauf oder in Bereitschaft bleiben und warten, bis der Datenblock
höherer
Priorität
seine Übertragung abschließt.
-
Ein
weiteres Problem, das mit herkömmlichen
Crossbar-Schaltersystemen verbunden ist, beinhaltet eine Nutzung
einer Funktionsausführung
mit voller Schwingungsbreite, um logische Zustände zu schalten. Ein Abfall
im Spannungspegelsignal hat zur Folge, daß Zustände nicht umschalten können, weil der
geeignete Spannungspegel, der notwendig ist, um den Schalter auszulösen, nicht
erreicht werden kann. Falls zum Beispiel die Spannung, die zum Umschalten
eines Zustands erforderlich ist, 2,5 Volt ("V") für EIN und
0,8 V für
AUS beträgt
und der Systemspannungspegel nur 2,3 V erreicht, kann der Schalter nicht
EIN schalten. Das Problem mit Systemen nach dem Stand der Technik
besteht darin, daß längere Taktzykluszeiten
erforderlich sind, da das System zum Umschalten von Zuständen warten
muss, bis der Spannungspegel auf 2,5 Volt zurück steigen kann. Eine Busausführung mit
voller Schwingungsbreite der Systeme nach dem Stand der Technik
hat außerdem
eine größere Leistungsdissipation
auf dem Chip zur Folge. Folglich gibt es eine Verringerung der Leistung
und des Leistungsverhältnisses auf
dem Chip.
-
Daher
besteht ein Bedarf an einem Crossbar-Schaltersystem, das einen schnelleren
und effizienteren Datendurchsatz liefert, wodurch die Leistung des
gesamten Schaltersystems zunimmt. Es besteht auch ein Bedarf an
einen Schalterdatenbus, der ein schnelleres und effizienteres Umschalten
erlaubt, obwohl er stark belastet und mit ohmschen Verbindungen
verdrahtet ist.
-
US 5 285 445 offenbart mehrere
Maßnahmen
für die
Anordnung von Schaltnetzwerken und Schaltnetzwerksteuerungen, um
Flaschenhälse
im Schaltnetzwerk zu vermeiden. Diese Maßnahmen beinhalten unter anderem
die Umordnung von Eingabepuffern, so dass man mehrere Datensektionen
hat. Gemäß einer
anderen Ausführungsform
werden die zu übertragenden
Datenblöcke
in Teilblöcke
einer entsprechenden Anzahl von Bits segmentiert und in einem bitparallelen
Modus übertragen.
-
US 5 412 380 offenbart eine
hochintegrierte Kreuzungspunkt- oder Koppelpunktschaltung, die für eine Vermittlungseinrichtung
(engl. exchanger) in ISDN angepasst ist, für eine Übertragung von Zellen im asynchronen
Transfermodus bei der Datenübertragung.
Die LSI-Koppelpunktschaltung enthält viele Einheiten schaltende
Zellen, die in Reihen und Spalten angeordnet sind. Gemäß diesem
Dokument können
die Daten über
ein Schaltsystem mit Eingangsports mit einem Puffer, einem Schaltnetzwerk
mit mehreren Kreuzungs- oder Koppelpunkten und Ausgangsports übertragen
werden.
-
Es
ist die Aufgabe der vorliegenden Erfindung, ein schnelles und effizientes
Crossbar-Schaltersystem und -verfahren zum Übertragen von Daten zu schaffen.
-
Zusammenfassung der Erfindung
-
Diese
obige Aufgabe wird mit Hilfe eines Systems nach Anspruch 1 bzw.
eines Verfahrens nach Anspruch 6 gelöst. Bevorzugte Ausführungsformen
sind in den Unteransprüchen
angegeben.
-
Im
Wesentlichen bezieht sich die vorliegende Erfindung auf ein Schaltersystem
in einer Routing-Vorrichtung, die dafür ausgelegt ist, Daten von einen
Datenport durch die Verwendung eines Crossbar-Schalters zu einem
anderen Datenport zu leiten. Die vorliegende Erfindung ist dafür ausgelegt,
den Datendurchsatz eines Crossbar-Schaltersystems zu erhöhen, indem
mehrere Eingabedatenbusse oder -pfade von einem Quellendatenport
zu einem differentiellen Ausgabedatenbus oder -pfad mit reduzierter
Schwingungsbreite im Crossbar-Schalter
gekoppelt werden, um die Daten an einem Zieldatenport zu erzeugen,
der mit dem Ausgabedatenbus gekoppelt ist.
-
Das
System und Verfahren der vorliegenden Erfindung erfüllt die
Forderung nach einem schnelleren und effizienteren Datendurchsatz
in einem Schaltersystem, um die Leistung des gesamten Systems zu
verbessern. Das System der vorliegenden Erfindung umfasst einen
Eingabepuffer eines Quellendatenport, einen ersten Quellendaten-Eingabepfad,
einen zweiten Quellendaten-Eingabepfad,
einen ersten Datenausgabepfad, einen zweiten Datenausgabepfad und
zumindest eine Koppelpunktschaltung. Der Eingabepuffer des Quellendatenport
umfasst ferner eine Datensektion und eine zweite Datensektion. Jede
Koppelpunktschaltung ist eine differenzielle Schaltung mit reduzierten
Schwingungsbreiten der Spannung.
-
Die
erste Datensektion des Eingabepuffers des Quellendatenport ist mit
dem ersten Dateneingabepfad gekoppelt, und die zweite Datensektion
des Ein gabepuffers des Quellendatenport ist mit dem zweiten Dateneingabepfad
gekoppelt. Die ersten und zweiten Dateneingabepfade koppeln jeweils
mit dem ersten Datenausgabepfad und dem zweiten Datenausgabepfad über die
Koppelpunktschaltung, die an jedem Schnittpunkt der Eingabepfade
und der Ausgabepfade liegt. Das System der vorliegenden Erfindung
hat den Vorteil, dass Daten in jeder Datensektion gleichzeitig zu
verschiedenen Datenausgabepfaden übertragen werden, ohne eine Übertragung
aufgrund eines anfänglichen
Entscheidungsprozesses, um über
einen einzelnen Dateneingabepfad zu übertragen, zu verzögern, ein
Problem einer internen Blockierung oder einen überlasteten Bus. Daher erhöht die vorliegende
Erfindung signifikant einen Datendurchsatz im System.
-
Das
Verfahren der vorliegenden Erfindung umfasst die Schritte, in denen
jedes oder jeder von mehreren Datenpaketen oder -frames in Datensektionen
eines Eingabepuffers geladen wird, ein Eingabepfad für jede Datensektion
mit einem Schalter gekoppelt wird, jedes Datenpaket von der Datensektion über den
gekoppelten Eingabepfad zum Schalter übertragen und jedes Datenpaket
vom Eingabepfad zu einem Ausgabepfad geschaltet wird. Das Verfahren
der beanspruchten Erfindung ermöglicht
ein gleichzeitiges Übertragen
mehrerer Datenpakete von einem Eingabepuffer zu einem Schalter und
anschließendes
Weiterleiten der Datenpakete zu einem oder mehreren Zieldatenports.
Das Verfahren der beanspruchten Erfindung verbessert daher die Leistung des
gesamten Systems, indem die Rate und Effizienz eines Datendurchsatzes
im System erhöht
werden.
-
Das
System und Verfahren der vorliegenden Erfindung beinhaltet eine
differenzielle Koppelpunktschaltung mit reduzierten Schwingungsbreiten
der Spannung für
ein Schaltersystem. Die Koppelpunktschaltung umfasst eine erste
Leitung mit reduzierter Schwingungsbreite der Spannung und eine
zweite Leitung mit reduzierter Schwingungsbreite der Spannung zusammen
mit einer ersten Transistorschaltung und einer zweiten Transistorschaltung
für jeden
Dateneingabepfad und einen Leseverstärker für einen Datenport. Die erste
Leitung mit reduzierter Schwingungsbreite der Spannung ist mit der
ersten Transistorschaltung und dem Leseverstärker gekoppelt. Die zweite
Leitung mit reduzierter Schwingungsbreite der Spannung ist mit der
zweiten Transistorschaltung und dem Leseverstärker gekoppelt. Der Leserverstärker erzeugt
ein Ausgangssignal für
den Datenport. Die Koppelpunktschaltung hat den Vorteil, daß mehrere
Dateneingabepfade auf einem Bus in einem Schalter gekoppelt werden,
ohne wegen einer Überlastung
des Busses die Systemleistung zu verringern. Die Koppelpunktschaltung
ermöglicht
auch Änderungen
in einem Zustand eines Datensignals basierend auf einem Taktsignal
und einer Spannungsdifferenz statt eines bestimmten Spannungspegels, wodurch
die Systemleistung erhöht
wird, weil die Unanfälligkeit
gegen Gleichtaktrauschen erlaubt, dass geringere Spannungsschwingungsbreiten
verwendet werden. Außerdem
ist die Leistungsdissipation auf dem Chip reduziert, weil die Spannungsschwingungsbreite
auf dem Bus reduziert ist.
-
Das
Betriebsverfahren der Koppelpunktschaltung umfasst die Schritte,
in denen eine erste Spannungsleitung und eine zweite Spannungsleitung auf
einen voreingestellten Spannungspegel geladen werden, der voreingestellte
Spannungspegel von der ersten Spannungsleitung entladen wird, der
voreingestellte Spannungspegel in der zweiten Spannungsleitung gehalten
wird, ein Taktsignal am Leseverstärker empfangen wird, um den
Leseverstärker in
einen Ein-Zustand
zu versetzen, der Leseverstärker
basierend auf der Spannungsdifferenz in der ersten Spannungsleitung
und der zweiten Spannungsleitung ausgelöst wird und ein Ausgangssignal
mit voller Schwingungsbreite vom Leseverstärker abgegeben wird. Das Betriebsverfahren
der Koppelpunktschaltung liefert den Vorteil, daß Ausgangszustände basierend
auf einer differentiellen Spannungsmessung statt einer Messung des
Spannungspegels geändert
werden. Der Vorteil dieses Ansatzes besteht darin, die Leistung
des gesamten Systems zu erhöhen,
weil eine Gleichtaktunterdrückung
ermöglicht, dass
eine geringere Schwingungsbreite des Spannungssignals genutzt wird.
Da das Verfahren eine ausgezeichnete Unterdrückung von Gleichtaktrauschen
aufweist, können
Ausgangssignale mit voller Schwingungsbreite erzeugt werden.
-
Diese
und andere Merkmale, Aspekte und Vorteile der vorliegenden Erfindung
werden bezüglich
der folgenden Beschreibung, beigefügten Ansprüche und beiliegenden Zeichnungen
besser verstanden.
-
Kurze Beschreibung der
Zeichnungen
-
1 ist
ein Blockdiagramm, das eine Ausführungsform
eines Crossbar-Schaltersystems
in der vorliegenden Erfindung veranschaulicht;
-
2 ist
ein Blockdiagramm, das eine Ausführungsform
einer internen Struktur der vorliegenden Erfindung mit einem Satz
von Dateneingabepfaden und einem Satz von Datenausgabepfaden veranschaulicht,
die über
eine Koppelpunktschaltung in einem Crossbar-Schalter gekoppelt sind;
-
3 ist
ein Blockdiagramm, das eine Ausführungsform
von Datenpaketen oder -frames veranschaulicht, die in einen Eingabepuffer
eines Quellendatenport geladen werden;
-
4 ist
ein Flußdiagramm,
das ein Betriebsverfahren einer Ausführungsform der vorliegenden
Erfindung veranschaulicht;
-
5 ist
ein Blockdiagramm, das eine Ausführungsform
eines internen Teils der vorliegenden Erfindung veranschaulicht,
worin mehrere Quellendatenports versuchen, zu mindestens einem gemeinsamen
Zieldatenport zu übertragen;
-
6 ist
ein Blockdiagramm, das eine Ausführungsform
einer Koppelpunktschaltung innerhalb eines Crossbar-Schalters der
vorliegenden Erfindung veranschaulicht;
-
7A ist
ein Flußdiagramm,
das ein Verfahren des allgemeinen Betriebs einer Koppelpunktschaltung
in der vorliegenden Erfindung veranschaulicht;
-
7B und 7C sind
ein Flußdiagramm, das
ein anderes Betriebsverfahren einer Koppelpunktschaltung in der
vorliegenden Erfindung veranschaulicht; und
-
8 ist
eine graphische Darstellung von Wellenformen, die während eines
Betriebs einer Ausführungsform
der vorliegenden Erfindung vorliegen.
-
Detaillierte Beschreibung
der bevorzugten Ausführungsform
-
Bezugnehmend
nun auf 1 veranschaulicht das Blockdiagramm
eine Ausführungsform
eines Schaltsystems für
einen Crossbar-Schalter der vorliegenden Erfindung, das einen Crossbar-Schalter 105,
Eingabepuffer 110, 120, 130, 140, 150, 160 von Datenports,
einen entsprechenden Satz von Dateneingabepfaden 115a–f, 125a–f, 135a–f, 145a–f, 155a–f, 165a–f, Datenausgabepfade 118, 128, 138, 148, 158, 168,
Zieldatenports 10, 20, 30, 40, 50, 60 und
eine Entscheidungseinheit 170 für jeden Datenport 10, 20, 30, 40, 50, 60 (für insgesamt
sechs (6) Entscheidungseinheiten) umfasst. Der Eingabepuffer 2 bis
5 120, 130, 140, 150 der Datenports
und ihre zugeordneten Dateneingabepfade 125a–f, 135a–f, 145a–f, 155a–f sind
nicht dargestellt; es sollte sich jedoch verstehen, dass sie im
Aufbau dem Eingabepuffer 110 des Quellendatenport 1 und
dem Eingabepuffer 160 für
den Quellendatenport 6 und ihren jeweiligen Dateneingabepfaden 115a–f, 165a–f äquivalent sind.
Obwohl nicht dargestellt, sollte es sich jedoch verstehen, dass
der Quellendatenport 1 mit dem Eingabepuffer 110 des Quellendatenport
1 und dem Datenausgabepfad 118 gekoppelt ist, der Quellendatenport
2 mit dem Eingabepuffer 120 des Quellendatenport 2 und
dem Datenausgabepfad 128 gekoppelt ist, der Quellendatenport
3 mit dem Eingabepuffer 130 des Quellendatenport 3 und
dem Datenausgabepfad 138 gekoppelt ist, der Quellendatenport
4 mit dem Eingabepuffer 140 des Quellendatenport 4 und
dem Datenausgabepfad 148 gekoppelt ist, der Quellendatenport
5 mit dem Eingabepuffer 150 des Quellendatenport 5 und
dem Datenausgabepfad 158 gekoppelt ist und der Quellendatenport
6 mit dem Eingabepuffer 160 des Quellendatenport 6 und
dem Datenausgabepfad 168 gekoppelt ist. In der vorliegenden
Erfindung kann jeder Datenport eine Router-Vorrichtung, eine Netzwerkvorrichtung
eine Computervorrichtung, eine Peripherievorrichtung oder dergleichen sein.
-
Jeder
Eingabepuffer 110, 120, 130, 140, 150, 160 eines
Quellendatenport ist mit einem entsprechenden Satz von Dateneingabepfaden 115a–f, 125a–f, 135a–f, 145a–f, 155a–f, 165a–f gekoppelt. Jeder
Satz von Dateneingabepfaden 115a–f, 125a–f, 135a–f, 145a–f, 155a–f, 165a–f ist mit
dem Crossbar-Schalter 105 an einem zugeordneten Eingang
für jeden
Dateneingabepfad gekoppelt. Die Datenausgabepfade 118, 128, 138, 148, 158, 168 sind
mit dem Crossbar-Schalter 105 ebenfalls
gekoppelt. Jeder Datenausgabepfad 118, 128, 138, 148, 158, 168 ist ebenfalls
mit seinem jeweiligen Zieldatenport 10, 20, 30, 40, 50, 60 gekoppelt.
Für jeden
Zieldatenport 10, 20, 30, 40, 50, 60 ist
die zugeordnete Entscheidungseinheit 170 mit jedem Eingabepuffer 115, 125, 135, 145, 155, 165 von
Quellendatenports und dem Crossbar-Schalter 105 gekoppelt.
Sowohl der Crossbar-Schalter 105 als auch die Entscheidungseinheit 170 enthalten
einen Taktsignaleingang.
-
Eine
Operation des Systems ist im allgemeinen mit einem Bewegen von Daten
von einem Quellendatenport zu einem oder mehreren Zieldatenports verbunden.
Wenn zum Beispiel der Quellendatenport 1 zum Zieldatenport 6 60 übertragen
möchte,
wird zuerst der Eingabepuffer 110 des Quellendatenport
1 mit Datenpaketen oder -frames geladen, die übertragen werden sollen. Ein
Datenframe umfasst ein Datenpaket, das andere Bitinformationen wie
zum Beispiel Adress- oder Prioritätsinformationen enthalten kann,
wie im Folgenden diskutiert wird. Das jeweilige Datenpaket wird
in seine eigene Datensektion des Eingabepuffers 110 für Quellendaten
geladen und über
den mit jeder Datensektion verbundenen Dateneingabepfad übertragen.
Als nächstes
bestimmt die zugeordnete Entscheidungseinheit 170, ob der
Zieldatenport 6 60 zur Verfügung steht, um Daten zu empfangen.
Steht der Zieldatenport 6 60 zur Verfügung, ermöglicht die Entscheidungseinheit,
daß eine Koppelpunktschaltung 210 den
Dateneingabepfad und den Datenausgabepfad elektrisch koppelt, so daß die Datenpakete
zum Ausgabepfad 168 des Zieldatenports 6 umgeschaltet oder
geroutet werden, der mit dem Zieldatenport 6 60 gekoppelt
ist.
-
In
einer alternativen Ausführungsform
der vorliegenden Erfindung kann es mehr oder weniger als sechs Quellen-
oder Zieldatenports, Eingabepuffer von Quellendatenports und Datenausgabepfade geben.
Es kann auch mehr oder weniger als sechs Datensektionen und sechs
Dateneingabepfade für jeden
Eingabepuffer eines Datenport zu einem Crossbar-Schalter geben.
-
Bezugnehmend
nun auf 2 veranschaulicht ein Blockdiagramm
eine Ausführungsform
einer internen Schaltungsanordnung des Crossbar-Schalters 105.
Das Blockdiagramm zeigt eine Koppelpunktmatrix mit horizontalen
und vertikalen Bussen, die an jedem Schnittpunkt durch eine Koppelpunktschaltung 210 miteinander
gekoppelt sind. Die Dateneingabepfade 115a–f, 125a–f, 135a–f, 145a–f, 155a–f, 165a–f umfassen
die horizontalen Busse, und die Datenausgabepfade 118, 128, 138, 148, 158, 168 umfassen
die vertikalen Busse. Das System enthält auch die Zieldatenports 10, 20, 30, 40, 50,
und jeder Zieldatenport 10, 20, 30, 40, 50, 60 hat
eine zugeordnete Entscheidungseinheit 170.
-
Jeder
Dateneingabepfad 115a–f, 125a–f, 135a–f, 145a–f, 155a–f, 165a–f ist mit
einer Datensektion 310a–f jedes Eingabepuffers 110, 120, 130, 140, 150, 160 eines
Quellendatenport verbunden, um einen zweckbestimmten Zugriff auf
den Crossbar-Schalter 105 zu schaffen. Jeder Dateneingabepfad 115a–f, 125a–f, 135a–f, 145a–f, 155a–f, 165a–f koppelt
elektrisch mit jedem Datenausgabepfad 118, 128, 138, 148, 158, 168 über eine
Koppelpunktschaltung 210 an einem Schnittpunkt, wo sich
beliebige zwei Pfade kreuzen. In einer Ausführungsform der vorliegenden
Erfindung gibt es folglich 6 Eingabepuffer von Quellendatenports,
die jeweils 6 Datensektionen, 36 Dateneingabepfade, 6 Datenausgabepfade und
216 Koppelpunktschaltungen (36 Koppelpunktschaltungen entlang jedem
Datenausgabepfad) innerhalb des Crossbar-Schalters 105 aufweisen.
Außerdem
ist jede Entscheidungseinheit 170, die mit jedem Zieldatenport
verbunden ist, mit jedem Eingabepuffer 110, 120, 130, 140, 150, 160 eines
Quellendatenport und dem Crossbar-Schalter 105 gekoppelt.
-
Die
Entscheidungseinheit 170 enthält eine Entscheidungslogik,
um ein Erlaubnissignal (engl. grant signal) zu erzeugen, das mit
einem Taktsignal kombiniert wird, um ein Freigabesignal für den Koppelpunktschalter 210 zu
liefern, wie im Folgenden bezüglich 6 beschrieben
wird. Eine Ausführungsform
der Entscheidungseinheit 170 ist ferner in der US-Patentanmeldung
mit der Seriennummer 08/603880 beschrieben, auf die oben verwiesen
wurde, mit dem Titel "METHOD
AND APPARATUS FOR COORDINATING ACCESS TO AN OUTPUT OFA ROUTING DEVICE
IN A PACKET SWITCHING NETWORK",
die am 22. Februar 1996 von Jeffrey D. Larson, Albert Mu und Thomas
M. Wicki eingereicht wurde. Außerdem
ist jeder Dateneingabepfad 115a–f, 125a–f, 135a–f, 145a–f, 155a–f, 165a–f und jeder
Datenausgabepfad 118, 128, 138, 148, 158, 168 ein 70-Bit-Datenpfad.
In alternativen Ausführungsformen kann
die Bitbreite jedes Datenpfads mehr oder weniger 70 Bits betragen.
Außerdem
kann jeder Datenpfad ein 10 Millimeter ("mm")
langes Leitungselement enthalten.
-
Ein
Vorteil davon, dass ein zweckbestimmter Eingabepfad 115a–f, 125a–f, 135a–f, 145a–f, 155a–f, 165a–f von jeder
Datensektion jedes Eingabepuffers 110, 120, 130, 140, 150, 160 gemäß der vorliegenden
Erfindung zum Crossbar-Schalter 105 vorgesehen
ist, ist die Eliminierung einer Entscheidung, um Zugriff auf den
Crossbar-Schalter durch einen einzigen nicht zweckbestimmten Einga bepfad
zu erhalten, wodurch ein Datendurchsatz innerhalb des Systems erhöht wird.
Ein weiterer Vorteil der vorliegenden Erfindung ist die Eliminierung
einer internen Blockierung, wie im Folgenden ferner beschrieben
wird, wodurch ebenfalls der Datendurchsatz innerhalb des Systems
erhöht
wird.
-
3 veranschaulicht
eine Ausführungsform
eines Quellendatenport, der ein Datenpaket in einen Eingabepuffer
des Quellendatenport lädt.
Der Einfachheit halber wird die Figur bezüglich des Eingabepuffers 110 des
Quellendatenport 1 beschrieben; es sollte sich aber verstehen, dass
die allgemeinen diskutierten Grundlagen für die übrigen Eingabepuffer 120, 130, 140, 150, 160 von
Quellendatenports gelten. Diese Ausführungsform enthält den Quellendatenport
1, den Eingabepuffer 110 des Quellendatenport 1 mit sechs
Datensektionen 310a–f
und sechs Eingabepfade 115a–f des Quellendatenport 1. Jede
Datensektion 310a–f
ist mit ihrem jeweiligen eigenen Dateneingabepfad 115a–f gekoppelt.
Im Allgemeinen wird jedes Datenpaket in ihre eigene Datensektion 310a–f geladen.
Mit jedem Datenpaket ist auch ein Header verbunden, der Prioritäts- und Zieladressinformationen
für dieses
bestimmte Datenpaket liefert. Das Datenpaket mit den zugeordneten Adress-
und Prioritätsinformationen
kann als der Datenframe bezeichnet werden. Jedes Datenpaket kann
für den
gleichen Zieldatenport oder für
verschiedene Zieldatenports bestimmt sein. In alternativen Ausführungsformen
der vorliegenden Erfindung kann es mehr oder weniger Datensektionen
in einem Eingabepuffer geben.
-
Bezugnehmend
nun auf 4 veranschaulicht ein Flußdiagramm
ein allgemeines Betriebsverfahren einer Ausführungsform der vorliegenden
Erfindung unter Verwendung einer beispielhaften Übertragung von Datenpaketen
von dem Quellendatenport 1 zum Zieldatenport 6 60. Wenn
das System startet, 350, und die Datenpakete zum Zieldatenport 6 60 übertragen
werden sollen, wird jedes Datenpaket in seine eigene Datensektion 310a–f des Eingabepuffers 110 des
Quellendatenport 1 geladen, 355. Jedes Datenpaket enthält auch
einen Header, der Zielinformationen, die eine Übertragung zum Zieldatenport
6 60 angeben, sowie Prioritätsinformationen liefert, die
das Prioritätsniveau
angeben, das mit jedem Datenpaket verbunden ist. Nachdem die Datenpakete
in die geeigneten Datensektionen 310a–f geladen sind, 355,
bestimmt, 360, das System durch einen Entscheidungsprozeß, ob der
Zieldatenport 6 zur Verfügung
steht, um die Daten zu empfangen. Steht der Zieldatenport 6 60 zur
Verfügung, überträgt, 365, das
System das Datenpaket in jeder Datensektion 310a–f zum Crossbar-Schalter 105.
Jedes Datenpaket wird von seiner jeweiligen Datensektion 310a–f über seinen
eigenen zweckbestimmten Eingabepfad 115a–f des Datenport
1, der mit der jeweiligen Datensektion 310a–f gekoppelt
ist, übertragen, 365.
Das Datenpaket wird dann von den Eingabepfaden 115a–f des Datenport
1 zum Ausgabepfad 168 des Datenport 6 umgeschaltet oder
geleitet, 370, und zum Zieldatenport 6 60 gesendet.
Da jede Datensektion ihren eigenen Datenpfad hat, erfordert das
System keinen separaten Entscheidungsprozeß, um von dem Dateneingabepuffer 110 zum
Crossbar-Schalter 105 zu übertragen.
-
Die
vorliegende Erfindung demonstriert den Nutzen davon, daß jedes
Datenpaket und jede jeweilige Datensektion ihren eigenen zweckbestimmten Eingabepfad
aufweisen, der direkt mit dem Crossbar-Schalter 105 gekoppelt
ist. Ein Vorteil dieser Ausführung
besteht darin, daß man
statt zwei Entscheidungsprozesse einen Entscheidungsprozeß hat, so daß die Konkurrenzsituation,
um Zugriff auf den Crossbar-Schalter 105 zu erlangen, eliminiert
ist und das System den Entscheidungsprozeß nun in einem Taktzyklus abschließt. Durch
Eliminieren der Zeit und der Systemressourcen, die früher für zwei Entscheidungen
notwendig waren, um Datenpakete über
einen einzigen Eingabepfad des Datenport 1 zum Crossbar-Schalter 105 zu übertragen,
wird die Geschwindigkeit der Datensignalübertragung in dem System erheblich
verbessert.
-
Bezugnehmend
nun auf 5 veranschaulicht ein Blockdiagramm
eine Ausführungsform
eines internen Teils der vorliegenden Erfindung, worin mehrere Quellendatenports
versuchen, zu mindestens einem gemeinsamen Zieldatenport zu übertragen.
In dieser Ausführungsform
enthält
das System einen Crossbar-Schalter 105, Zieldatenports 10, 20, 30, 40, 50, 60,
Eingabepuffer 110, 120, 130, 140, 150, 160 von
Quellendatenports, Dateneingabepfade 115a–f, 125a–f, 135a–f, 145a–f, 155a–f, 165a–f, Datenausgabepfade 118, 128, 138, 148, 158, 168 und Koppelpunktschaltungen 210.
Jede Koppelpunktschaltung 210 ist mit den Dateneingabepfaden 115a–f, 125a–f, 135a–f, 145a–f, 155a–f, 165a–f und den
Datenausgabepfaden 118, 128, 138, 148, 158, 168 an
einem Schnittpunkt von jedem der beiden Pfade gekoppelt. Ein Satz
von Flußlinien
(gestrichelte Linien entlang den Datenpfaden) veranschaulicht ein
Beispiel des Flusses und möglichen
Flusses von Datenpaketen von einem Eingabepuffer eines Quellendatenports
zu einem Zieldatenport, wie im folgenden weiter diskutiert wird.
-
Der
Einfachheit halber betrachtet man ein Datenpaket von einem Quellendatenport
1, das geladen und zum Zieldatenport 6 60 übertragen
wird, ähnlich
dem oben bezüglich 4 diskutierten
Prozeß.
Gleichzeitig trachtet eine Datensektion von dem Quellendatenport
4 danach, Datenpakete zum Zieldatenport 2 20 über den
Ausgabepfad 128 des Datenport 2, zum Zieldatenport 3 30 über den
Ausgabepfad 138 des Datenport 3 und zum Zieldatenport 6 60 über den
Ausgabepfad 168 des Datenport 6 übertragen zu lassen. Ähnlich dem
für die
Datenpakete 4 diskutierten Prozeß werden folglich die Datenpakete vom
Quellendatenport 4 in die Datensektionen des Eingabepuffers 140 des
Quellendatenport 4 zusammen mit einem Header geladen, der Zielinformationen
liefert, die angeben, ob ein bestimmtes Datenpaket zu dem Zieldatenport
2 20, dem Zieldatenport 3 30 oder dem Zieldatenport
6 60 übertragen
werden soll. Der Header enthält
auch Prioritätsinformationen bezüglich der
relativen Priorität
dieses Datenpaketes verglichen mit anderen Datenpaketen.
-
Um
eine Operation dieser Ausführungsform zu
veranschaulichen, nehme man an, dass das Datenpaket in der ersten
Datensektion des Eingabepuffers 140 des Quellendatenports
4 hohe Priorität
hat und für
den Zieldatenport 6 60 bestimmt ist. Das Datenpaket in
der zweiten Datensektion ist von mittlerer Priorität und für den Zieldatenport
3 30 bestimmt. Schließlich
hat das Datenpaket in der vierten Datensektion eine niedrige Priorität und ist
für den
Zieldatenport 2 20 bestimmt. Die Entscheidungseinheit 170,
die dem Zieldatenport 6 60 zugeordnet ist, gewährt keinen
Zugriff auf den Zieldatenport 6 60, weil der Quellendatenport
1 gegenwärtig
zum Zieldatenport 6 60 überträgt. Die
Entscheidungseinheiten 170, die dem Zieldatenport 2 20 und
dem Zieldatenport 3 30 zugeordnet sind, stellen jedoch
fest, dass diese Datenports für
einen Empfang der Datenpakete zur Verfügung stehen. Die vorliegende
Erfindung überträgt die für den Zieldatenport
2 20 bestimmten Datenpakete und die für den Zieldatenport 3 30 bestimmten
Datenpakete von den jeweiligen Datensektionen ungeachtet davon,
daß diese
Datenpakete eine geringere Priorität als das Datenpaket in der
ersten Datensektion haben. Die vorliegende Erfindung kann die Datenpakete
mit niedrigerer Priorität,
die für den
Zieldatenport 2 20 und den Zieldatenport 3 30 bestimmt
sind, übertragen,
wenn das Datenpaket mit höherer
Priorität,
das für
den Zieldatenport 6 60 bestimmt ist, aufgrund der aktuellen Übertragung
zum Zieldatenport 6 60 vom Datenport 1 nicht übertragen kann.
Der zweckbestimmte Dateneingabepfad 140a–f für jede Datensektion
des Eingabepuffers des Quellendatenport 4 eliminiert die Auflage,
daß Datenpakete
mit niedrigerer Priorität
auf die Übertragung von
Datenpaketen mit höherer
Priorität
zum Crossbar-Schalter 105 warten.
-
Eine
Ausführungsform
der vorliegenden Erfindung nutzt eine herkömmliche Zuteilungs- oder Entscheidungseinrichtung
einschließlich
einer herkömmlichen
Hardware, Software oder eine Kombination von Hardware und Software,
um die Verfügbarkeit
eines bestimmten Datenport oder von bestimmten Datenports zu bestimmen.
In einer anderen Ausführungsform
kann die vorliegende Erfindung eine Entscheidungsvorrichtung und
ein Entscheidungsverfahren nutzen, wie sie in der oben angegebenen US-Patentanmeldung
mit Seriennummer 08/603880 mit dem Titel "METHOD AND APPARATUS FOR COORDINATING
ACCESS TO AN OUTPUT OFA ROUTING DEVICE IN A PACKET SWITCHING NETWORK" offenbart sind,
die am 22. Februar 1996 von Jeffrey D. Larson, Albert Mu und Thomas
M. Wicki eingereicht wurde.
-
Diese
Ausführungsform
der vorliegenden Erfindung veranschaulicht den Nutzen eines zweckbestimmten
Dateneingabepfads 115a–f, 125a–f, 135a–f, 145a–f, 155a–f, 165a–f von jeder
Datensektion eines Dateneingabepuffers 110, 120, 130, 140, 150, 160 zu
jedem Datenausgabepfad 110, 120, 130, 140, 150, 160 innerhalb
des Crossbar-Schalters 105. Das Vorhandensein jedes zweckbestimmten
Dateneingabepfads 115a–f, 125a–f, 135a–f, 145a–f, 155a–f, 165a–f eliminiert
die anfängliche
Entscheidung, die früher
für einen
ersten Zugriff auf einen Dateneingabepfad, der zum Crossbar-Schalter 105 führt, erforderlich
war. Das Vorhandensein jedes zweckbestimmten Dateneingabepfads 115a–f, 125a–f, 135a–f, 145a–f, 155a–f, 165a–f eliminiert auch
Probleme einer internen Blockierung, weil eine Übertragung von Datenpaketen
mit niedriger Priorität zum
Crossbar-Schalter 105 ungeachtet des Vorliegens von Datenpaketen
mit höherer
Priorität
gestattet ist, die darauf warten, von anderen Datensektionen eines
Eingabepuffers eines Quellendatenport übertragen zu werden. Da keine
interne Blockierung auftritt, liefert daher die vorliegende Erfindung
einen Vorteil einer schnelleren Datenübertragung über den Crossbar-Schalter 105.
-
Bezugnehmend
nun auf 6 veranschaulicht ein Blockdiagramm
eine Ausführungsform
der Koppelpunktschaltung 210 im Crossbar-Schalter 105.
Die Koppelpunktschaltung 210 ist eine differenzielle Schaltungsstruktur
mit reduzierter Schwingungsbreite der Spannung. Die Schwingungsbreite zum
Umschalten von Zuständen
beträgt
typischerweise 500 Millivolt ("mV") aufgrund des möglicherweise
großen
differentiellen Modusrauschens von den sich kreuzenden und den benachbarten
Leitern. Die Schaltung enthält
eine Vorladeschaltung 401, eine Leitung V1 401 mit
reduzierter Schwingungsbreite der Spannung und eine Leitung V2 403 mit
reduzierter Schwingungsbreite der Spannung. Für jeden Dateneingabepfad 115a–f, 125a–f, 135a–f, 145a–f, 155a–f, 165a–f enthält die Schaltung
eine Datenleitung 410, einen Inverter 415, einen
Satz von Feldeffekttransistoren ("FETs")
wie zum Beispiel FETs M1 420, M2 430, M3 440,
M4 450 und eine Freigabeleitung 405, so daß es in
einer Ausführungsform der
vorliegenden Erfindung sechsunddreißig (36) Sätze solcher Komponenten entlang
jedem Datenausgabepfad 118, 128, 138, 148, 158, 168 gibt.
Außerdem
enthält
für jeden
Datenport 10, 20, 30, 40, 50, 60 die
Koppelpunktschaltung eine Verbindung mit einem Leseverstärker 480,
Leseverstärkerleitungen A 460 und
B 470 und eine Leseverstärkerausgangsleitung 490,
so daß es
in einer Ausführungsform
der vorliegenden Erfindung sechs (6) Sätze solcher Komponenten, einen
entlang jedem Datenausgabepfad 118, 128, 138, 148, 158, 168,
gibt.
-
Die
Vorladeschaltung 401 ist mit den Leitungen V1 402 und
V2 403 mit reduzierten Schwingungsbreiten der Spannung
gekoppelt. Für
jeden Dateneingabepfad 115a–f, 125a–f, 135a–f, 145a–f, 155a–f, 165a–f ist dann
die Freigabeleitung 405 mit einem Gate der FETs M1 420 und
M2 430 gekoppelt. Außerdem
ist die Datenleitung 410 mit einem Gate des FET M3 440 und
mit dem Inverter 415 gekoppelt, der mit einem Gate des
FET M4 450 gekoppelt ist. Für jeden Dateneingabepfad 115a–f, 125a–f, 135a–f, 145a–f, 155a–f, 165a–f ist die
Datenleitung 410 mit dem Dateneingabepfad gekoppelt. In
einer alternativen Ausführungsform
ist der Dateneingabepfad die Datenleitung 410.
-
Der
FET M1 420 ist mit der Leitung V1 402 mit reduzierter
Schwingungsbreite der Spannung gekoppelt, und der FET M2 ist mit
der Leitung V2 403 mit reduzierter Schwingungsbreite der
Spannung gekoppelt. Die FETs M1 420 und M3 440 bilden
eine Transistorschaltung wie die FETs M2 430 und M4 450.
Außerdem
bilden FETs M1 420 und M2 430 ein differentielles
Paar wie die FETs M3 440 und M4 450. Für jeden
Datenausgabepfad 118, 128, 138, 148, 158, 168 ist
die Leitung V1 402 mit reduzierter Schwingungsbreite der
Spannung ebenfalls mit der Leseverstärkerleitung A 460 gekoppelt,
während
die Leitung V2 403 mit reduzierter Schwingungsbreite der
Spannung mit der Leseverstärkerleitung
B 470 gekoppelt ist. Die Leseverstärkerleitungen A 460 und B 470 sind
mit dem Leseverstärker 480 gekoppelt, der
mit der Leseverstärkerausgangsleitung 490 gekoppelt
ist. Die Ausgangsleitung 490 des Leseverstärkers ist
mit ihrem jeweiligen Datenausgabepfad 118, 128, 138, 148, 158, 168 gekoppelt.
In einer alternativen Ausführungsform
ist der Datenausgabepfad die Ausgangsleitung 490 des Leseverstärkers.
-
7A ist
ein Flußdiagramm,
das die allgemeine Operation einer Ausführungsform der Koppelpunktschaltung 210 veranschaulicht.
Wenn die Koppelpunktschaltung 210 eine Operation beginnt, 700, werden
eine erste Leitung mit reduzierter Schwingungsbreite der Spannung
und eine zweite Leitung mit reduzierter Schwingungsbreite der Spannung
auf einen vorbestimmten Spannungspegel geladen, 705. Als
nächstes
wird der vorbestimmte Spannungspegel in der ersten Leitung mit reduzierter
Schwingungsbreite der Spannung entladen 710, während der
vorbestimmte Spannungspegel in der zweiten Leitung mit reduzierter
Schwingungsbreite der Spannung gehalten wird, 710. Ein
Taktsignal wird dann am Leseverstärker empfangen, 715,
um ihn einzuschalten oder in einen Ein-Zustand zu versetzen. Basierend auf
einer Spannungsdifferenz zwischen der ersten Leitung V1 402 mit
reduzierter Schwingungsbreite der Spannung und der zweiten Leitung
V2 403 mit reduzierter Schwingungsbreite der Spannung löst der Leseverstärker ein
Ausgangssignal aus, 720, das eine Ausgabe mit voller Schwingungsbreite
erzeugt, 725, das letztendlich an den Zieldatenport gesendet wird.
-
Bezugnehmend
nun auf 7B und 7C veranschaulicht
ein Flußdiagramm
einer Ausführungsform
der Operation der Koppelpunktschaltung 210, die in 6 gezeigt
ist. Bei einer ansteigenden Flanke eines Taktsignals schaltet, wenn
das System einen Betriebszyklus startet, 727, die Vorladeschaltung 401 ein,
und ein Freigabesignal ist inaktiv. Die Leitung V1 401 mit
reduzierter Schwingungsbreite der Spannung und die Leitung V2 403 mit
reduzierter Schwingungsbreite der Spannung werden durch die Vorladeschaltung 401 so
geladen, 730, daß beide Leitungen
auf einen vorbestimmten Spannungspegel wie zum Beispiel Vcc Volt
der Stromversorgung geladen sind. Während die Leitungen V1 402 und
V2 403 mit reduzierten Schwingungsbreiten der Spannung geladen
werden, 730, wird ein Datensignal entlang der Datenleitung 410 zum
FET M3 440 übertragen, 735.
Das Datensignal wird auch durch einen Inverter 415 invertiert
und zum FET M4 450 übertragen, 735. Das
Datensignal wird dann geladen, indem die Gates sowohl des FET M3 440 als
auch das FET M4 450 vorkonditioniert werden, 740,
so daß der
geeignete Zustand des Datensignals erreicht wird. Als nächstes prüft das System,
ob das Freigabesignal ankommen ist, 745. Falls es kein
Freigabesignal gibt, fährt
das System damit fort, den FET M3 440 und den FET M4 450 vorzukonditionieren.
Wenn das Freigabesignal (logisch hoch = 1) auf der Freigabeleitung 405 vorhanden
ist, wird die Vorladeschaltung 401 in einen Aus-Zustand
versetzt, 750, und der FET M1 420 und der FET
M2 430 werden beide in einen Ein-Zustand versetzt, 755.
Das Freigabesignal wird vom Erteilungssignal der Entscheidungsschaltung 170 abgeleitet,
das mit einen Taktsignal torgesteuert wird.
-
Das
System bestimmt dann, 760, ob das Datensignal entlang der
Datenleitung 410 zu der Zeit, zu der das Freigabesignal
ankommt, ein logisch hohes, d.h. 1, ist. Falls das Datensignal hoch
ist, wird die Transistorschaltung aus dem FET M1 420 und
dem FET M3 440 in einen Ein-Zustand versetzt, 765,
und die Leitung V1 402 mit reduzierter Schwingungsbreite
der Spannung beginnt damit, sich über diese Transistorschaltung
zur Erdung zu entladen, 770. Umgekehrt wird die Transistorschaltung
aus dem FET M2 430 und dem FET M4 450 in einen
Aus-Zustand versetzt, 770, weil die invertierte Datenleitung
eine logisch niedrige, zum Beispiel 0, ist, was folglich den FET
M4 450 ausschaltet. Indem die Reihe aus dem FET M2 430 und
dem FET M4 440 in einen Aus-Zustand versetzt wird, wird
die Spannung in der Leitung V2 403 mit reduzierter Schwingungsbreite
der Spannung bei dem Pegel Vcc gehalten, 770. Der Spannungspe gel
entlang der Leitung V1 402 mit reduzierter Schwingungsbreite
wird entlang der Leseverstärkerleitung
A 460 übertragen,
und das Spannungspegel entlang der Leitung V2 403 mit reduzierter Schwingungsbreite
der Spannung wird entlang der Leseverstärkerleitung B 470 übertragen, 785,
und die Signale in beiden Leseverstärkerleitungen A 460 und B 470 werden
verwendet, um den Leseverstärker 480 anzusteuern.
Der Leseverstärker 480 empfängt, 790,
ein Taktsignal und schaltet ein, wenn das Taktsignal hoch ist. Wenn
der Leseverstärker 480 einschaltet,
erzeugt, 795, er ein Ausgangssignal basierend auf der Spannungsdifferenz
in diesem Moment, das heißt
mindestens 500 mV bei einer Betriebsfrequenz von 200 Megahertz ("MHz"), zwischen der Leitung
V1 402 mit reduzierter Schwingungsbreite der Spannung und
der Leitung V2 403 mit reduzierter Schwingungsbreite der
Spannung. Das Ausgangssignal, das erzeugt wird, 800, ist
in Abhängigkeit
von den besonderen Eigenschaften des Leseverstärkers 480 ein Ausgangssignal
mit einer vollen Schwingungsbreite von entweder 3,3 Volt oder der
Erdung (0 Volt).
-
Falls
das Datensignal nicht hoch ist, 760, sondern stattdessen
niedrig ist, wird der FET M3 in einen Aus-Zustand versetzt, 775,
und der FET M4 450 wird in einen Ein-Zustand versetzt, 775,
so daß die
Schaltung aus dem FET M1 420 und dem FET M3 440 in
einem Aus-Zustand ist und die Schaltung aus dem FET M2 430 und
dem FET M4 450 in einem Ein-Zustand ist. Ist die Schaltung
aus dem FET M1 420 und FET M3 440 im Aus-Zustand,
wird der Spannungspegel in der Leitung V1 402 mit reduzierter Schwingungsbreite
der Spannung bei Vcc Volt gehalten, 780. Gleichzeitig wird
der Spannungspegel in der Leitung V2 mit reduzierter Schwingungsbreite
der Spannung über
die Schaltung aus dem FET M2 430 und FET M4 450 entladen, 780,
die im Ein-Zustand ist. Der Spannungspegel in sowohl der ersten
Leitung V1 402 mit reduzierter Schwingungsbreite der Spannung
als auch der zweiten Leitung V2 403 mit reduzierter Schwingungsbreite
der Spannung wird zum Leseverstärker übertragen, 785.
Der Leseverstärker mißt, 790,
die Spannungsdifferenz zwischen den Spannungspegeln in der Leitung
V1 402 mit reduzierter Schwingungsbreite der Spannung und
der Leitung V2 403 mit reduzierter Schwingungsbreite der Spannung.
Der Leseverstärker 480 empfängt, 790, ein
Taktsignal und schaltet bei dem hohen Taktsignal ein. Der Leseverstärker 480 schaltet
sich ein und er zeugt, 795, ein Ausgangssignal basierend
auf der Spannungsdifferenz in diesem Moment zwischen der Spannung
in der Leitung V1 402 mit reduzierter Schwingungsbreite
der Spannung und der Spannung in der Leitung V2 403 mit
reduzierter Schwingungsbreite der Spannung. Das Ausgangssignal,
das erzeugt wird, 800, ist in Abhängigkeit von den besonderen
Eigenschaften des Leseverstärkers 480 ein
Ausgangssignal mit voller Schwingungsbreite von entweder 3,3 Volt
oder der Erdung (0 Volt).
-
In
einer Ausführungsform
der vorliegenden Erfindung ist der Leseverstärker 480 ein herkömmlicher
Leseverstärker.
Alternativ dazu kann der Leseverstärker 480 ein Leseverstärker sein,
wie er in der oben zitierten US-Patentanmeldung mit Seriennummer
08/603882 mit dem Titel "CLOCKED
SENSE AMPLIFIER WITH POSITIVE SOURCE FEEDBACK" beschrieben ist, die am 22. Februar
1996 von Albert Mu eingereicht wurde. Die vorliegende Erfindung
gestattet auch, dass der Leseverstärker 480 mit einer
reduzierten Schwingungsbreite des Spannungssignals arbeitet, indem
auf der Basis des Taktsignals und der differentiellen Spannung statt
eines Spannungspegels mit voller Schwingungsbreite ein Signal erzeugt
wird. Das System erzeugt auch ein Ausgangssignal mit voller Schwingungsbreite
durch den Leseverstärker 480 mit
entweder 3,3 Volt oder der Erdung (0 Volt) ungeachtet eines Auslösens oder Erzeugens
des Ausgangssignals bei einer reduzierten Schwingungsbreitendifferenz.
Das Signal mit voller Schwingungsbreite wird von der Ausgangsleitung 490 des
Leseverstärkers
an den Datenausgabepfad gesendet, mit dem sie gekoppelt ist.
-
Die
Koppelpunktschaltung mit reduzierten Schwingungsbreiten der Spannung
ermöglicht,
daß mehrere
Dateneingabepfade eine Verbindung mit einem Bus eines Crossbar-Schalters
ohne Überlasten des
Busses herstellen. Ein Vorteil dieser Ausführung besteht in einer Erhöhung der
Systemgeschwindigkeit, weil mehrere Datenpakete zu und von dem Datenport
gleichzeitig über
den Bus des Crossbar-Schalters werden übertragen können, wodurch ein Ansatz geliefert
wird, internes Blockieren zu eliminieren. Außerdem kann die Koppelpunktschaltung 210 eine
Operation mit reduzierter differenzieller Schwingungsbreite zum
Umschalten von einem Zustand zu einem anderen mit einer ausreichenden Spannungsdifferenz
nutzen, statt einen bestimmten Spannungspegel erreichen zu müssen. Dies
erhöht die
Systemgeschwindigkeit, weil das System nicht auf einen bestimmten
Spannungspegel in den Leitungen mit reduzierten Schwingungsbreiten
der Spannung vor einem Umschalten eines Zustands warten muß. Ein weiterer
Vorteil dieses Entwurfs besteht in der reduzierten Leistungsdissipation
wegen einer reduzierten Schwingungsbreite der Spannung auf dem Datenbus,
so daß der
gesamte Stromverbrauch des Chip reduziert ist. Außerdem reduziert
ein Erzeugen oder Auslösen
eines Ausgangssignals auf der Basis einer differenziellen Spannung
Leistungsabfälle
auf dem Chip, die den Systembetrieb nachteilig beeinflussen können.
-
8 ist
eine graphische Darstellung von Wellenformen, die während eines
Betriebs einer Ausführungsform
der vorliegenden Erfindung vorliegen. Die Wellenformen umfassen
ein Taktsignal, ein Freigabesignal, ein Datensignal, ein Vcc1-Signal
und ein Vcc2-Signal. Bei einer ansteigenden Flanke des Taktsignals
ist das Freigabesignal inaktiv, und die Vorladeschaltung 410 schaltet
ein, so daß das
Vcc1- und das Vcc2-Signal bei einem Spannungspegel von Vcc liegen.
Das Datensignal in das System ist in einem hohen oder 1-Zustand.
Wenn das Freigabesignal aktiv wird, schaltet die Vorladeschaltung
aus oder geht in einen Aus-Zustand.
Das Vcc1-Signal beginnt, sich über
FETs M1 und M3 zur Erdung zu entladen, weil das Datensignal im hohen
Zustand ist. Das Vcc2-Signal bleibt beim Vcc-Spannungspegel. Bei der
ansteigenden Flanke des Taktsignals schaltet der Leseverstärker ein
und erzeugt ein Ausgangssignal basierend auf der Spannungsdifferenz
zwischen Vcc1 und Vcc2 oder löst
dieses aus.
-
Wenn
eine weitere ansteigende Flanke des Taktsignals ankommt, schaltet
die Vorladeschaltung wieder ein oder geht in einen Ein-Zustand,
und das Freigabesignal wird bald inaktiv. Die Spannungssignale Vcc1
und Vcc2 gehen noch einmal auf den Spannungspegel Vcc. Während dieser
Zeit. kann das Datensignal zu einem niedrigen oder 0-Zustand umschalten.
Wenn das Freigabesignal wieder aktiv wird, schaltet die Vorladeschaltung
aus. Diesmal beginnt das Vcc2-Signal, über FETs
M2 und M4 zur Erdung zu entladen, weil das Datensignal im niedrigen
Zustand ist. Das Vcc1-Signal bleibt beim Vcc-Spannungspegel. Bei
der ansteigenden Flanke des Taktsignals wird der Leseverstärker als
Antwort auf die Differenz zwischen Vcc1 und Vcc2 wieder ausgelöst.
-
Obgleich
die vorliegende Erfindung in einer Paketvermittlungsumgebung beschrieben
wurde, können
das System und Verfahren der vorliegenden Erfin dung bei anderen
Schalt- oder Vermittlungsumgebungen wie zum Beispiel einer Durchschalteumgebung
Anwendung finden. In einer Durchschalteumgebung gibt es kein Puffern,
weil es keine Konkurrenzsituation für den Schalterstromkreis gibt.