DE60133685T2 - Kommunikationszwischenstelle zwischen Uhrtaktbereichen mit minimaler Latenz - Google Patents

Kommunikationszwischenstelle zwischen Uhrtaktbereichen mit minimaler Latenz Download PDF

Info

Publication number
DE60133685T2
DE60133685T2 DE60133685T DE60133685T DE60133685T2 DE 60133685 T2 DE60133685 T2 DE 60133685T2 DE 60133685 T DE60133685 T DE 60133685T DE 60133685 T DE60133685 T DE 60133685T DE 60133685 T2 DE60133685 T2 DE 60133685T2
Authority
DE
Germany
Prior art keywords
entries
read
data
valid
write
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
DE60133685T
Other languages
English (en)
Other versions
DE60133685D1 (de
Inventor
Iain Robertson
Andre Folley Lane Szczepanek
Denis R. Beaudoin
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Texas Instruments Inc
Original Assignee
Texas Instruments Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Texas Instruments Inc filed Critical Texas Instruments Inc
Application granted granted Critical
Publication of DE60133685D1 publication Critical patent/DE60133685D1/de
Publication of DE60133685T2 publication Critical patent/DE60133685T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L7/00Arrangements for synchronising receiver with transmitter
    • H04L7/0008Synchronisation information channels, e.g. clock distribution lines
    • H04L7/0012Synchronisation information channels, e.g. clock distribution lines by comparing receiver clock with transmitter clock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L7/00Arrangements for synchronising receiver with transmitter
    • H04L7/0016Arrangements for synchronising receiver with transmitter correction of synchronization errors
    • H04L7/005Correction by an elastic buffer

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Small-Scale Networks (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Communication Control (AREA)

Description

  • TECHNISCHES GEBIET DER ERFINDUNG
  • Diese Erfindung liegt im Gebiet der Kommunikationsnetze und ist genauer auf die synchrone Kommunikation von Daten zwischen Netzelementen gerichtet, die mit unterschiedlichen Taktfrequenzen arbeiten.
  • HINTERGRUND DER ERFINDUNG
  • In den letzten Jahren ist der Einsatz lokaler Netze (LANs) von Personalcomputern und Arbeitsplatzrechnern in Geschäfts- und Bildungsunternehmen weit verbreitet geworden. Diese modernen Netze haben signifikante Steigerungen der Produktivität geschaffen, nicht nur indem sie Personen mit der Fähigkeit versehen haben, elektronisch miteinander zu kommunizieren, sondern außerdem, indem sie den gemeinsamen Zugriff auf Datenbanken und Dokumente ermöglicht haben, die in einem zentralen Server und in den vernetzten Client-Arbeitsplatzrechnern gespeichert sind. Bei der sich ständig verbessernden Leistung moderner Kommunikations- und Netzelemente verwenden sowohl große als auch kleine Unternehmen nun Netze zwischen ihren Personalcomputern und Arbeitsplatzrechnern. Herkömmliche LANs können außerdem durch Brücken oder Router in ein weiträumiges Netz (WAN) miteinander verbunden werden. Typischerweise enthält jedes Netzsegment eine Anzahl von Client-Arbeitsplatzrechnern und eine Brücke oder einen Router; die Verbindung der Brücken und Router in Form eines Rings oder Baums erlaubt die Kommunikation zwischen den Clients, die sich in verschiedenen Segmenten des WAN befinden. Ferner erweitert die Verfügbarkeit des Internet-Zugriffs auf derartige vernetzte Computer den Desktop-Zugriff über lokale proprietäre Datenquellen hinaus auf weltweite öffentliche und sichere Datenquellen-Standorte.
  • Die schnelle Verbesserung der Funktionalität und Leistung der modernen Personal-Computer und Arbeitsplatzrechner hat wiederum den Wunsch nach einer Netzkommunikation mit höheren Datenraten erzeugt, da die Menge der Daten, die durch einen Client-Arbeitsplatzrechner verarbeitet werden kann, entsprechend zugenommen hat. Ähnlich kann die Kommunikation mit hoher Bandbreite den Austausch von Datentypen, wie z. B. 3D-Bildern, Bewegtbildvideo, Tondateien und dergleichen, ermöglichen, von denen jeder durch große Daten blöcke repräsentiert wird. Ein weiterer Trend geht von der Halbduplexkommunikation über das Netz zur Vollduplex-Netzkommunikation, die gleichzeitiges Senden und Empfangen von Daten erlaubt und folglich die Bandbreite effektiv verdoppelt, während sie den Bandbreitenverlust auf Grund von Kollisionen eliminiert.
  • In modernen LANs und WANs, insbesondere bei Verbindungen mit hoher Datenrate über belegte Netze, wird im Allgemeinen die paketgestützte Datenkommunikation verwendet. Im Gegensatz zu verbindungsorientierten Netzen, in denen eine dedizierte Verbindung zwischen den Quell- und Zielknoten im Netz aufgebaut wird, teilt die Paketvermittlung jede Nachricht (d. h. jeden zu übertragenden Block) in kleine Pakete. Jedes Paket trägt die Identifizierer der Quell- und Zielknoten ihrer entsprechenden Nachricht zusammen mit einem Identifizierer ihres Ortes in der Folge der Pakete, die die Gesamtnachricht umfasst. Dies erlaubt die multiplexierte Übermittlung der Pakete aus mehreren Nachrichten zwischen mehreren Kombinationen der Quell- und Zielknoten im Netz. Die Identifizierer jedes Pakets erlauben jedem Zielknoten, seine adressierten Pakete zu behalten und diese behaltenen Pakete erneut in die übertragene Nachricht sequentiell einzuordnen. Im Ergebnis erlauben die paketvermittelten Netze, dass zu einem gegebenen Zeitpunkt mehr Knoten miteinander kommunizieren, wobei jede Kommunikation einen Anteil der Gesamtnetzbandbreite verwendet, ohne die anderen Kanäle zu blockieren. Beispiele herkömmlicher paketgestützter Netze enthalten Ethernet, Token Ring und FDDI.
  • Vor kurzem sind LAN-Vermittlungen für die Verwendung sowohl in Ethernet-Netzen als auch in FDDI- und Token-Ring-LANs verfügbar geworden. Eine LAN-Vermittlung besitzt mehrere Ports, von denen jeder mit einem Client-Arbeitsplatzrechner (oder einem Netz-Hub, je nachdem) verbunden sein kann oder eine Aufwärtsstrecke zu einer weiteren Vermittlung oder einem Server bereitstellen kann. Eine LAN-Vermittlung unterscheidet sich von einer Brücke oder einem Hub insofern, als die Vermittlung die gleichzeitige Vermittlung von Paketen zwischen mehreren Paaren ihrer Ports erlaubt. Im Ergebnis schafft die Vermittlung insgesamt eine höhere Bandbreite für ihre Clients bei verringerter Latenzzeit. Außerdem können die Ports einer Ethernet-Vermittlung sowohl über einen Hub mit einem Netzsegment als auch über ein dedizierte Segment mit einem Client-Arbeitsplatzrechner verbunden sein.
  • Vordem ist die Anzahl der Ports, die von herkömmlichen Vermittlungen unterstützt werden konnten, relativ eingeschränkt gewesen. Herkömmliche Ethernet-Vermittlungen können z. B. in der Größenordnung von vierundzwanzig Vollduplex-10-Mbit/s-Ports und drei Vollduplex-100-Mbit/s-Ports unterstützen. Mit dem Erscheinen der Ethernet-Kommunikation mit Gigabit-Datenraten treten nun herkömmliche Ethernet-Vermittlungen für die Unterstützung von acht Vollduplex-100-Mbit/s-Ports und einem 1000-Mbit/s-Port ("Gigabit"-Port) in den Markt ein.
  • Die Netzkonstrukteure und -anwender verlangen jedoch die Unterstützung einer großen Anzahl von Ports, insbesondere falls dedizierte Vollduplexverbindungen von Client-Arbeitsplatzrechnern (z. B. der Client-Arbeitsplatzrechner C4 bis C6 nach 1) gewünscht werden. Infolge der begrenzten Anzahl von Ports, die durch herkömmliche Vermittlungsarchitekturen unterstützt werden, müssen diese herkömmlichen Konstruktionen zusätzliche Hierarchieebenen in die Vermittlungsarchitektur einfügen, um die gewünschte Anzahl von Ports für ein gegebenes Netz bereitzustellen. In derartigen herkömmlichen Anordnungen wird nicht nur das Management des Netzes komplex, sondern die Rekonfiguration der Ports im Netz wird ziemlich beschwerlich gemacht.
  • Als weiterer Hintergrund ist die Übermittlung der Daten zwischen Vermittlungsvorrichtungen oder Teilsystemen im Allgemeinen synchron, weil die Sende- und Empfangsvorrichtungen die Daten entsprechend einem periodischen Taktsignal senden und empfangen. Jede Vermittlungsvorrichtung enthält folglich eine Empfangsseite, die die Rahmen der Daten von einem weiteren Netzelement empfängt, und eine Sendeseite, die den empfangenen Rahmen zu einem nächsten Zielnetzelement weiterleitet.
  • In einer gegebenen Vermittlungsvorrichtung arbeiten die Empfangs- und Sendeseiten typischerweise entsprechend Takten, die nominell die gleiche Frequenz in Bezug aufeinander besitzen, in der Praxis aber infolge von Leistungsunterschieden ein wenig unterschiedliche Frequenzen besitzen. Typischerweise erzeugt jede Vermittlungsvorrichtung einen Takt auf ihrer Sendeseite, entsprechend dem die Datenpakete codiert und zur nächsten Vermittlungsvorrichtung gesendet werden. Andererseits gewinnt die Empfangsseite der Vermittlungsvorrichtung aus dem empfangenen Bitstrom das Taktsignal selbst zurück, entspre chend dem die Empfangsseite ihre Decodierungs- und anderen Empfangsfunktionen ausführt; dieser zurückgewonnene Takt entspricht folglich dem in der benachbarten Vermittlungsvorrichtung, die den Bitstrom sendet, erzeugten Sendtakt. Weil verschiedene Vermittlungsvorrichtungen deshalb die durch die Empfangs- und Sendeseiten einer gegebenen Vermittlungsvorrichtung verwendeten Takte erzeugen, wird erwartet, dass sich die Frequenz des Empfangstakts in einer Vermittlungsvorrichtung von der ihres erzeugten Sendetakts unterscheidet. Während erwartet wird, dass der Unterschied der Taktfrequenz zwischen den Sendetakten relativ gering ist und gut in einem spezifizierten Toleranzniveau liegt, können sich immer noch Taktungsunterschiede zwischen den Sende- und Empfangsseiten innerhalb einer Vermittlungsvorrichtung ergeben. Diese Taktungsunterschiede erfordern im Allgemeinen, dass eine Vorrichtung, die eine Datenübermittlung empfängt, die empfangenen Daten mit der Sendevorrichtung synchronisieren muss, bevor sie die Daten anderswohin im System weiterleitet.
  • Außerdem muss die Gesamtübertragungsarchitektur bei einer Gesamtdatenübertragungsrate arbeiten, die ihrer Verbindung mit der niedrigsten Frequenz entspricht, wobei alle Verbindungen mit höheren Frequenzen Leerlaufsymbole einfügen, wie es notwendig ist, um die Verbindung mit der niedrigsten Frequenz nicht zu überholen. Es wird das Beispiel einer Sendevermittlungsvorrichtung betrachtet, die einen Sendetakt mit einer Frequenz erzeugt, die 0,05% langsamer als die des Sendetakts einer Empfangsvermittlungsvorrichtung ist. Dies bedeutet, dass alle 2000 Zyklen des langsameren Sendetaktes während der gleichen Zeitdauer von 2001 Zyklen des schnelleren Sendetaktes auftreten. Falls die Vermittlungsvorrichtung mit dem langsameren Sendetakt die Daten in Rahmen von 490 Symbolen mit zehn Leerlaufsymbolen zwischen den Rahmen sendet, sendet die schnellere Vermittlungsvorrichtung diese völlig gleichen Datenrahmen und Leerlaufsymbole erneut, wobei sie aber ein zusätzliches Leerlaufsymbol nach jedem vierten Rahmen einfügt, um den Unterschied der Sendetaktfrequenzen zu berücksichtigen. Die Datenübertragungsrate als solche (d. h. die tatsächlichen Datenrahmen, wobei die Leerlaufsymbole nicht gezählt werden) wird durch die langsamste Vermittlungsvorrichtung festgelegt.
  • Wie oben angegeben worden ist, verwenden viele herkömmliche Netze paketgestützte Protokolle, in denen die Daten in der Form von Rahmen gesendet und empfangen werden. In vielen Fällen, insbesondere in Anbetracht der ver schiedenen Quellen und Ziele des Verkehrs, werden die Rahmen im Allgemeinen nicht über irgendeine gegebene Verbindung in einer zusammenhängenden Weise übertragen; statt dessen werden im Allgemeinen zwischen benachbarten Rahmen über eine gegebene Verbindung Leerlaufsymbole übertragen.
  • Die oben angegebenen Frequenzunterschiede zwischen den Sende- und Empfangsseiten einer gegebenen Vermittlungsvorrichtung müssen, wenn sie auch noch so gering sind, angesprochen werden, um einen Kommunikationsausfall zu vermeiden. Falls z. B. in einer Vorrichtung der Empfangstakt langsamer als der Sendetakt ist, werden die Daten langsamer empfangen, als sie gesendet werden können; der Sender darf in diesem Fall die Daten nicht weiterleiten, sobald er sie empfangen hat, weil an irgendeinem Punkt der Sender dem Empfänger in einem derartigen Ausmaß voraus sein kann, dass er bereit ist, ein nächstes Symbol zu senden, das noch nicht empfangen worden ist. Falls umgekehrt in derselben Vorrichtung der Empfangstakt schneller als der Sendetakt ist, können sich die empfangenen Symbole in der Vorrichtung aufstapeln, wobei das nächste Symbol für die Weiterleitung vorhanden ist, bevor das vorhergehende Symbol tatsächlich gesendet worden ist.
  • Eine herkömmliche Technik, um den Unterschied in den Taktbereichsfrequenzen anzusprechen, wird im Allgemeinen als "Dribble-Down-Puffer" bezeichnet. Dieser Zugang fügt einen Puffer zwischen die Empfangs- und Sendeseiten einer Vermittlungsvorrichtung ein, wobei der Puffer dazu dient, ein oder mehrere empfangene Symbole vor der Sendung zu speichern. Gemäß der herkömmlichen Verwirklichungen sind die Dribble-Down-Puffer jedoch notwendigerweise relativ tief und folglich teuer zu implementieren gewesen. Ferner erfordert die Verwendung eines Dribble-Down-Puffers im Allgemeinen eine ausreichende zeitliche Lücke zwischen den Datenrahmen, in der der Puffer zurückgesetzt werden kann. In jedem Fall fügen die Dribble-Down-Puffer und andere herkömmliche Zugänge zu den Problemen, die sich aus den unterschiedlichen Empfangs- und Sendefrequenzen ergeben, einen Betrag der unerwünschten Latenzzeit in jeder Vermittlungsvorrichtung ein.
  • US-A-6.000.037 offenbart ein Verfahren der Technik zum Übertragen von Daten von einem ersten Taktbereich zu einem zweiten Taktbereich, wobei die ersten und zweiten Taktsignale aus einem Basistaktsignal abgeleitet werden und die Phasenbeziehung zwischen den zwei Taktsignalen verwendet wird, um die Daten zwischen den zwei Bereichen zu übertragen. Außerdem können die Taktsignale unabhängig erzeugt werden, wobei das Frequenzverhältnis zwischen den zwei Signalen und die Phasendifferenz während einer ausgewählten Zeitdauer bestimmt werden können. Dies wird dann verwendet, um die künftigen Phasenbeziehungen vorherzusagen und auf diese Weise die Übertragung der Daten zu steuern.
  • KURZZUSAMMENFASSUNG DER ERFINDUNG
  • Die vorliegende Erfindung schafft eine Schaltung und ein Verfahren in einer Netzvermittlung zum Weiterleiten empfangener Netzdaten zu einem Sender, wobei die Empfangs- und Sendeseiten der Vermittlung bei unterschiedlichen Taktfrequenzen arbeiten.
  • Die vorliegende Erfindung schafft weiter eine derartige Schaltung und ein derartiges Verfahren, bei denen die Latenzzeit der Netzvermittlung minimiert ist.
  • Die vorliegende Erfindung schafft noch weiter eine derartige Schaltung und ein derartiges Verfahren, bei denen das Zurücksetzen zwischen den Rahmen nicht erforderlich ist.
  • Die vorliegende Erfindung kann in einer Netzvorrichtung, wie z. B. einem Netzring-Sender/Empfänger, implementiert sein. Der Sender/Empfänger enthält Empfangs- und Sendeseiten zum Empfangen von Daten in der Form digitaler Rahmen von Symbolen bzw. zum Senden der empfangenen Daten an eine weitere Netzvorrichtung. Ein Silopuffer (FIFO-Puffer) ist zwischen den Empfangs- und Sendeseiten des Sender/Empfängers vorgesehen, wobei er eine relativ kleine Tiefe der Einträge besitzt. Jedem FIFO-Eintrag ist ein Gültigkeitsbitzustand zugeordnet, der jeder der Empfangs- und Sendeseiten des Sender/Empfängers zugeordnet ist. Bei der Speicherung von zwei aufeinanderfolgenden gültigen Symbolen im FIFO leitet dann die Sendeseite ein Symbol von den FIFO-Einträgen weiter und löscht ihr Gültigkeitsbit für die Empfangsseite, um den Empfang eines weiteren Symbols zu erlauben. Falls der FIFO ohne gültige Symbole ist, gibt die Sendeseite Leerlaufsymbole aus.
  • Gemäß einem ersten Aspekt liegt die vorliegende Erfindung in einer Schnittstellenschaltung für die Übermittlung empfangener Daten von einem Empfangs taktbereich in einen Sendetaktbereich, die umfasst: einen Puffer, der mehrere Einträge enthält und einen Eingang, der so angeschlossen ist, dass er Daten von dem Empfangstaktbereich empfängt, und einen Ausgang, um Daten in den Sendetaktbereich auszugeben, besitzt; und mehrere Gültigkeitslogikschaltungen, wovon jeder ein entsprechender Eintrag der mehreren Einträge des Puffers zugeordnet ist, wobei jede Gültigkeitslogikschaltung umfasst: einen Schreibgültigkeits-Signalspeicher zum Steuern des Zustands einer gültigen Leitung in dem Empfangstaktbereich, wobei der Schreibgültigkeits-Signalspeicher einen Setz-Eingang besitzt, der so angeschlossen ist, dass er ein Schreibanforderungssignal empfängt; einen Lesegültigkeits-Signalspeicher zum Steuern des Zustands einer gültigen Leitung in dem Sendetaktbereich, wobei der Lesegültigkeits-Signalspeicher einen Rücksetz-Eingang besitzt, der so angeschlossen ist, dass er ein Leseanforderungssignal empfängt; eine Rücksetzlogik zum Zurücksetzen des Schreibgültigkeits-Signalspeichers in Reaktion auf das Leseanforderungssignal; und eine Setzlogik zum Setzen des Lesegültigkeits-Signalspeichers in Reaktion auf das Schreibanforderungssignal.
  • Gemäß einem weiteren Aspekt liegt die vorliegende Erfindung in einem Verfahren zum Übertragen von Datenwörtern von einem Empfangstaktbereich in einen Sendetaktbereich, das umfasst: Eingeben eines Datenworts in einen Eingang eines Puffers, der mehrere Einträge besitzt; in Reaktion auf ein einem ersten der mehreren Einträge zugeordnetes Schreibgültigkeitsbit Angeben, dass der erste der mehreren Einträge keine gültigen Daten enthält, wobei der erste der mehreren Einträge durch einen momentanen Wert eines Schreibzeigers angegeben wird; Speichern des eingegebenen Datenworts in dem ersten der mehreren Einträge; Setzen des Schreibgültigkeitsbits, das dem ersten der mehreren Einträge zugeordnet ist; Setzen eines Lesegültigkeitsbits, das dem ersten der mehreren Einträge zugeordnet ist; und in Reaktion auf ein einem zweiten der mehreren Einträge zugeordnetes Lesegültigkeitsbit Angeben, dass ein zweiter der mehreren Einträge gültige Daten enthält, wobei der zweite der mehreren Einträge durch einen momentanen Wert eines Lesezeigers angegeben wird; Lesen der Inhalte des zweiten der mehreren Einträge in dem Sendetaktbereich; Löschen des Lesegültigkeitsbits, das dem zweiten der mehreren Einträge zugeordnet ist; und Löschen eines Schreibgültigkeitsbits, das dem zweiten der mehreren Einträge zugeordnet ist.
  • KURZBESCHREIBUNG DER MEHREREN ANSICHTEN DER ZEICHNUNG
  • Die vorliegende Erfindung wird nun beispielhaft unter Bezugnahme auf die bevorzugten und beispielhaften Ausführungsformen weiter beschrieben, die in den Figuren der beigefügten Zeichnung veranschaulicht sind, worin:
  • 1 ein Stromlaufplan in Form eines Blockschaltplans eines Ethernet-Netzes ist, in dem eine bevorzugte Ausführungsform der vorliegenden Erfindung implementiert ist;
  • 2 ein Stromlaufplan in Form eines Blockschaltplans eines Vermittlungssystems in dem Netz nach 1 gemäß einer bevorzugten Ausführungsform der Erfindung ist;
  • 3a und 3b Stromlaufpläne in Form von Blockschaltplänen des Vermittlungssystems nach 2 vor bzw. nach der Erfassung eines Fehlers in einer Vermittlungsstrukturvorrichtung darin gemäß einer bevorzugten Ausführungsform der Erfindung sind;
  • 4 ein Stromlaufplan in Form eines Blockschaltplans der Architektur einer Vermittlungsstruktur gemäß einer bevorzugten Ausführungsform der Erfindung ist;
  • 5 ein Stromlaufplan in Form eines Blockschaltplans eines Ringweges in einer Vermittlungsstruktur gemäß einer bevorzugten Ausführungsform der Erfindung ist;
  • 6 ein Stromlaufplan in Form eines Blockschaltplans eines Taktfrequenzkompensations-FIFO gemäß der bevorzugten Ausführungsform der Erfindung ist;
  • 7a ein Stromlaufplan in schematischer Form eines Flankendetektors in der Lese-/Schreiblogik des Taktfrequenzkompensations-FIFO nach 6 gemäß der bevorzugten Ausführungsform der Erfindung ist;
  • 7b ein Stromlaufplan in schematischer Form einer Synchronisiereinrichtung in der Lese-/Schreiblogik des Taktfrequenzkompensations-FIFO nach 6 gemäß einer bevorzugten Ausführungsform der Erfindung ist; und
  • 8 ein Ablaufplan ist, der den Betrieb des Taktfrequenzkompensations-FIFO nach 6 veranschaulicht, der gemäß einer bevorzugten Ausführungsform der Erfindung konstruiert ist.
  • AUSFÜHRLICHE BESCHREIBUNG DER ERFINDUNG
  • Wie aus der folgenden Beschreibung offensichtlich wird, kann die vorliegende Erfindung im Zusammenhang mit einer umfassenden Vielfalt von Implementierungen und im Zusammenhang mit paketvermittelten Netzen verschiedener Protokolle und Kommunikationstypen verwendet werden. Die folgende Beschreibung, die auf eine bevorzugte Ausführungsform der vorliegenden Erfindung im Zusammenhang mit Ethernet-Netzen gerichtet ist, wird deshalb lediglich beispielhaft vorgelegt, wobei es selbstverständlich ist, dass die Fachleute auf dem Gebiet, die auf diese Beschreibung Bezug nehmen, die vorliegende Erfindung im Zusammenhang mit alternativen Implementierungen für Ethernet-Netze und Netze anderer Typen ohne weiteres verwenden und verwirklichen können, ohne vom Umfang der vorliegenden Erfindung abzuweichen.
  • 1 ist ein Blockschaltplan auf hoher Ebene eines Ethernet-Netzes, in dem eine bevorzugte Ausführungsform der vorliegenden Erfindung leicht implementiert werden kann. Wie im Fall des herkömmlichen vermittelten Netzes, das oben bezüglich 1 erörtert worden ist, sind die Client-Arbeitsplatzrechner C0 bis C3 über den Hub H in einem Netzsegment verbunden. Sowohl der Hub H als auch die Client-Arbeitsplatzrechner C4 bis C6 sind mit entsprechenden Ports des Vermittlungssystems 10 verbunden. In dem Beispiel nach 1 ist der Hub H über den Port P0 mit dem Vermittlungssystem 10 verbunden, während die Client-Arbeitsplatzrechner C4, C5, C6 über die Ports Pk, Pm bzw. Pn mit dem Vermittlungssystem 10 verbunden sind. Jeder der Ports P schafft in dieser beispielhaften Implementierung Vollduplex-100-Mbit/s-Verbindungen. Das Vermittlungssystem 10 ist außerdem durch zugeordnete Aufwärtsstrecken UL, die jede als eine Hochleistungs-Vollduplexverbindung (z. B. 1000-Mbit/s- oder "Gigabit"-Vollduplexverbindung) arbeiten, mit mehreren Servern SRV verbunden.
  • Das Vermittlungssystem 10 gemäß einer bevorzugten Ausführungsform der vorliegenden Erfindung kann eine große Anzahl von Ports P und Hochgeschwindigkeits-Aufwärtsstrecken UL abwickeln. Es wird z. B. davon ausgegangen, dass entsprechend der aktuellen Technologie das Vermittlungssystem 10 gemäß der vorliegenden Erfindung in der Größenordnung bis zu einhundertzwanzig Ports P, fünfzehn Aufwärtsstrecken UL oder eine Kombination aus diesen (wobei jede Gigabit-Aufwärtsstrecke UL acht 100-Mbit-Ports P in der Kombination ersetzt) unterstützen kann. Außerdem wird davon ausgegangen, dass bezüglich der Anzahl und des Typs andere Verbindungen außerdem durch das Vermittlungssystem 10 unterstützt werden können, wie aus der folgenden Beschreibung klar wird.
  • Unter Bezugnahme auf 2 wird nun die Anordnung des Vermittlungssystems 10 gemäß einer bevorzugten Ausführungsform der Erfindung ausführlich beschrieben. In dieser beispielhaften Ausführungsform enthält das Vermittlungssystem 10 drei Vermittlungsstrukturvorrichtungen 200 bis 202 , die in der Art eines Rings miteinander verbunden sind. Gemäß dieser bevorzugten Ausführungsform der Erfindung besitzt jede Vermittlungsstrukturvorrichtung 20 eine Anzahl von Schnittstellen, die jede eine bidirektionale Verbindung mit einer ausgewählten Kombination aus 100-Mbit-Vermittlungsvorrichtungen 14 und Gigabit-Vermittlungsvorrichtungen 16 schaffen. In dieser beispielhaften Ausführungsform unterstützt jede 100-Mbit-Vermittlungsvorrichtung 14 acht Ports P, während jede Gigabit-Vermittlungsvorrichtung 16 eine Aufwärtsstrecke UL unterstützt. Ein Beispiel der Vermittlungsvorrichtung 14, die für die Verwendung im Vermittlungssystem 10 gemäß einer bevorzugten Ausführungsform der Erfindung geeignet ist, ist die TNETX4090-Ethernet-Vermittlungsvorrichtung, die von Texas Instruments Incorporated verfügbar ist, während ein Beispiel der Gigabit-Vermittlungsvorrichtung 16, die für die Verwendung im Vermittlungssystem 10 gemäß einer bevorzugten Ausführungsform der Erfindung geeignet ist, die TNETX4020-Ethernet-Vermittlungsvorrichtung ist, die von Texas Instruments Incorporated verfügbar ist.
  • Wie aus 2 offensichtlich ist, ist die Ringanordnung der Vermittlungsstrukturvorrichtungen 20 durch eine redundante bidirektionale Kommunikation zwischen jeder der Vorrichtungen 20 und den Nachbarvorrichtungen 20 auf beiden Seiten von ihr verwirklicht. Wie im Folgenden ausführlicher beschrieben wird, enthält folglich jede Vermittlungsstrukturvorrichtung 20 vier bidirektionale Ringschnittstellen. Im Ergebnis dieser Zusammenschaltung kann jeder Port P oder jede Aufwärtsstrecke UL, der bzw. die durch eine entsprechende Vermittlung 14, 16 unterstützt wird, mit jedem anderen Port P oder jeder anderen Aufwärtsstrecke UL kommunizieren, mit der eine Verbindung durch das Vermittlungssystem 10 hergestellt ist. Demgemäß schafft das Vermittlungssystem 10 eine Netzvermittlung mit einer äußerst großen Kapazität, wie oben angegeben worden ist, mit bis zu einer 0/120/0- oder 0/0/15-Kapazität (ausgedrückt als 10-Mbit-/100-Mbit-/Gbit-Kapazitäten) und Kombinationen dazwischen.
  • Unter Bezugnahme auf 4 wird nun die Konstruktion der Vermittlungsstrukturvorrichtung 20 gemäß einer bevorzugten Ausführungsform der Erfindung ausführlich beschrieben. Jede der Vermittlungsstrukturvorrichtungen 200 bis 202 in dem Vermittlungssystem 10 nach 2 gemäß einer bevorzugten Ausführungsform der Erfindung ist ähnlich konstruiert, wobei als solche eine derartige Vermittlungsstrukturvorrichtung 20 beispielhaft beschrieben wird. Die Vermittlungsstrukturvorrichtung 20 ist in dieser Ausführungsform der Erfindung eine Ethernet-Vermittlungsstruktur, die mit einer Kombination von bis zu fünf Vermittlungen 14, 16 (wie in 2 gezeigt ist) durch die Vermittlungsschnittstellen 220 bis 224 eine Schnittstelle bildet. Gemäß dieser bevorzugten Ausführungsform der Erfindung schafft jede Vermittlungsschnittstelle 22 eine bidirektionale Gigabit-Verbindung mit einer zugeordneten Vermittlungsvorrichtung 14, 16, vorzugsweise durch einen medienunabhängigen Gigabit-Schnittstellenport (GMII-Port) an der angeschlossenen Vermittlungsvorrichtung 14, 16. Jede der Schnittstellen 22 ist bidirektional mit jedem von vier Ringwegen 240 bis 243 in der Vermittlungsstrukturvorrichtung 20 verbunden, wie in 4 gezeigt ist.
  • Wie im Folgenden ausführlicher beschrieben wird, schafft jeder der Ringwege 24 in der Vermittlungsstrukturvorrichtung 20 einen unidirektionalen Kommunikationsweg in der Ringkonfiguration der Vermittlungsstrukturvorrichtungen 20 im Vermittlungssystem 10 nach 2. Als solcher ist jeder Ringweg 24 einem Paar von Ringschnittstellen 26R, 26X zugeordnet. In diesem Beispiel ist der Ringweg 240 an die Empfangsringschnittstelle 26R0 und die Senderingschnittstelle 26X0 gekoppelt, während der Ringweg 241 an die Empfangsringschnittstelle 26R1 und die Senderingschnittstelle 26X1 gekoppelt ist. Der Ringweg 241 überträgt ähnlich wie der Ringweg 240 Daten, aber in der entgegengesetzten "Richtung" bezüglich des Ringwegs 240 . In dem Beispiel nach 2 ist der Kommunikationsweg der Empfangsringschnittstelle 26R0 , des Ringwegs 240 und der Senderingschnittstelle 26X0 für den Datenfluss von links nach rechts in 4 orientiert, während die Empfangsringschnittstelle 26R1 , der Ringweg 241 und die Senderingschnittstelle 26X1 für den Datenfluss in der entgegengesetzten Richtung (von rechts nach links) orientiert sind. Ähnlich ist der Ringweg 242 den Ringschnittstellen 26R2 , 26X2 zugeordnet, während der Ringweg 243 den Ringschnittstellen 26R3 , 26X3 zugeordnet ist.
  • In dem Beispiel des in 2 gezeigten Vermittlungssystems 10 liegt die Vermittlungsstrukturvorrichtung 20 nach 4 als solche in vier separaten unidirektionalen Ringen, zwei in jeder Richtung. Die Vermittlungen 14, 16 sind in einer derartigen Weise mit der Vermittlungsstrukturvorrichtung 20 verbunden, um die Datenlast so sehr wie möglich (im Idealfall mit einem Viertel der Datenlast in jedem Ring) zwischen den vier Ringen auszugleichen; ein derartiger Ausgleich maximiert die Datenübertragungsrate des Gesamtsystems. Die gegenrotierenden Ringe erlauben die Rekonfiguration des Vermittlungssystems 10 im Fall des Ausfalls einer der Vermittlungsstrukturvorrichtungen 20, z. B. durch das Rekonfigurieren der vier Ringe in zwei Ringe, wobei in jedem Ring zweimal so viele Vorrichtungen angesiedelt sind.
  • Die 3a und 3b veranschaulichen ein Beispiel einer derartigen Rekonfiguration. 3a veranschaulicht die Vermittlungsstrukturvorrichtungen 200 , 201 , 202 , die in der oben beschriebenen Weise, die in 2 gezeigt ist, durch vier Ringe in das Vermittlungssystem 10 verbunden sind. Die Vermittlungen 14, 16 im Vermittlungssystem 10 sind um der Klarheit willen in den 3a und 3b nicht gezeigt. Falls z. B. die Vermittlungsstrukturvorrichtung 201 ausfällt, erfasst jede der Vermittlungsstrukturvorrichtungen 200 , 202 im Vermittlungssystem 10 gemäß einer bevorzugten Ausführungsform der Erfindung Störungen in ihrer Sendung der Daten an ihre benachbarte Vermittlungsstrukturvorrichtung 201 und in ihrem Empfang der Daten von ihrer benachbarten Vermittlungsstrukturvorrichtung 201 . In Reaktion auf die Erfassung dieses Zustands rekonfiguriert dann jede der Vermittlungsstrukturvorrichtungen 200 , 202 diese Ringschnittstellen, die vorher mit der Vermittlungsstrukturvorrichtung 201 in Verbindung standen, damit sie mit ei ner entsprechenden Ringschnittstelle in derselben Vermittlungsstrukturvorrichtung der Vermittlungsstrukturvorrichtungen 200 , 202 kommunizieren, was zu einer Ringkonfiguration führt, wie sie in 3b gezeigt ist. Diese Rekonfiguration oder dieses "Umwickeln" wird vorzugsweise in den Vermittlungsstrukturvorrichtungen 200 , 202 selbst ausgeführt. Wie in 3b gezeigt ist, steht die ausgefallene Vermittlungsstrukturvorrichtung 201 nicht länger mit den Vermittlungsstrukturvorrichtungen 200 , 202 in Verbindung, aber die Vermittlungsstrukturvorrichtungen 200 , 202 und ihre (nicht gezeigten) zugeordneten Vermittlungsvorrichtungen 14, 16 verbleiben innerhalb des Vermittlungssystems 10 verbunden.
  • Diese Fähigkeit zur Rekonfiguration im Fall eines Ausfalls erlaubt außerdem die "heiße" Einfügung einer zusätzlichen Vermittlungsstrukturvorrichtung 20 in ein bereits arbeitendes ringkonfiguriertes Vermittlungssystem 10.
  • In 4 ist eine zusätzliche Unterstützungslogik in der Vermittlungsstrukturvorrichtung 20 vorgesehen. Gemäß dieser bevorzugten Ausführungsform der Erfindung ist der RINGCLK-Generator 27 in der Vermittlungsstrukturvorrichtung 20 vorgesehen, um ein Taktsignal RINGCLK zu erzeugen, das die Sendung der Daten von den Senderingschnittstellen 26X steuert; wie im Folgenden angegeben wird, gewinnen die Empfangsringschnittstellen 26R ihre Taktsignale aus den ankommenden Ringdaten selbst zurück. Wie außerdem in 4 gezeigt ist, schafft die Daten-Eingabe/Ausgabe-Schnittstelle (DIO-Schnittstelle) 27 eine bidirektionale Steuerdatenkommunikation zwischen der Vermittlungsstrukturvorrichtung 20 und einem Host-Computer. Außerdem enthält die Vermittlungsstrukturvorrichtung 20 zwei völlig gleiche Kommunikationsschnittstellen 290 , 291 , die die Informationen zwischen der Vermittlungsstrukturvorrichtung 20 und ihren unmittelbaren Nachbarn (auf der linken bzw. rechten Seite) in einer Ringanordnung, wie z. B. in 2 gezeigt ist, übertragen. Die Kommunikationsschnittstellen 29 erlauben den Vermittlungsstrukturvorrichtungen 20, Ringkonfigurationsinformationen vor den oder getrennt von den Datenkommunikationen über die über die Schnittstellen 28 bereitgestellten Datenwege miteinander auszutauschen.
  • Gemäß den bevorzugten Ausführungsformen der Erfindung arbeitet jede Ringschnittstelle 28 durch differentielle Signalisierung mit einer Datenrate von 2,5 GBd. Die Konstruktion eines der unidirektionalen Datenwege, der eine Emp fangsringschnittstelle 26R, einen Ringweg 24 und eine Sendringschnittstelle 26X umfasst, wird nun ausführlich bezüglich 5 beschrieben.
  • Wie in 5 gezeigt ist, werden die Daten durch den Ringweg 24 in Codegruppen von seinem entsprechenden Empfangsringpuffer 26R empfangen und in den Demultiplexer 31 eingegeben. In dieser bevorzugten Ausführungsform der Erfindung ist die Taktfrequenz, mit der die Codegruppen in den Demultiplexer 31 eingegeben werden, das Zweifache der Taktfrequenz, mit der in diesem Beispiel die Daten vom Demultiplexer 31 zum Decodierer 32 weitergeleitet werden. In einer bevorzugten Ausführungsform der Erfindung werden z. B. Zehn-Bit-Codegruppen durch den Demultiplexer 31 bei seiner nominellen Taktfrequenz von 250 MHz empfangen und durch den Demultiplexer 31 in Paaren von Zehn-Bit-Codegruppen mit einer Taktfrequenz von 125 MHz an den Decodierer 32 weitergeleitet. Die Taktfrequenz, mit der die Codegruppen in den Demultiplexer 31 eingegeben werden, ist gemäß dieser Ausführungsform der Erfindung ein Taktsignal, das aus dem Datenbitstrom selbst durch die Empfangsringschnittstelle 26R zurückgewonnen wird.
  • Der Decodierer 32 ist in dieser bevorzugten Ausführungsform ein Doppel-10-Bit-zu-8-Bit-Decodierer, durch den die paarweisen Zehn-Bit-Codegruppen in ein einziges Sechzehn-Bit-Datenwort umgesetzt werden, das zum Taktfrequenzkompensations-FIFO 34 gemäß einer bevorzugten Ausführungsform der Erfindung weitergeleitet wird. Die durch den Decodierer 32 ausgeführte Decodierung setzt die Daten entsprechend dem geeigneten Formatierungsstandard, wie z. B. dem entsprechend dem IEEE-802.3z-Standard, um. Es können außerdem zusätzliche Bits erzeugt werden, um anzugeben, ob jedes decodierte Datenwort Daten enthält oder statt dessen ein Steuersymbol, wie z. B. ein Rahmen-Trennzeichen oder ein Leerlaufwort, ist.
  • Der Taktfrequenzkompensations-FIFO 34 gemäß einer bevorzugten Ausführungsform der Erfindung steuert die Übermittlung der Daten zwischen den Empfangsseiten und den Sendeseiten des Ringweges 24. Die Konstruktion und der Betrieb des Taktfrequenzkompensations-FIFO 34 werden im Folgenden ausführlich beschrieben. Zum geeigneten Zeitpunkt, wie im Folgenden ausführlich beschrieben wird, leitet der Taktfrequenzkompensations-FIFO 34 das empfangene decodierte Datenwort zu einem oder mehreren Zielen des Ringweges 24 weiter.
  • Falls das empfangene decodierte Datenwort an eine der Vermittlungsvorrichtungen 14, 16 adressiert ist, an die die Vermittlungsstrukturvorrichtung 20 gekoppelt ist, wird das vom Taktfrequenzkompensations-FIFO 34 ausgegebenen Datenwort an jede der Schnittstellen 22 (4) weitergeleitet. Falls das empfangene decodierte Datenwort längs des Rings zur nächsten Vermittlungsstrukturvorrichtung 20 weiterzuleiten ist, wird die Ausgabe des Taktfrequenzkompensations-FIFO 34 in die Ringwegregister 38 eingegeben und in diesen gespeichert, wo die Daten entsprechend dem geeigneten Token- oder Rahmen-Parsingalgorithmus geparst werden, der für die spezielle Anwendung zu verwenden ist. Die empfangenen decodierten Datenwörter, die den Token-Daten entsprechen, werden außerdem durch den Taktfrequenzkompensations-FIFO 34 für die Beibehaltung in den Token-Puffer 36 eingegeben, falls die Token-Daten längs des Rings im Vermittlungssystem 10 zu senden sind.
  • Der Multiplexer 40 wählt eine von mehreren Datenquellen aus, von der Datenwörter zum Codierer 42 für die Sendung weiterzuleiten sind. Der Multiplexer 40 empfängt eine Eingabe von jeder der Vermittlungsschnittstellen 22, so dass die Daten von den entsprechenden Vermittlungsvorrichtungen 14, 16 längs der Ringkonfiguration weitergeleitet werden können. Außerdem ist ein Eingang des Multiplexers 40 an die Ringwegregister 38 gekoppelt, um die geparsten Rahmen- oder Token-Daten zu empfangen, während ein Eingang des Multiplexers 40 an den Token-Puffer 36 gekoppelt ist, um von ihm die beibehaltenen Token-Daten zu empfangen. Der Multiplexer 40 wird durch eine (nicht gezeigte Steuerschaltungsanordnung) gesteuert, um nach der Codierung durch den Codierer 42 die geeigneten Daten, die zu senden sind, auszuwählen.
  • Der Codierer 42 ist ein Doppel-8-Bit-zu-10-Bit-Codierer zum Umsetzen des durch den Multiplexer 40 ausgewählten Sechzehn-Bit-Datenworts in zwei Zehn-Bit-Codegruppen, abermals entsprechend dem geeigneten Formatstandard, wie z. B. dem IEEE-802.3z-Standard. Diese zwei Zehn-Bit-Codegruppen werden gleichzeitig parallel in den Multiplexer 43 eingegeben. Der Multiplexer 43 leitet diese zwei Zehn-Bit-Code-Gruppen beim Doppelten der Frequenz, mit dem die decodierten Codegruppen in seinen Eingang eingegeben werden, sequentiell an die Senderingschnittstelle 26X weiter. Wenn z. B. der Ringweg 24 mit 125 MHz arbeitet, wie oben beschrieben worden ist, gibt der Multiplexer 43 die Zehn-Bit-Codegruppen mit 250 MHz in die Senderingschnittstelle 26X ein. Dann werden die Ringdaten zur nächsten Vermittlungsstrukturvorrichtung 20 im Vermittlungssystem 10 gesendet, wie in 2 gezeigt ist.
  • Wie in 5 gezeigt ist, arbeitet der Ringweg 24 entsprechend verschiedenen Taktbereichen, von denen zwei auf der Datenrate basieren, mit der die Ringdaten empfangen werden, während zwei von denen auf der Taktrate basieren, mit der die Ringdaten gesendet werden. In diesem Beispiel werden, wie oben angegeben worden ist, die Zehn-Bit-Datengruppen mit der zurückgewonnenen Taktfrequenz (z. B. nominell 250 MHz), die durch die entsprechende Empfangsringschnittstelle 26R erzeugt wird, in den Eingang des Demultiplexers 31 eingegeben; nach dem Demultiplexieren werden dann die empfangenen Daten mit einer Taktfrequenz, die von dieser zurückgewonnenen Taktfrequenz abwärtsgeteilt wird (z. B. durch zwei geteilt wird und folglich nominell 125 MHz beträgt), durch den Demultiplexer 31 weitergeleitet, durch den Decodierer 32 decodiert und in den Taktfrequenzkompensations-FIFO 34 eingegeben. Auf der Sendeseite werden die Codegruppen durch den Multiplexer 43 mit einem seriellen Hochgeschwindigkeitstakt RINGCLK (z. B. nominell 250 MHz), der durch die RINGCLK-Taktgeneratorschaltung 27 erzeugt wird, an die Senderingschnittstelle 26X multiplexiert und gesendet; wobei die Datenauswahl durch den Multiplexer 40 und die Codierung durch den Codierer 42 bei einer geteilten Frequenz bezüglich des seriellen Takts RINGCLK (z. B. geteilt durch zwei und folglich nominell 125 MHz) ausgeführt werden. Die Grenze zwischen den Bereichen der geteilten Takte auf den Empfangs- und Sendeseiten wird durch den Taktfrequenzkompensations-FIFO 34 geschaffen.
  • Theoretisch befinden sich der geteilte zurückgewonnene Takt auf der Empfangsseite des Ringwegs 24 und der geteilte Sendetakt auf der Sendeseite des Ringwegs 24 auf der gleichen Frequenz, wobei in diesem Fall die Pufferung zwischen den Empfangs- und Sendeseiten des Ringwegs 24 nicht notwendig sein würde. Infolge von Faktoren, wie z. B. Leistungsunterschieden, Vorrichtungsgrößentoleranzen, Lastvariationen und dergleichen, sind Unterschiede der Taktfrequenzen auf beiden Seiten des Taktfrequenzkompensations-FIFO 34 vorhanden. Wie nun ausführlich beschrieben wird, ist der Taktfrequenzkompensations-FIFO 34 in einer derartigen Weise konstruiert, um diese Taktungsunterschiede mit einem Minimum von Latenzzeit zu kompensieren.
  • Nun wird unter Bezugnahme auf 6 die Konstruktion des Taktfrequenzkompensations-FIFO 34 gemäß einer bevorzugten Ausführungsform der Erfindung beschrieben. Der Taktfrequenzkompensations-FIFO 34 umfasst einen Umlaufpuffer 44, der mehrere Einträge aufweist, von denen jeder ein vom Decodierer 32 empfangenes Datenwort speichert, das in den Multiplexer 40 im Ringweg 24 einzugeben ist, wie in 5 gezeigt ist. Gemäß einer bevorzugten Ausführungsform der vorliegenden Erfindung kann die Anzahl der Einträge des Umlaufpuffers 44 relativ klein gehalten werden; in dieser beispielhaften Implementierung beträgt die Kapazität des Umlaufpuffers 44 nur fünf Einträge. Die Datenwörter vom Decodierer 32 werden in die Einträge des Umlaufpuffers 44 (der im Bereich des geteilten zurückgewonnenen Takts synchronisiert ist) durch die Schreibzeiger- und Logikeinrichtung 46W eingegeben, wobei die Inhalte der Einträge des Umlaufpuffers 44 durch die Lesezeiger- und Logikeinrichtung 46R gelesen werden und in einen Eingang des Multiplexers 47 (der im RINGCLK/2-Taktbereich synchronisiert ist) eingegeben werden. Die Verwendung sowohl der Schreibzeiger- und Logikeinrichtung 46W als auch der Lesezeiger- und Logikeinrichtung 46R erlaubt dem Umlaufpuffer 44, in der Weise eines Silospeichers zu arbeiten, wie aus der folgenden Beschreibung ersichtlich wird. In dieser Hinsicht werden die Schreibzeiger- und Logikeinrichtung 46W und die Lesezeiger- und Logikeinrichtung 46R durch die Lese-/Schreiblogik 48 entsprechend des Zustands der Lese- und Schreibgültigkeitsbits gesteuert, die jedem Eintrag des Umlaufpuffers 44 entsprechen, wie nun ausführlich beschrieben wird.
  • Jeder Eintrag des Umlaufpuffers 44 ist gemäß dieser bevorzugten Ausführungsform der Erfindung einer Instanz einer Empfangs-/Sendegültigkeitslogik 50 zugeordnet. Wie in 6 gezeigt ist, spreizt jede Instanz der Empfangs-/Sendegültigkeitslogik 50 die Taktbereiche, wobei ein Schreibabschnitt entsprechend dem Bereich des geteilten zurückgewonnenen Takts arbeitet und ein Leseabschnitt entsprechend dem RINGCLK/2-Taktbereich arbeitet. Gemäß dieser bevorzugten Ausführungsform der Erfindung empfängt jede Instanz der Empfangs-/Sendegültigkeitslogik 50 einen Schreibbefehl im Bereich des geteilten zurückgewonnenen Takts von der Quelle eines Datenworts, z. B. vom Decodierer 32, wobei sie einen Lesebefehl im RINGCLK/2-Taktbereich vom Ziel eines Datenworts empfängt, z. B. von den Ringwegregistern 38 oder einer anderen zugeordneten Steuerlogik. Außerdem werden Gültigkeitsbits durch die Empfangs- /Sendegültigkeitslogik 50 in die Quell- und Zielfunktionen in den entsprechenden Bereichen eingegeben.
  • 6 veranschaulicht die ausführliche Konstruktion der Empfangs-/Sendegültigkeitslogik 500 , die dem 0. Eintrag des Umlaufpuffers zugeordnet ist; selbstverständlich sind die anderen Instanzen der Empfangs-/Sendegültigkeitslogik 50 im Taktfrequenzkompensations-FIFO 34 ähnlich konstruiert und den anderen Einträgen des Umlaufpuffers 44 zugeordnet. Gemäß dieser bevorzugten Ausführungsform der Erfindung wird die Schreibwort-Befehlsleitung WRW0 vom Decodierer 32 oder von der zugeordneten Empfangssteuerschaltungsanordnung im Ringweg 24 empfangen und in den Setzeingang des RS-Flipflops 52 eingegeben. In diesem Beispiel gibt ein aktiver hoher Pegel auf der Schreibwort-Befehlsleitung WRW0 an, dass ein Datenwort bereit ist, in den 0. Eintrag des Umlaufpuffers 44 geschrieben zu werden. Der Ausgang des RS-Flipflops 52 steuert die Gültigkeitsleitung WV0 an, die mit einem aktiven hohen Pegel angibt, dass der 0. Eintrag des Umlaufpuffers 44 gültige Daten enthält; umgekehrt gibt ein tiefer Pegel auf der Leitungsgültigkeitsleitung WV0 an, dass dieser Eintrag keine gültigen Daten enthält und folglich verfügbar ist, um ein Datenwort zu empfangen. Diese Ausgabe des RS-Flipflops 52 wird außerdem zum Eingang des Flankendetektors 54 weitergeleitet, wobei in Reaktion auf diese der Zustand der Gültigkeitsleitung RV0 gesteuert wird, wie nun beschrieben wird.
  • Der Flankendetektor 54 ist eine Schaltung zum Abtasten eines Übergangs an ihrem Eingang IN, der in diesem Beispiel mit dem Ausgang des RS-Flipflops 52 verbunden ist, und zum Erzeugen eines aktiven Pegels in Reaktion auf einen derartigen Übergang. Die Ausgabe des Flankendetektors 54 wird in den Eingang IN der Synchronisationseinrichtung 56 eingegeben, die an ihrem Ausgang basierend auf dem Zustand an ihrem Eingang IN ein entsprechendes Signal erzeugt. Die Ausgabe der Synchronisationseinrichtung 56 wird in den Setzeingang des RS-Flipflops 62 eingegeben, das wiederum die Gültigkeitsleitung RV0 ansteuert. Der Flankendetektor 54 und die Synchronisationseinrichtung 56 besitzen außerdem einen Eingang CLR, wobei in Reaktion auf diesen sein bzw. ihr Ausgang deaktiviert wird. In dem Beispiel nach 6 sind die Eingänge CLR mit dem Ausgang der Synchronisationseinrichtung 56 verbunden. Wie im Folgenden weiter ausführlich beschrieben wird, empfangen außerdem sowohl der Flankende tektor 54 als auch die Synchronisationseinrichtung 56 ein Taktsignal von der Sendeseite im RINGCLK/2-Taktbereich, entsprechend dem ihre jeweiligen Ausgänge synchron sind. Der Flankendetektor 54 erzeugt deshalb in seinem allgemeinen Betrieb in Reaktion auf einen Tief-zu-Hoch-Übergang an seinem Eingang, der in Reaktion darauf, dass die Schreibwort-Befehlsleitung WRW0 aktiv angesteuert wird, um eine Schreiboperation in den entsprechenden (z. B. 0.) Eintrag des Umlaufpuffers 44 zu initiieren, auftritt, einen aktiven Pegel an seinem Ausgang. Dieser aktive Pegel wird dann durch die Synchronisationseinrichtung 56 in den RINGCLK/2-Taktbereich synchronisiert und veranlasst das RS-Flipflop 62, die Gültigkeitsleitung RV0 aktiv anzusteuern, um anzugeben, dass der entsprechende Eintrag des Umlaufpuffers 44 nun gültige Daten enthält.
  • Nun wird unter Bezugnahme auf 7a die Konstruktion des Flankendetektors 54 gemäß einer bevorzugten Ausführungsform der Erfindung ausführlich beschrieben. In 6 enthält die Empfangs-/Sendegültigkeitslogik 500 in ihrem Weg von der Sendeseite zur Empfangsseite des Taktfrequenzkompensations-FIFO 34 außerdem einen Flankendetektor 60, der ähnlich wie der Flankendetektor 54 konstruiert ist. Die Konstruktion des Flankendetektors 54 als solche wird in einer Weise beschrieben, die etwas generisch für beide Flankendetektoren 54, 60 ist.
  • Der Flankendetektor 54 enthält ein Dreieingangs-NAND-Gatter 90, wobei der Eingang IN des Flankendetektors 54 mit einem Eingang des Dreieingangs-NAND-Gatters 90 verbunden ist; wie oben angegeben worden ist, ist der Eingang IN des Flankendetektors 54 mit dem Ausgang des RS-Flipflops 52 verbunden. Der Eingang IN ist außerdem mit einem Setzeingang des D-Flipflops 92 verbunden, um das Flipflop 92 in Reaktion auf einen Tief-zu-Hoch-Übergang am Eingang IN in einen "1"-Zustand zu setzen. Die Ausgabe des Flipflops 92 wird in einen zweiten Eingang des NAND-Gatters 90 eingegeben. Der Eingang CLR des Flankendetektors 54 ist über den Inverter 89 sowohl mit dem D-Eingang des D-Flipflops 92 als auch mit dem D-Eingang des D-Flipflops 94 und dem dritten Eingang des NAND-Gatters 90 verbunden. Der Ausgang des NAND-Gatters 90 ist mit einem invertierenden Setzeingang des D-Flipflops 94 verbunden (um das D-Flipflop 94 bei einem Hoch-zu-Tief-Übergang zu setzen), während der Ausgang des Flipflops 94 die Ausgabe des Flankendetektors 54 ausgibt.
  • Die Flipflops 92, 94 des Flankendetektors 54 werden durch ein Taktsignal auf einer Leitung CLK getaktet, das von dem Zielbereich erzeugt wird, der im Fall des Flankendetektors 54 die Sendeseite im RINGCLK/2-Taktbereich ist. Spezifischer überträgt die Leitung CLK das Taktsignal RINGCLK/2 von der Sendeseite der Vermittlungsstrukturvorrichtung 20; im Fall des Flankendetektors 60 ist selbstverständlich das entsprechende Taktsignal auf der Leitung CLK der geteilte zurückgewonnene Takt, der in der Empfangsseite der Vermittlungsstrukturvorrichtung 20 verwendet wird. In 7a wird das Taktsignal auf der Leitung CLK in die Takteingänge der Flipflops 92, 94 eingegeben, um ihre gleichzeitige Taktung auszuführen.
  • In Betrieb beginnt der Flankendetektor 54 aus einem Zustand, in dem sich die Leitung IN auf einem inaktiven tiefen Pegel befindet, wie er durch das RS-Flipflop 52 (6) erzeugt wird, was angibt, dass sein entsprechender Eintrag des Umlaufpuffers 44 keine gültigen Daten enthält, und es folglich eine Schreibanforderung auf der Schreibwort-Befehlsleitung WRW0 erwartet. In diesem Anfangszustand, der einem vorhergehenden Schreibvorgang in den entsprechenden Eintrag des Umlaufpuffers 44 folgt, ist die Ausgabe der Synchronisationseinrichtung 56 bereits in den Eingang CLR des Flankendetektors 54 eingegeben worden. Der invertierte Zustand des Eingangs CLR, gefolgt von den Zyklen des Zieltaktes RINGCLK/2 auf der Leitung CLK, um die Flipflops 92, 94 in einen "0"-Zustand zurückzusetzen, wird an das NAND-Gatter 90 und den Ausgang OUT ausgegeben. Folgende Zyklen auf der Leitung CLK stören diesen Zustand nicht.
  • Wenn der Decodierer 32 oder eine andere Steuerschaltungsanordnung die Schreibwort-Befehlsleitung WRW0 aktiviert, um einen Schreibvorgang in den 0. Eintrag des Umlaufpuffers 44 auszuführen, erzeugt in 6 das RS-Flipflop 52 einen hohen Pegel an seinem Ausgang, was den Eingang IN des Flankendetektors 54 veranlasst, dann einen Tief-zu-Hoch-Übergang auszuführen. Dieser Übergang gibt direkt einen hohen Pegel in einen Eingang des NAND-Gatters 90 ein und setzt außerdem das Flipflop 92, so dass der hohe Pegel in den zweiten Eingang des NAND-Gatters 90 eingegeben wird. Da sich der Eingang CLR bereits auf einem tiefen Pegel befindet, wie oben angegeben worden ist, befinden sich folglich alle drei Eingänge des NAND-Gatters 90 auf einem hohen Pegel, wobei in Reaktion darauf das NAND-Gatter 90 einen Hoch-zu-Tief-Übergang an seinem Ausgang ausführt. Dieser Übergang, eingegeben in den invertierenden Setzeingang des Flipflops 94, setzt folglich das Flipflop 94 und erzeugt einen hohen Pegel an seinem Ausgang OUT. Dieser Zustand wird durch die Flipflops 92, 94 im Flankendetektor 54 aufrechterhalten, bis die Leitung CLR durch die Synchronisationseinrichtung 56 hoch angesteuert wird. Im Ergebnis wird der Tief-zu-Hoch-Übergang am Ausgang des Flipflops 52 durch den Flankendetektor 54 erfasst, der in Reaktion darauf einen aktiven hohen Pegel an seinem Ausgang ansteuert und diesen Pegel zur Synchronisationseinrichtung 56 weiterleitet.
  • Nun wird unter Bezugnahme auf 7b die Konstruktion der Synchronisationseinrichtung 56 ausführlich beschrieben. Die Synchronisationseinrichtung 56 umfasst im Wesentlichen ein Paar D-Flipflops 98, 102, wobei die geeignete Datensetzlogik durch die UND-Gatter 96, 100 bereitgestellt ist. Wie im Fall der Flankendetektoren 54, 60 ist eine entsprechende Synchronisationseinrichtung 58 in der Lese-/Schreiblogik 500 für das Synchronisieren der Signale vorgesehen, die sich von der Sendeseite zur Empfangsseite des Taktfrequenzkompensations-FIFO 34 bewegen; die Synchronisationseinrichtungen 56, 58 sind gemäß einer bevorzugten Ausführungsform der Erfindung ähnlich konstruiert, wobei die Synchronisationseinrichtung 56 als solche hierin in einer etwas generischen Weise beschrieben wird. In diesem Beispiel wird die Eingabe IN der Synchronisationseinrichtung 56 in einen Eingang des UND-Gatters 96 eingegeben, während die Eingabe CLR der Synchronisationseinrichtung 56 in einen invertierenden Eingang des UND-Gatters 96 eingegeben wird. Der Ausgang des UND-Gatters 96 ist mit dem D-Eingang des D-Flipflops 98 verbunden. Die Ausgabe des Flipflops 98 wird in einen Eingang des UND-Gatters 100 eingegeben, das an seinem weiteren, invertierenden Eingang die Eingabe CLR empfängt; die Ausgabe des Flipflops 100 wird in den D-Eingang des D-Flipflops 102 eingegeben, das sowohl den Ausgang als auch den Eingang CLR in die Synchronisationseinrichtung 56 (und den Flankendetektor 54) ansteuert, wie in 6 gezeigt ist.
  • Die Synchronisationseinrichtung 56 besitzt in dieser Ausführungsform der Erfindung die Funktion des Synchronisierens des Übergangs des Ausgangs des Flipflops 52 in der Empfangsseite der Lese-/Schreiblogik 500 mit dem RINGCLK/2-Taktbereich der Sendeseite. Deshalb empfangen in dieser Ausführungsform der Erfindung die Flipflops 98, 102 der Synchronisationseinrichtung 56 ein Taktsignal auf der Leitung CLK vom Zieltaktbereich, der in diesem Fall im RINGCLK/2-Taktbereich liegt (vorzugsweise das Taktsignal RINGCLK/2 selbst ist). Umgekehrt enthält die Synchronisationseinrichtung 60 die Flipflops 98, 102, die durch das geteilte zurückgewonnene Taktsignal der Empfangsseite der Vermittlungsstrukturvorrichtung 20 getaktet werden, die das Ziel ihres Signals ist, wie in 6 gezeigt ist.
  • In Betrieb ist der Anfangszustand der Synchronisationseinrichtung 56 ein tiefer Logikpegel am Eingang IN, wobei ein tiefer Logikpegel am Eingang CLR aufrechterhalten wird. Dieser tiefe Logikpegel am Eingang IN wird über das UND-Gatter 96 in das Flipflop 98 getaktet und durch einen Zyklus des Zieltakts RINGCLK/2 in den Eingang CLK eingegeben; die resultierende Tiefpegelausgabe aus dem Flipflop 98 wird dann ähnlich in das Flipflop 102 getaktet und am Ausgang OUT ausgegeben. Bei einem durch den Flankendetektor 54 in Reaktion auf eine Änderung des Zustands des Flipflops 52 (6) erzeugten Tief-zu-Hoch-Übergang wird dann ein hoher Pegel in einen Eingang des UND-Gatters 96 in Kombination mit dem tiefen Zustand des Eingangs CLR, der in seinen invertierenden Eingang eingegeben wird, eingegeben; wobei dann das UND-Gatter 96 einen hohen Pegel an seinem Ausgang ansteuert, der beim nächsten Zyklus des Zieltakts RINGCLK/2 am Eingang CLK in das Flipflop 96 getaktet wird, der danach am Ausgang des Flipflops 96 erscheint. Der nächste Zyklus des Zieltakts RINGCLK/2 taktet dann diesen hohen Pegel (der in Kombination mit einem tiefen Pegel vom Eingang CLR an einem invertierenden Eingang vorliegt) in das Flipflop 102, das wiederum die Leitung OUT in einer Weise, die mit dem RINGCLK/2-Taktbereich synchron ist, hoch ansteuert. Als solcher ist der Übergang am Ausgang des Flipflops 52 im Bereich des geteilten zurückgewonnenen Taktes mit dem anderen Taktbereich synchronisiert, nämlich mit dem RINGCLK/2-Taktbereich der Sendeseite der Vermittlungsstruktur 20.
  • Der hohe Pegel am Ausgang der Synchronisationseinrichtung 56 wird dann in die jeweiligen Eingänge CLR des Flankendetektors 54 und der Synchronisationseinrichtung 56 rückgekoppelt. In 7a wird dieser hohe Pegel am Eingang CLR des Flankendetektors 54 nach der Inversion durch den Inverter 89 mit dem nächsten Zyklus des Taktes RINGCLK/2 am Eingang CLK in die Flipflops 92, 94 getaktet, was den Ausgang OUT des Flankendetektors 54 zurücksetzt. In der Synchronisationseinrichtung 56 steuert der hohe Pegel auf der Leitung CLR den Ausgang der UND-Gatter 96, 100 tief, wobei dann jeder Zustand mit dem nächsten Zyklus des Taktes RINGCLK/2 in die Flipflops 98, 102 getaktet wird. Dann sind der Flankendetektor 54 und die Synchronisationseinrichtung 56 für den nächsten Schreibbefehl vorbereitet.
  • In 6 wird, wie oben angegeben worden ist, die Lesewort-Befehlsleitung RDW0 von der Sendeseite des Ringwegs 24 empfangen, wie z. B. von den Ringwegregistern 38 oder der zugeordneten Sendesteuerschaltungsanordnung, wobei sie in den Rücksetzeingang des RS-Flipflops 62 eingegeben wird. Die Lesewort-Befehlsleitung RDW0 gibt mit einem aktiven hohen Pegel an, dass die Sendeseite der Vermittlungsstrukturvorrichtung 20 ein Datenwort vom Taktfrequenzkompensations-FIFO 34 anfordert. Die Ausgabe des Flipflops 62 wird, außer dass sie die Gültigkeitsleitung RV0 ansteuert, außerdem über den Inverter 55 in den Eingang IN des Flankendetektors 60 eingegeben, der ähnlich wie der Flankendetektor 54 konstruiert ist, der hierin oben bezüglich 7a beschrieben worden ist. Die Ausgabe des Flankendetektors 60 wird in den Eingang IN der Synchronisationseinrichtung 58 eingegeben, die ähnlich wie die hierin oben beschriebene Synchronisationseinrichtung 56 konstruiert ist und die den Zustand des Flipflops 62 in den Bereich des geteilten zurückgewonnenen Taktes sendet. Die Ausgabe der Synchronisationseinrichtung 58 wird in den Rücksetzeingang des RS-Flipflops 52 eingegeben, das, wie oben angegeben worden ist, die Gültigkeitsleitung WV0 ansteuert.
  • Nun wird der Gesamtbetrieb der Empfangs-/Sendegültigkeitslogik 500 beschrieben, wobei es selbstverständlich ist, dass die anderen Instanzen der Empfangs-/Sendegültigkeitslogik 501 bis 504 in einer ähnlichen Weise arbeiten. Diese Beschreibung beginnt aus einem Anfangszustand, in dem der 0. Eintrag des Umlaufpuffers 44 leer (d. h. nicht gültig) ist, wie durch einen tiefen Pegel auf der Gültigkeitsleitung WV0 (und auf der Gültigkeitsleitung RV0) angegeben wird. Bei der Aktivierung einer Schreibanforderung durch den Decodierer 32 oder die zugeordnete Steuerschaltungsanordnung durch das Ansteuern eines aktiven Zustands auf der Schreibwort-Befehlsleitung WRW0, was in Kombination mit der Ausgabe der Daten durch den Decodierer 32 an die Schreibzeiger- und Logikeinrichtung 46W ausgeführt wird, veranlasst der vorher tiefe Pegel auf der Gültigkeitsleitung WV0 die Lese-/Schreiblogik 48, das Schreiben der ausgegebenen Daten in den 0. Eintrag des Umlaufpuffers 44 zu erlauben. Das RS-Flipflop 52 wird durch den aktiven Pegel auf der Schreibwort-Befehlsleitung WRW0 gesetzt, was die Gültigkeitsleitung WV0 hoch ansteuert. Außerdem wird der aktive Übergang am Ausgang des Flipflops 52 über den Flankendetektor 54 und die Synchronisationseinrichtung 56 in den RINGCLK/2-Taktbereich synchronisiert, was das RS-Flipflop 62 setzt. Die Gültigkeitsleitung RV0 wird durch das Flipflop 62 auf einen hohen Pegel angesteuert, was angibt, dass der 0. Eintrag des Umlaufpuffers 44 nun gültige Daten enthält.
  • Im Fall einer Leseanforderung für die gültigen Inhalte (die Leitung RV0 ist hoch) des 0. Eintrags des Umlaufpuffers 44, die durch einen aktiven Pegel auf der Lesewort-Befehlsleitung RDW0 von den Ringwegregistern 38 oder einem weiteren Sendeziel im Ringweg 24 angegeben wird, wird das RS-Flipflop 62 zurückgesetzt, was die Gültigkeitsleitung RV0 tief ansteuert. Unterdessen gibt die Lesezeiger- und Logikeinrichtung 46R die Inhalte des 0. Eintrags des Umlaufpuffers 44 in den Multiplexer 47 ein, wie im Folgenden beschrieben wird. Außerdem setzt der aktive tiefe Pegel auf der Gültigkeitsleitung RV0 über den Flankendetektor 60 und die Synchronisationseinrichtung 58 das RS-Flipflop 52 zurück und steuert die Gültigkeitsleitung WV0 tief an. Dieser Zustand der Gültigkeitsleitung WV0 erlaubt folglich, dass der 0. Eintrag des Umlaufpuffers 44 wie gewünscht mit neuen Daten neu geschrieben wird.
  • Wie in 6 gezeigt ist und wie oben erwähnt worden ist, wird jede der Gültigkeitsleitungen von der Empfangs-/Sendegültigkeitslogik 50 in die Lese-/Schreiblogik 48 eingegeben, die wiederum die Schreibzeiger- und Logikeinrichtung 46W und die Lesezeiger- und Logikeinrichtung 46R bei ihrem Zugriff auf den Umlaufpuffer 44 steuert. Die Gültigkeitsleitungen WV0 und RV0 von der Empfangs-/Sendegültigkeitslogik 50 werden z. B. zur Lese-/Schreiblogik 48 weitergeleitet, wie die ähnlichen Gültigkeitsleitungen WV1 bis WV4 und RV1 bis RV4 weitergeleitet werden. Während die Ausgabe aus der Lesezeiger- und Logikeinrichtung 46R in einen Eingang des Multiplexers 47 eingegeben wird, empfängt außerdem ein zweiter Eingang des Multiplexers 47 einen festen Wert vom Leerlaufsymbolregister 45, wobei der feste Wert dem Code für ein Leerlaufsymbol entspricht. Wie im Folgenden beschrieben wird, kann folglich der Multiplexer 47 entweder die Ausgabe des Umlaufpuffers 44 oder das Leerlaufsymbol für die Eingabe in ein geeignetes Ziel, wie z. B. die Ringwegregister 38 und dergleichen, in Abhängigkeit davon auswählen, ob der Umlaufpuffer 44 irgendwelche gültigen Daten enthält, wie nun bezüglich des allgemeinen Betriebs des Taktfrequenzkompensations-FIFO 34 beschrieben wird.
  • 8 veranschaulicht den Betrieb des Taktfrequenzkompensations-FIFO 34 bezüglich seiner Empfangs- und Sendefunktionen. Wie aus dieser Beschreibung offensichtlich wird, arbeiten die Empfangs- und Sendefunktionen des Taktfrequenzkompensations-FIFO 34 in einer im Wesentlichen asynchronen Weise in Bezug aufeinander parallel zueinander; in der Tat und gemäß dieser bevorzugten Ausführungsform der Erfindung, wie oben bezüglich den 4 und 5 angegeben worden ist, arbeitet die Empfangsfunktion im Bereich des geteilten zurückgewonnenen Taktes, während die Sendefunktion im RINGCLK/2-Taktbereich arbeitet. Wie außerdem oben bezüglich 6 angegeben worden ist, halten die Schreibzeiger- und Logikeinrichtung 46W und die Lesezeiger- und Logikeinrichtung 46R getrennte entsprechende Schreib- und Lesezeiger in den Umlaufpuffer 44 aufrecht.
  • Im Empfangsbereich wird der Betrieb des Taktfrequenzkompensations-FIFO 34 durch die Eingabe eines Datenworts (das von einem Leerlaufsymbol verschieden ist) vom Decodierer 32 in den Prozess 64 initiiert. Dieses neue Datenwort ist in den Eintrag x des Umlaufpuffers 44 zu schreiben, wobei x dem momentanen Wert eines Schreibzeigers in der Schreibzeiger- und Logikeinrichtung 46W entspricht. In der FIFO-Weise entspricht der Wert x dem ältesten Eintrag in der zeitlichen Folge des Umlaufpuffers 44 (d. h., die anderen Einträge sind später geschrieben worden). Wie aus der folgenden Beschreibung ersichtlich wird, rückt der Eintrag des Umlaufpuffers 44, in den die Schreiboperationen auszuführen sind, inkremental und in einer kreisförmigen Weise vor. In dem Fall, in dem das Datenwort einem Leerlaufsymbol entspricht, wird keine Schreibhandlung ausgeführt.
  • Nach dem Empfang des neuen Datenwortes im Prozess 64 führt die Lese-/Schreiblogik 48 im Taktfrequenzkompensations-FIFO 34 die Entscheidung 67 aus, um den momentanen Zustand der Gültigkeitsleitung WVx zu prüfen, um zu bestimmen, ob der zugeordnete x-te Eintrag des Umlaufpuffers 44, der dem momentanen Wert des Schreibzeigers entspricht, immer noch gültige Daten enthält, die noch nicht zur Sendeseite des Taktfrequenzkompensations-FIFO 34 weitergeleitet worden sind. Wenn ja, was durch die Gültigkeitsleitung WVx auf einem aktiven hohen Pegel angegeben wird, ist der x-te Eintrag des Umlaufpuffers 44 noch nicht verfügbar, um neue Daten zu empfangen, was gemäß einer bevorzugten Ausführungsform der Erfindung ein Fehler ist. Wie aus der folgenden Beschreibung ersichtlich wird, wird die Tiefe des Umlaufpuffers 44 entsprechend dem zulässigen Differential in den Taktraten zwischen den Sendetakten der Vermittlungsstrukturvorrichtungen 20 in Kombination mit der maximalen Rahmenlänge und der Umlaufzeit der Flankendetektoren 54, 60 und der Synchronisationseinrichtungen 56, 58 in der Lese-/Schreiblogik 50 gewählt. Es wird nicht erwartet, dass der Umlaufpuffer 44 als solcher überläuft, was den Zustand verursachen würde, dass die Gültigkeitsleitung WVx hoch ist, wenn der Schreibzeiger auf ihren entsprechenden Eintrag zeigt. Ein derartiger Überlauf gibt an, dass sich die Sendetakte einer der Vermittlungsstrukturvorrichtungen 20 außerhalb ihrer Spezifikationsgrenze befinden.
  • Vorausgesetzt, dass die Inhalte dieses Eintrags des Umlaufpuffers 44 vorher gelesen worden sind, so dass sich die Gültigkeitsleitung WVx auf einem inaktiven Pegel befindet (im Prozess 84, der im Folgenden beschrieben wird), schickt die Entscheidung 67 ein Nein-Ergebnis zurück. Der tiefe Pegel auf der Gültigkeitsleitung WVx wird zum Decodierer 32 oder der zugeordneten Steuerschaltungsanordnung weitergeleitet, der bzw. die im Prozess 69 einen aktiven Zustand auf der Schreibwort-Befehlsleitung WRWx aktiviert, die dem x-ten Eintrag des Umlaufpuffers 44 zugeordnet ist. Dann wird durch die Schreibzeiger- und Logikeinrichtung 46W der Prozess 70 ausgeführt, um das empfangene Datenwort in den x-ten Eintrag des Umlaufpuffers 44 zu schreiben. In 6 beeinflusst die Aktivierung der Schreibwort-Befehlsleitung WRWx im Prozess 69 außerdem den Prozess 72, was den Zustand des Flipflops 52 in der zugeordneten Instanz der Empfangs-/Schreibgültigkeitslogik 50x setzt, um einen aktiven Pegel auf der Gültigkeitsleitung WVx auszugeben und um bei der Synchronisation in den RINGCLK/2-Bereich durch die Synchronisationseinrichtung 56 den Zustand des Flipflops 62 zu setzen und folglich einen aktiven Zustand auf der Gültigkeitsleitung RVx für den x-ten Eintrag des Umlaufpuffers 44 auszugeben. Dieser Gültigkeitszustand auf der Gültigkeitsleitung RVx kann den Zustand der Entscheidungen 79, 81 im Sendebereich beeinflussen, wie im Folgenden beschrieben wird. Wie oben angegeben worden ist, wird, falls ein Leerlaufsymbol im Prozess 64 empfangen wird, keine Schreiboperation ausgeführt, wobei die Gültigkeitsleitung WVx für den Eintrag x des Umlaufpuffers 44 als solche unverändert verbleibt, was angibt, dass der Eintrag x keine gültigen Daten enthält.
  • Der Empfang eines Datenworts durch den Empfangsbereich des Taktfrequenzkompensations-FIFO 34 wird durch den Prozess 74 abgeschlossen, der den Schreibzeiger in der Schreibzeiger- und Logikeinrichtung 46W inkrementiert, um auf den nächsten sequentiellen Eintrag des Umlaufpuffers 44 zu zeigen. Wie oben angegeben worden ist, wird die Kreisförmigkeit des Umlaufpuffers 44 durch den Wert dieses Schreibzeigers beeinflusst, der beim Erreichen des fünften Eintrags im Umlaufpuffer 44 umläuft. Die Empfangsseite des Takffrequenzkompensations-FIFO 34 ist folglich bereit, das nächste Datenwort vom Decodierer 32 zu empfangen.
  • Die Sendeseite des Taktfrequenzkompensations-FIFO 34 arbeitet durch die Abfrage der Gültigkeitsbits RV0 bis RV4, um zu bestimmen, wann ein Datenwort aus dem Umlaufpuffer 44 gelesen werden kann. In dieser Hinsicht beginnt der Taktfrequenzkompensations-FIFO 34 mit der Entscheidung 79, in der der Zustand der Gültigkeitsleitung RVy, die dem momentanen Wert des Lesezeigers in der Lesezeiger- und Logikeinrichtung 46R zugeordnet ist, geprüft wird. Wie oben angegeben worden ist, gibt ein aktiver hoher Pegel auf dieser Gültigkeitsleitung RVy an, dass der zugeordnete y-te Eintrag im Umlaufpuffer 44 gültige Daten enthält, die für die Wiedergewinnung und die Übertragung verfügbar sind. Falls die momentane Gültigkeitsleitung RVy nicht gesetzt ist (die Entscheidung 79 nein lautet), was angibt, dass für die Ausgabe aus dem Umlaufpuffer 44 keine gültigen Daten verfügbar sind, wird der Prozess 80 ausgeführt, um ein Leerlaufsymbol an die Ringwegregister 38 auszugeben. In 6 wird der Prozess 80 durch den Multiplexer 47 ausgeführt, der das Leerlaufsymbolregister 45 als die Quelle der Datenwörter auswählt, die er zu den Ringwegregistern 38 (und folglich zum Multiplexer 40 und weiter zur Senderingsschnittstelle 26X, siehe die 3 und 4) weiterleitet.
  • Dann wird die Entscheidung 82 ausgeführt, um zu bestimmen, ob zu diesem Zeitpunkt alle Gültigkeitsleitungen RV gelöscht sind. Gemäß dieser Ausführungsform der Erfindung ist der Umlaufpuffer 44 zwischen den Datenrahmen völlig leer, wenn eine Folge von Leerlaufsymbolen (deren Anzahl im Allgemeinen größer als die Anzahl der Einträge des Umlaufpuffers 44 ist) durch den Taktfre quenzkompensations-FIFO 34 übertragen wird. Die Entscheidung 82 bestimmt als solche, ob alle Gültigkeitsleitungen RV gelöscht sind; falls nein (die Entscheidung 82 nein lautet), wird die Steuerung zurück zu Entscheidung 79 geleitet, wo die momentane Gültigkeitsleitung RVy für den y-ten Eintrag des Umlaufpuffers 44 auf gültige Daten geprüft wird. Falls jedoch alle Gültigkeitsleitungen RV gelöscht sind, setzt die Lese-/Steuerlogik 48 darin ein Steuerbit, das angibt, dass vor dem Initiieren des Lesens eines Rahmens mehrere gültige Datenwörter zu erfassen sind. In dieser beispielhaften Implementierung, in der zwei gültige Einträge des Umlaufpuffers 44 vor dem Initiieren eines Lesens des Umlaufpuffers 44 erforderlich sind, wird im Prozess 83 das Steuerbit "warte auf 2" in der Lese-/Schreiblogik 48 gesetzt, wobei im Anschluss daran die Steuerung zurück zur Entscheidung 79 geleitet wird, durch die der Taktfrequenzkompensations-FIFO 34 abermals den Zustand der Gültigkeitsleitung RVy prüft.
  • Gemäß diesem Beispiel einer bevorzugten Ausführungsform der Erfindung wartet der Taktfrequenzkompensations-FIFO 34, bis zwei gültige Symbole im Umlaufpuffer 44 gespeichert sind, bevor er irgendwelche Datenwörter liest. Dieses Warten auf eine spezifizierte Anzahl gültiger Einträge ist gemäß einer bevorzugten Ausführungsform der Erfindung vorgesehen, um die Häufigkeit zu verringern, mit der Leerlaufsymbole in den gesendeten Datenstrom eingefügt werden, wie nun beschrieben wird.
  • Die vor dem Lesen der Daten aus dem Umlaufpuffer 44 erforderliche Anzahl gültiger Einträge wird sowohl entsprechend der Toleranz der Frequenzvariation zwischen den Sendetakten der Vermittlungsstrukturvorrichtungen 20 als auch entsprechend der maximalen Rahmengröße ausgewählt. Ein Taktfrequenz-Toleranzniveau von 0,05% führt z. B. zu einer maximalen Variation von einem Taktzyklus pro 2000 Zyklen. Falls die maximale Ethernet-Rahmenlänge in der Größenordnung von 1500 Bytes oder 750 Symbolen liegt und solange wie die Sendetakte innerhalb ihrer spezifizierten Toleranz liegen, kann nicht mehr als ein Zyklusschlupf zwischen der Empfangsseite und der Sendeseite einer Vermittlungsstrukturvorrichtung 20 auftreten. Für den Fall, in dem die Empfangsseite langsamer als die Sendeseite ist, wird deshalb durch das Warten, bis zwei aufeinanderfolgende Einträge des Umlaufpuffers 44 gültig sind, bevor irgendeiner der Einträge gelesen wird, deshalb sichergestellt, dass selbst im Fall eines Zyklusschlupfs das Lesen irgendeines einzelnen Datenrahmens nicht das Ausgeben eines Leerlaufsymbols mitten im Rahmen erfordert. Statt dessen wird im Prozess 80 das Leerlaufsymbol nur zwischen den Symbolen gesendet.
  • Selbstverständlich können unterschiedliche Takttoleranzgrenzen und Datenrahmenlangen erfordern, dass eine größere Anzahl gültiger Einträge vor dem Initiieren eines Lesens des Umlaufpuffers 44 vorhanden ist. Es können z. B. drei Einträge notwendig sein, bevor eine Leseoperation initiiert wird, falls zwei Zyklusschlupfe innerhalb eines Datenrahmens möglich sind.
  • Die Anzahl der Einträge im Umlaufpuffer 44 wird in dem Fall, in dem der Empfangstakt schneller als der Sendetakt ist, außerdem vorzugsweise entsprechend der maximalen Anzahl der Zyklusschlupfe innerhalb eines Datenrahmens ausgewählt. Falls z. B. die Empfangsseite der Vermittlungsstrukturvorrichtung 20 höchstens ein zusätzliches Symbol empfangen kann, das während eines gegebenen Datenrahmens durch die Sendeseite gesendet werden kann. Im vorhergehenden Beispiel, in dem zwei gültige Einträge vor dem Ausführen einer Leseoperation erforderlich sind, sind diese zwei gültigen Einträge plus wenigstens zwei zusätzliche Einträge im Umlaufpuffer 44 notwendig, um beide Fälle abzuwickeln. In Anbetracht dessen, dass die Gesamttiefe des Umlaufpuffers 44 gemäß der bevorzugten Ausführungsform der Erfindung relativ klein ist, und in Anbetracht des maximalen Phasenschräglaufs, der zwischen den Sende- und Empfangstakten vorhanden sein kann, ist es vernünftig, wenigstens einen weiteren zusätzlichen Eintrag einzubeziehen; gemäß dieser bevorzugten Ausführungsform der Erfindung enthält deshalb der Umlaufpuffer 44 fünf Einträge.
  • In 8 und wie oben beschrieben worden ist, wird durch den auf der Empfangsseite des Taktfrequenzkompensations-FIFO 34 ausgeführten Prozess 72 beim Speichern eines Datenworts im Umlaufpuffer 44 das Gültigkeitsbit RVy gesetzt. Auf Grund des Gültigkeitsbits RVy, das dann gesetzt ist (die Entscheidung 79 lautet ja), prüft dann der Taktfrequenzkompensations-FIFO 34 in der Entscheidung 85 den Zustand des Steuerbits "warte auf 2" in der Lese-/Schreiblogik 48. Falls das Steuerbit "warte auf 2" gesetzt ist (die Entscheidung 85 ja lautet), ist der Lesevorgang nicht zu initiieren, bis der Zustand der nächsten Gültigkeitsleitung RV(y + 1), die dem nächsten Eintrag im Umlaufpuffer 44 zugeordnet ist, in der Entscheidung 81 getestet wird. Falls in 7 die nächste Gültigkeitsleitung RV(y + 1) nicht gesetzt ist (die Entscheidung 81 nein lautet), wird die Steuerung zum Prozess 80 für die Ausgabe eines weiteren Leerlaufsymbols weitergeleitet. Die Entscheidung 82 schickt ein nein zurück (weil die Gültigkeitsleitung RVy gesetzt ist, wie im Prozess 79 bestimmt wird), wobei die Steuerung zurück zur Entscheidung 79 geleitet wird, bis die Gültigkeitsleitung RV(y + 1) durch eine Instanz des Prozesses 72 auf der Empfangsseite gesetzt wird.
  • Da die Entscheidung 81 ein Ja-Ergebnis zurückschickt, was angibt, dass zwei Einträge des Umlaufpuffers 44 gültige Daten (keine Leerlaufsymboldaten) enthalten, wird dann der Prozess 84 ausgeführt, um das Steuerbit "warte auf 2" in der Lese-/Schreiblogik 48 zu löschen; dies erlaubt, dass nachfolgende Lesevorgänge fortgesetzt werden, ohne zwei gültige Wörter zu erfordern, bis alle Gültigkeitsleitungen RY gelöscht sind, wie z. B. zwischen Symbolen. Dann wird die Lesewort-Befehlsleitung RDWy im Prozess 86 durch das geeignete Ziel der Daten oder die zugeordnete Steuerschaltungsanordnung aktiviert, um das Lesen des y-ten Eintrags im Umlaufpuffer 44 beim momentanen Wert des Lesezeigers in der Lesezeiger- u. Logikeinrichtung 46R zu initiieren. Die Lese-/Schreiblogik 48 steuert dann die Lesezeiger- u. Logikeinrichtung 46R, um den entsprechenden Eintrag des Umlaufpuffers 44 im Prozess 88 zu lesen, der die Inhalte dieses Eintrags in den Multiplexer 47 eingibt, der in diesem Fall den Ausgang des Umlaufpuffers 44 für die Weiterleitung zu dem geeigneten Ziel, wie z. B. den Ringwegregistern 38, dem Token-Puffer 36 oder den Vermittlungsschnittstellen 22, auswählt, wie in 5 gezeigt ist. Außerdem dient die Aktivierung der Lesewort-Befehlsleitung RDWy im Prozess 86 außerdem dazu, den Zustand des Flipflops 62 zurückzusetzen, die Gültigkeitsleitung RVy zu löschen und durch die Synchronisationseinrichtung 58 den Zustand des Flipflops 52 zurückzusetzen und folglich die Gültigkeitsleitung WVy auf der Sendeseite des Taktfrequenzkompensations-FIFO 34 zu löschen, alles im Prozess 90. Der momentane Wert des Lesezeigers in der Lesezeiger- und Logikeinrichtung 46R wird dann im Prozess 92 inkrementiert, wobei die Steuerung zurück zur Entscheidung 79 für die Abfrage der Gültigkeit des nächsten sequentiellen Eintrags im Umlaufpuffer 44, wie er vom Sende- oder Empfangsbereich gesehen wird, geleitet wird.
  • Deshalb erscheint es vom Empfangsbereich, dass die Anzahl der gültigen Einträge im Taktfrequenzkompensations-FIFO 34 in seinem allgemeinen Betrieb zwischen drei und fünf variiert; während es vom Sendebereich erscheint, dass die Anzahl der gültigen Einträge zwischen einem und drei variiert. Dieser Unter schied in der sichtbaren Anzahl der Einträge ist auf die Verzögerungen zurückzuführen, die in jeder Instanz der Empfangs-/Sendelogik 50 durch die Synchronisationseinrichtungen 56, 58 ausgegeben werden, so dass die Gültigkeitsleitungen RV auf der Sendeseite schneller als die Gültigkeitsleitungen WV auf der Empfangsseite des Taktfrequenzkompensations-FIFO 34 gelöscht werden. In Abhängigkeit von der Phasenbeziehung zwischen den Takten im Bereich des geteilten zurückgewonnenen Taktes und des RINGCLK/2-Bereichs wird davon ausgegangen, dass der Taktfrequenzkompensations-FIFO 34 eine Latenzzeit einfügt, die von etwas weniger als zwei Taktzyklen bis zu etwas über drei Taktzyklen variieren kann; die gebrochenen Variationen sind auf die Aufbau- und Haltezeiten zurückzuführen, die für die Synchronisationseinrichtungen 56, 58 notwendig sind.
  • Gemäß der vorliegenden Erfindung wird deshalb die Kompensation der Unterschiede der Empfangs- und Sendetaktfrequenzen in einer Netzvermittlung durch die Verwendung eines Puffers mit einer sehr maßvollen Tiefe (z. B. fünf Einträge) leicht erhalten. Diese Kompensation umfasst nur einen kleinen Betrag der Latenzzeit, wie z. B. in der Größenordnung von drei Taktzyklen. Im Ergebnis kann eine hohe Datenrate über eine Ringanordnung von Netzvermittlungsstrukturen, wie sie z. B. im System 10 vorgesehen sind, erreicht werden. Außerdem ist die für die Verwirklichung des Taktkompensationsschemas erforderliche Logik relativ maßvoll, wobei sie einfach und stabil zu implementieren ist.

Claims (10)

  1. Schnittstellenschaltung für die Übermittlung empfangener Daten von einem Empfangstaktbereich in einen Sendetaktbereich, die umfasst: einen Puffer (44), der mehrere Einträge enthält und einen Eingang, der so angeschlossen ist, dass er Daten von dem Empfangstaktbereich empfängt, und einen Ausgang, um Daten in den Sendetaktbereich auszugeben, besitzt; und gekennzeichnet durch mehrere Gültigkeitslogikschaltungen (48, 50), wovon jeder ein entsprechender Eintrag der mehreren Einträge des Puffers (44) zugeordnet ist, wobei jede Gültigkeitslogikschaltung umfasst: einen Schreibgültigkeits-Signalspeicher (52) zum Steuern des Zustands einer gültigen Leitung in dem Empfangstaktbereich, wobei der Schreibgültigkeits-Signalspeicher (52) einen Setz-Eingang besitzt, der so angeschlossen ist, dass er ein Schreibanforderungssignal empfängt; einen Lesegültigkeits-Signalspeicher (62) zum Steuern des Zustands einer gültigen Leitung in dem Sendetaktbereich, wobei der Lesegültigkeits-Signalspeicher (62) einen Rücksetz-Eingang besitzt, der so angeschlossen ist, dass er ein Leseanforderungssignal empfängt; eine Rücksetzlogik zum Zurücksetzen des Schreibgültigkeits-Signalspeichers in Reaktion auf das Leseanforderungssignal; und eine Setzlogik zum Setzen des Lesegültigkeits-Signalspeichers in Reaktion auf das Schreibanforderungssignal.
  2. Schnittstellenschaltung nach Anspruch 1, die ferner umfasst: eine Schreibzeigerlogik (46W) zum Halten eines Schreibzeigers, der einen der Einträge des Puffers (44) angibt, in den ein nächstes empfangenes Datenwort von dem Empfangstaktbereich geschrieben werden soll; und einer Lesezeigerlogik (46R) zum Halten eines Lesezeigers, der einen der Einträge des Puffers (44) angibt, aus dem ein nächstes Datenwort in den Sendetaktbereich gelesen werden soll.
  3. Schnittstellenschaltung nach Anspruch 1 oder Anspruch 2, wobei die Rücksetzlogik umfasst: eine erste Flankendetektorschaltung (54) zum Erfassen eines Übergangs des Leseanforderungssignals in dem Sendetaktbereich; und eine erste Synchronisationsschaltung (56), die einen Eingang besitzt, der mit der ersten Flankendetektorschaltung (54) gekoppelt ist, um an einem mit einem Rücksetzeingang des Schreibgültigkeits-Signalspeichers gekoppelten Ausgang ein Rücksetzsignal zu erzeugen, das in dem Empfangstaktbereich synchronisiert ist.
  4. Schnittstellenschaltung nach Anspruch 3, wobei die Setzlogik umfasst: eine zweite Flankendetektorschaltung (60) zum Erfassen eines Übergangs des Schreibanforderungssignals in dem Empfangstaktbereich; und eine zweite Synchronisationsschaltung (58), die einen Eingang besitzt, der mit der zweiten Flankendetektorschaltung (60) gekoppelt ist, um an einem mit einem Setzeingang des Lesegültigkeits-Signalspeichers gekoppelten Ausgang ein Setzsignal zu erzeugen, das in dem Sendetaktbereich synchronisiert ist.
  5. Verfahren zum Übertragen von Datenwörtern von einem Empfangstaktbereich in einen Sendetaktbereich, das umfasst: Eingeben eines Datenworts in einen Eingang eines Puffers (44), der mehrere Einträge besitzt; gekennzeichnet durch die folgenden Schritte: in Reaktion auf ein einem ersten der mehreren Einträge zugeordnetes Schreibgültigkeitsbit Angeben, dass der erste der mehreren Einträge keine gültigen Daten enthält, wobei der erste der mehreren Einträge durch einen momentanen Wert eines Schreibzeigers (46W) angegeben wird; Speichern des eingegebenen Datenworts in dem ersten der mehreren Einträge; Setzen des Schreibgültigkeitsbits, das dem ersten der mehreren Einträge zugeordnet ist; Setzen eines Lesegültigkeitsbits, das dem ersten der mehreren Einträge zugeordnet ist; und in Reaktion auf ein einem zweiten der mehreren Einträge zugeordnetes Lesegültigkeitsbit Angeben, dass ein zweiter der mehreren Einträge gültige Daten enthält, wobei der zweite der mehreren Einträge durch einen momentanen Wert eines Lesezeigers (46R) angegeben wird; Lesen der Inhalte des zweiten der mehreren Einträge in dem Sendetaktbereich; Löschen des Lesegültigkeitsbits, das dem zweiten der mehreren Einträge zugeordnet ist; und Löschen eines Schreibgültigkeitsbits, das dem zweiten der mehreren Einträge zugeordnet ist.
  6. Verfahren nach Anspruch 5, das ferner umfasst: nach dem Speicherschritt Inkrementieren des Schreibzeigers (46W).
  7. Verfahren nach Anspruch 6, das ferner umfasst: nach dem Leseschritt Inkrementieren des Lesezeigers (46R).
  8. Verfahren nach Anspruch 7, das ferner umfasst: in Reaktion auf ein Lesegültigkeitsbit, das einem zweiten der mehreren Einträge zugeordnet ist, Angeben, dass der zweite der mehreren Einträge gültige Daten enthält, und Testen eines Lesegültigkeitsbits, das dem nächsten der mehreren Einträge zugeordnet ist; wobei der Leseschritt in Reaktion sowohl auf das Lesegültigkeitsbit, das einem zweiten der mehreren Einträge zugeordnet ist und angibt, dass der zweite der mehreren Einträge gültige Daten enthält, als auch auf den Testschritt, der bestimmt, dass der nächste der mehreren Einträge ebenfalls gültige Daten enthält, ausgeführt wird.
  9. Verfahren nach Anspruch 7, das ferner umfasst: Ausgeben eines Leerlaufsymbols in Reaktion auf das Lesegültigkeitsbit, das einem zweiten der mehreren Einträge zugeordnet ist und angibt, dass der zweite der mehreren Einträge keine gültigen Daten enthält.
  10. Schnittstellenschaltungsanordnung nach einem vorhergehenden Anspruch, wobei der Empfangstaktbereich eine erste Empfangs-Ringschnittstelle eines Vermittlungssystems enthält und der Sendetaktbereich eine erste Senderingschnittstelle des Vermittlungssystems enthält, wobei die Schnittstellenschaltung den Ausgang eines ersten Ringwegs enthält, dessen Eingang mit der ersten Ringempfangsschnittstelle gekoppelt ist.
DE60133685T 2000-02-29 2001-02-28 Kommunikationszwischenstelle zwischen Uhrtaktbereichen mit minimaler Latenz Expired - Lifetime DE60133685T2 (de)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US18580200P 2000-02-29 2000-02-29
US185802P 2000-02-29
US755825 2001-01-05
US09/755,825 US7027447B2 (en) 2000-02-29 2001-01-05 Communications interface between clock domains with minimal latency

Publications (2)

Publication Number Publication Date
DE60133685D1 DE60133685D1 (de) 2008-06-05
DE60133685T2 true DE60133685T2 (de) 2009-06-10

Family

ID=26881488

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60133685T Expired - Lifetime DE60133685T2 (de) 2000-02-29 2001-02-28 Kommunikationszwischenstelle zwischen Uhrtaktbereichen mit minimaler Latenz

Country Status (5)

Country Link
US (1) US7027447B2 (de)
EP (1) EP1130842B1 (de)
JP (1) JP2002044111A (de)
AT (1) ATE393508T1 (de)
DE (1) DE60133685T2 (de)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6871347B2 (en) * 2001-04-13 2005-03-22 Interland, Inc. Method and apparatus for facilitating load balancing across name servers
US7263060B1 (en) * 2001-06-28 2007-08-28 Network Appliance, Inc. Multiple switch protected architecture
US7406029B1 (en) 2001-06-28 2008-07-29 Netapp, Inc. Fault tolerant optical data communication network having auto discovery
US7068603B2 (en) * 2001-07-06 2006-06-27 Juniper Networks, Inc. Cross-bar switch
US7187689B1 (en) * 2001-10-29 2007-03-06 Juniper Networks, Inc. Self-cleaning mechanism for error recovery
JP3750612B2 (ja) * 2002-02-13 2006-03-01 日本電気株式会社 リング網におけるパケットプロテクション方法及び伝送装置並びにプログラム
US20040071199A1 (en) * 2002-07-03 2004-04-15 Commasic, Inc. Virtual finger method and apparatus for processing digital communication signals
US7567587B1 (en) * 2003-01-10 2009-07-28 Pmc-Sierra, Inc. Method and architecture for the extraction and/or insertion of SONET or SDH path overhead data streams
US7239645B2 (en) * 2003-01-21 2007-07-03 Applied Micro Circuits Corporation Method and apparatus for managing payload buffer segments in a networking device
US7730341B1 (en) * 2003-04-04 2010-06-01 Marvell Israel (M.I.S.L) Ltd. System and method for transitioning from a logical state to any other logical state by modifying a single state element
US7522517B1 (en) * 2003-11-18 2009-04-21 Sprint Communications Company Lp. Communication system with multipoint circuit bonding
KR100719360B1 (ko) * 2005-11-03 2007-05-17 삼성전자주식회사 디지털 로직 프로세싱 회로, 그것을 포함하는 데이터 처리 장치, 그것을 포함한 시스템-온 칩, 그것을 포함한 시스템, 그리고 클록 신호 게이팅 방법
US20070208980A1 (en) * 2006-01-30 2007-09-06 Peter Gregorius Method of transmitting data between different clock domains
US7248059B1 (en) * 2006-02-24 2007-07-24 Red Wing Technologies, Inc. Low power sensor
US7890684B2 (en) * 2006-08-31 2011-02-15 Standard Microsystems Corporation Two-cycle return path clocking
US7984209B1 (en) * 2006-12-12 2011-07-19 Altera Corporation Data interface methods and circuitry with reduced latency
JP4946599B2 (ja) * 2007-04-24 2012-06-06 富士通株式会社 リングノード及び冗長化方法
US8086769B2 (en) * 2008-01-17 2011-12-27 International Business Machines Corporation Method for detecting circular buffer overrun
US10268448B2 (en) * 2016-05-06 2019-04-23 Texas Instruments Incorporated Data flow control for multi-chip-select
US11196587B2 (en) 2016-11-23 2021-12-07 DeGirum Corporation Permutated ring network
US11748174B2 (en) * 2019-10-02 2023-09-05 Intel Corporation Method for arbitration and access to hardware request ring structures in a concurrent environment

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4873703A (en) * 1985-09-27 1989-10-10 Hewlett-Packard Company Synchronizing system
EP0351818B1 (de) * 1988-07-22 1998-12-02 Hitachi, Ltd. ATM-Vermittlungssystem
US5487092A (en) * 1994-12-22 1996-01-23 International Business Machines Corporation System for high-speed synchronization across clock domains
US5692137A (en) 1995-05-08 1997-11-25 Apple Computer, Inc. Master oriented bus bridge
US5884100A (en) * 1996-06-06 1999-03-16 Sun Microsystems, Inc. Low-latency, high-throughput, integrated cache coherent I/O system for a single-chip processor
US5799175A (en) * 1996-07-01 1998-08-25 Sun Microsystems, Inc. Synchronization system and method for plesiochronous signaling
US5883895A (en) * 1996-11-21 1999-03-16 Xerox Corporation Arbitration ring with automatic sizing for a partially populated switching network
US5956748A (en) * 1997-01-30 1999-09-21 Xilinx, Inc. Asynchronous, dual-port, RAM-based FIFO with bi-directional address synchronization
US6000022A (en) 1997-10-10 1999-12-07 Micron Technology, Inc. Method and apparatus for coupling signals between two circuits operating in different clock domains
US6055285A (en) * 1997-11-17 2000-04-25 Qlogic Corporation Synchronization circuit for transferring pointer between two asynchronous circuits
US6000037A (en) 1997-12-23 1999-12-07 Lsi Logic Corporation Method and apparatus for synchronizing data transfer
US6233221B1 (en) * 1998-02-20 2001-05-15 Adc Telecommunications, Inc. System and method for a ring network with virtual path connections
DE60036777T2 (de) * 2000-02-09 2008-07-24 Texas Instruments Inc., Dallas Gerät zur Signalsynchronisierung zwischen zwei Taktbereichen
US6625124B1 (en) * 2000-03-03 2003-09-23 Luminous Networks, Inc. Automatic reconfiguration of short addresses for devices in a network due to change in network topology

Also Published As

Publication number Publication date
EP1130842A2 (de) 2001-09-05
US7027447B2 (en) 2006-04-11
EP1130842A3 (de) 2005-09-14
ATE393508T1 (de) 2008-05-15
EP1130842B1 (de) 2008-04-23
US20010038633A1 (en) 2001-11-08
DE60133685D1 (de) 2008-06-05
JP2002044111A (ja) 2002-02-08

Similar Documents

Publication Publication Date Title
DE60133685T2 (de) Kommunikationszwischenstelle zwischen Uhrtaktbereichen mit minimaler Latenz
DE69923814T2 (de) Leitweglenkungschaltung einer Schaltmatrix mit hoher Geschwindigkeit und mit Flusskontrolle
DE69833708T2 (de) Kommunikationsverfahren für eine medienunabhängige Schnittstelle (MII) für ein hochintegriertes Ethernet-Netzelement
DE68926650T2 (de) Hochgeschwindigkeitspaketvermittlungsknotenentwurf
DE69214873T2 (de) Anordnung und Verfahren zum Verteilen von Taktimpulsen über ein asynchrones Ringnetz
DE69126359T2 (de) Ringübertragungssystem
DE69210243T2 (de) Kommunikationseinrichtung und bilddatenübertragungsverfahren von einem sender zu einem oder mehreren empfängern
DE3586796T2 (de) Protokoll fuer warteschlange.
DE69124596T2 (de) Kollisionsfreies Einfügen und Entfernen von durchschaltevermittelten Kanälen in einer paketvermittelnden Übertragungsstruktur
DE3586280T2 (de) Gesteuertes sternnetz.
DE69533122T2 (de) Rechnernetzwerkdurchschaltvermittlung
DE69116249T2 (de) Wiederholer
DE60024744T2 (de) Steuersystem für ein gegenläufiges Doppelringnetz
DE69026177T2 (de) Bauweise mit entkoppelten Betriebsmitteln für ein Fernmeldevermittlungssystem
DE69827124T2 (de) Bitübertragungsschichtvorrichtung mit medienunabhängiger schnittstelle zur verbindung and entweder einer mediumzugriffsteuerungseinheit oder anderer bitübertragungsschichtvorrichtungen
DE69929868T2 (de) Anordnung für Nachrichtübertragung mit verbesserten Stationen und entsprechendes Verfahren
DE112004000901T5 (de) Optisches Burst-vermitteltes Netzsystem und Verfahren mit fälligkeitsnaher Signalisierung
DE69117106T2 (de) Verfahren zum Kontrollieren der Einfügung von Stationen in einem Netzwerk mit optischen Fasern (FDDI-Netzwerk)
DE3882148T2 (de) Vermittlungskommunikationssystem.
DE60217685T2 (de) System und verfahren zum vermitteln von daten unter verwendung eines gemeinsamen koppelfeldes
EP0351014B1 (de) Koppelfeld für ein Vermittlungssystem
DE102007017835A1 (de) Paketvermittlungsvorrichtung und lokales Kommunikationsnetz mit einer solchen Paketvermittlungsvorrichtung
DE69022758T2 (de) Photonisches Nahbereich/Metropolitan-Netzwerk.
DE3280423T2 (de) Datenuebertragungssystem.
DE3850156T2 (de) Asynchrones Zeitmultiplex-Übertragungssystem.

Legal Events

Date Code Title Description
8364 No opposition during term of opposition