DE69735921T2 - Vermittlungselement für Fibre-Channel unter Verwendung von verteilten Warteschlangen - Google Patents

Vermittlungselement für Fibre-Channel unter Verwendung von verteilten Warteschlangen Download PDF

Info

Publication number
DE69735921T2
DE69735921T2 DE69735921T DE69735921T DE69735921T2 DE 69735921 T2 DE69735921 T2 DE 69735921T2 DE 69735921 T DE69735921 T DE 69735921T DE 69735921 T DE69735921 T DE 69735921T DE 69735921 T2 DE69735921 T2 DE 69735921T2
Authority
DE
Germany
Prior art keywords
port
frame
destination
source
controller
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
DE69735921T
Other languages
English (en)
Other versions
DE69735921D1 (de
Inventor
David Thornhill Book
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.)
McData Corp
Original Assignee
McData Corp
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 McData Corp filed Critical McData Corp
Publication of DE69735921D1 publication Critical patent/DE69735921D1/de
Application granted granted Critical
Publication of DE69735921T2 publication Critical patent/DE69735921T2/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
    • H04L49/00Packet switching elements
    • H04L49/60Software-defined switches
    • H04L49/608ATM switches adapted to switch variable length packets, e.g. IP packets
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/35Switches specially adapted for specific applications
    • H04L49/356Switches specially adapted for specific applications for storage area networks
    • H04L49/357Fibre channel switches
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q11/00Selecting arrangements for multiplex systems
    • H04Q11/04Selecting arrangements for multiplex systems for time-division multiplexing
    • H04Q11/0421Circuit arrangements therefor
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/10Packet switching elements characterised by the switching fabric construction
    • H04L49/103Packet switching elements characterised by the switching fabric construction using a shared central buffer; using a shared memory
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/35Switches specially adapted for specific applications
    • H04L49/351Switches specially adapted for specific applications for local area network [LAN], e.g. Ethernet switches

Description

  • GEBIET DER ERFINDUNG
  • Die vorliegende Erfindung bezieht sich auf eine Vorrichtung für verteilte Quell- und Ziel-Warteschlangenbildung bei einer auf einen Hochleistungsspeicher gestützten Vermittlung und insbesondere auf eine Faserkanal-Vermittlung mit einem Algorithmus für verteilte Warteschlangenbildung.
  • HINTERGRUND DER ERFINDUNG
  • Großrechner, Größtrechner, Massenspeichersysteme, Arbeitsplatzrechner und Anzeige-Subsysteme mit sehr hoher Auflösung werden oft miteinander verbunden, um das File- und Print-Sharing zu erleichtern. Für diese Art von Verbindungen verwendete gemeinsame Netze und Kanäle bringen häufig Kommunikationsengpässe mit sich, besonders in Fällen, in denen die Daten in einem für graphisch unterstützte Anwendungen typischen großen Dateiformat vorkommen.
  • Es gibt zwei Grundtypen von Datenkommunikationsverbindungen zwischen Prozessoren und zwischen einem Prozessor und peripheren Einheiten. Ein "Kanal" versieht eine direkte Verbindung oder Punkt-zu-Punkt-Wählverbindung zwischen kommunizierenden Vorrichtungen. Die Hauptaufgabe des Kanals besteht rein darin, mit der größtmöglichen Datenrate und der geringsten Verzögerung Daten zu transportieren. Kanäle führen im Allgemeinen eine einfache Fehlerkorrektur per Hardware aus. Ein "Netz" ist im Gegensatz dazu eine Ansammlung von verteilten Knoten (z. B. Arbeitsplatzrechnern, Massenspeichereinheiten) mit seinem eigenen Protokoll, das die Interaktion oder den Dialog zwischen diesen Knoten unterstützt. Typischerweise bewirbt sich jeder Knoten um das Übertragungsmedium, wobei jeder Knoten fähig sein muss, Fehlerzustände auf dem Netz zu erkennen, und das zum Beheben von Fehlerzuständen erforderliche Fehlermanagement bereitstellen muss.
  • Ein Kommunikationsverbindungstyp, der entwickelt worden ist, ist der Faserkanal. Das Faserkanal-Protokoll wurde als American National Standard für Information Systems (ANSI) entwickelt und angenommen. Siehe Fibre Channel Physical and Signaling Interface, Ausgabe 4.2, American National Standard für Information Systems (ANSI) (1993) für eine ausführliche Besprechung des Faserkanal-Standards. Kurz gesagt ist der Faserkanal ein Vermittlungsprotokoll, das die gleichzei tige Kommunikation unter Arbeitsplatzrechnern, Größtrechnern und verschiedenen peripheren Einheiten ermöglicht. Die durch den Faserkanal bereitgestellte Gesamt-Netzbandbreite ist in der Größenordnung von einem Terabit pro Sekunde. Der Faserkanal kann Rahmen mit Geschwindigkeiten, die 1 Gigabit pro Sekunde überschreiten, gleichzeitig in beide Richtungen übertragen. Er kann außerdem Befehle und Daten gemäß existierender Protokolle wie etwa Internet Protocol (IP), Small Computer Systems Interface (SCSI), High Performance Parallel Interface (HIPPI) und Intelligent Peripheral Interface (IPI) sowohl über Glasfaser- als auch über Kupferkabel transportieren.
  • 1 zeigt einen Rahmen 11 variabler Länge, wie er durch den Faserkanal-Standard beschrieben ist. Der Rahmen 11 variabler Länge umfasst einen 4-Byte-Rahmenbeginn-(SOF)-Indikator 122, der eine bestimmte Binärfolge ist, die für den Beginn des Rahmens 11 kennzeichnend ist. Dem SOF-Indikator 12 folgt ein 24-Byte-Kopfsatz 14, der im Allgemeinen unter anderem die Rahmen-Quelladresse und Rahmen-Zieladresse spezifiziert und außerdem spezifiziert, ob der Rahmen 11 Steuerinformationen oder eigentliche Daten beinhaltet. Dem Kopfsatz 14 folgt ein Feld von Daten 16 variabler Länge. Die Länge der Daten 16 beträgt 0 bis 2112 Bytes. Den Daten 16 folgen nacheinander ein 4-Byte-CRC-Code (Code für zyklische Redundanzprüfung) 17 für die Fehlererkennung und ein 4-Byte-Rahmende-(EOF)-Indikator 18. Der Rahmen 11 von 1 ist viel flexibler als ein fester Rahmen und bewirkt, indem er sich den spezifischen Bedürfnissen spezifischer Anwendungen anpasst, eine höhere Leistung.
  • 2 zeigt einen Blockschaltplan einer repräsentativen Faserkanal-Architektur in einem Faserkanal-Netz 100. Ein Arbeitsplatzrechner 120, ein Großrechner 122 und ein Größtrechner 124 sind über eine Faserkanal-Konfiguration 110 (d. h. eine Faserkanal-Vermittlung) mit verschiedenen Subsystemen (z. B. einem Band-Subsystem 126 und einem Anzeige-Subsystem 130) verbunden. Die Konfiguration 110 ist eine Entität, die verschiedene Knotenports (N_ports) 140 und ihre zugeordneten Arbeitsplatzrechner, Großrechner und peripheren Einheiten, die über die F_ports 142 an die Konfiguration 110 angebunden sind, verbindet. Die Hauptfunktion der Konfiguration 110 ist es, Datenrahmen von einem Quell-N_port zu empfangen und die Rahmen mittels eines ersten Protokolls zu einem Ziel-N_port zu leiten. Bei einer bevorzugten Ausführungsform ist das erste Protokoll das Faserkanal-Protokoll. Es könnten, ohne vom Umfang der vorliegenden Erfindung abzuweichen, andere Protokolle wie etwa der asynchrone Transfermodus (ATM) verwendet werden.
  • Der Faserkanal ist im Wesentlichen ein Kanalnetzhybrid, der hinreichend Netzmerkmale aufweist, um die erforderliche Konnektivität und Distanz- und Protokollmultiplexierung bereitzustellen, und hinreichend Kanalmerkmale aufweist, um Einfachheit, wiederholbare Leistung und zuverlässige Zuführung zu bewahren. Der Faserkanal ermöglicht ein aktives, intelligentes Verbindungsschema, das als "Konfiguration" (fabric) oder Faserkanal-Vermittlung zum Verbinden von Vorrichtungen bekannt ist. Die Konfiguration umfasst mehrere Konfigurationsports (F_ports), die für die Zusammenschaltung und Rahmenübertragung zwischen mehreren Knotenports (N_ports) sorgen, die an zugeordnete Vorrichtungen angebunden sind, die Arbeitsplatzrechner, Größtrechner und/oder periphere Einheiten umfassen können. Die Konfiguration besitzt die Fähigkeit, Rahmen anhand von in den Rahmen enthaltenen Informationen zu leiten. Der N_port managt die einfache Punkt-zu-Punkt-Verbindung zwischen sich selbst und der Konfiguration. Der N_port-Typ und die zugeordnete Vorrichtung schreiben die Geschwindigkeit, mit der der N_port Daten an die Konfiguration überträgt und von dieser empfängt, vor. Die Übertragung ist von dem Steuerprotokoll unabhängig, so dass verschiedene Topologien (z. B. Punkt-zu-Punkt-Verbindungen, Ringe, Mehrpunktbusse, Koppelpunktschalter) implementiert werden können.
  • Der Faserkanal-Industriestandard sieht außerdem mehrere Arten von Datenübertragungen vor. Eine Klasse-1-Übertragung erfordert eine Leitungsvermittlung, d. h. einen durch die Netzvermittlung reservierten Datenpfad und beinhaltet im Allgemeinen die Übertragung von mehr als einem Rahmen, häufig von zahlreichen Rahmen, zwischen zwei identifizierten Netzelementen. Umgekehrt erfordert eine Klasse-2-Übertragung eine Zuweisung eines Pfads durch die Netzvermittlung für jede Übertragung eines einzelnen Rahmens von einem Netzelement zum anderen.
  • Die Rahmenvermittlung für Klasse-2-Übertragungen ist schwieriger zu implementieren als die Klasse-1-Leitungsvermittlung, da eine Rahmenvermittlung einen Speichermechanismus für das temporäre Speichern ankommender Rahmen in einer Quellwarteschlange, bevor sie zu einem Zielport oder einer Zielwarteschlange an einem Zielport geleitet werden, erfordert. Ein Speichermechanismus umfasst typischerweise mehrere Eingabe/Ausgabe-(E/A)-Verbindungen mit einer zugeordneten Unterstützungsschaltungsanordnung und Warteschlangenlogik. Zu sätzlicher Umfang und zusätzliche Hardware sind erforderlich, wenn Kanäle, die mit unterschiedlichen Bitraten Daten transportieren, miteinander zu verbinden sind.
  • Es ist bekannt, eine zentralisierte Warteschlangenbildung zu verbinden, die von Natur aus langsam ist, da für alle Routing-Entscheidungen innerhalb der Vermittlung ein gemeinsamer Logikblock verwendet werden muss.
  • Es ist außerdem bekannt, eine verteilte Quell-Warteschlangenbildung zu verwenden, die offensichtliche Nachteile besitzt, wenn der Rahmen am Kopf der Warteschlange für einen Port vorgesehen ist, der bereits einen Rahmen befördert, so dass der Pfad blockiert ist und der Rahmen nicht übertragen werden kann. Alternativ ist bekannt, eine verteilte Ziel-Warteschlangenbildung zu verwenden, die den offensichtlichen Nachteil einer großen Zielwarteschlange an jedem Port besitzt, da möglicherweise sämtliche Rahmen in der Vermittlung gleichzeitig an demselben Zielport in eine Warteschlange eingereiht werden.
  • Ein weiterer Nachteil der verteilten Ziel-Warteschlangenbildung wird deutlich, wenn der Rahmen am Ende des Kopfs der Warteschlange von einem Port stammt, der bereits einen Rahmen befördert, so dass der Pfad blockiert ist und der Rahmen nicht übertragen werden kann.
  • Somit besteht in der Industrie ein Bedarf, dem bisher nicht entsprochen wurde, an neuartigen und verbesserten Systemen zum Implementieren des Faserkanal-Industriestandards für Klasse-2-Übertragungen über Faseroptiknetze mit viel höherer Leistung und größerer Flexibilität als bei gegenwärtig vorkommenden Systemen. Insbesondere besteht ein großer Bedarf an einem Verfahren und einer Vorrichtung, die die Quell-Warteschlangenbildung mit der Ziel-Warteschlangenbildung bei einer sich auf einen Hochleistungsspeicher stützenden Vermittlung kombinieren.
  • Ein Bedarf besteht außerdem, verteilte Warteschlangen zwischen den Quell- und Zielports zu implementieren, was geringere Warteschlangen-Speicherbetriebsmittel bei der Quell-Warteschlangenbildung erfordert, jedoch zu einem höheren Durchsatz bei der Ziel-Warteschlangenbildung führt und sowohl bei der Quell- als auch der Ziel-Warteschlangenbildung das "Zeilenkopf"-Blockieren vermeidet.
  • Es wäre wünschenswert und von großem Vorteil, eine Faserkanal-Vermittlung, die für eine effiziente Übertragung von Warteschlangenbildungsinformationen zwischen Faserkanal-Ports sorgt, zu schaffen, vor allem dann, wenn die neuartige Vermittlung eine Verbesserung in einem der folgenden Bereiche bewirkt: vergrößerte Bandbreite, verringerte Leerlauflatenz und erhöhter Durchsatz unter Last (infolge der Parallelität der verteilten Warteschlangenbildung).
  • Aus dem Obigen wird deutlich, dass noch immer ein Bedarf an einer speicherbasierten Vermittlung mit hoher Bandbreite besteht, die eine verteilte Warteschlangenbildung verwendet, die sich von jener, die in gegenwärtigen zentralisierten Faserkanal-Vermittlungsarchitekturen verwendet wird, unterscheidet.
  • In Übereinstimmung mit der Erfindung ist eine Faserkanal-Vermittlung zum Verbinden mehrerer Vorrichtungen miteinander geschaffen, wobei jede Vorrichtung einen Knotenport besitzt, derart, dass Datenrahmen, die von einem Quellport ausgehen, der einen Quellknotenport besitzt, über die Faserkanal-Vermittlung an eine Zielvorrichtung, die einen Zielknotenport besitzt, übertragen werden können, wobei die Faserkanal-Vermittlung umfasst: mehrere Konfigurationsports, wobei jeder Konfigurationsport mit einer anderen Vorrichtung über entsprechende Quell- oder Zielknotenports gekoppelt ist, mehrere Port-Controller, wobei sich jeder Port-Controller bei einem anderen Konfigurationsport befindet, einen gemeinsam benutzten Bitscheiben-Speicher, der einen gemeinsamen Speicherpuffer-Verbund besitzt; dadurch gekennzeichnet, dass jeder Port-Controller ferner einen Algorithmus für eine verteilte Quell- und Ziel-Warteschlangenbildung umfasst, um Rahmen, die von einer Vorrichtung oder ihm selbst ausgehen oder für diese oder ihn selbst bestimmt sind, in einer Warteschlange einzureihen, indem Warteschlangen von Pufferdeskriptoren von Rahmen, die in die Speicherpuffer eingegeben worden sind, gehalten werden, wobei Pufferdeskriptoren zwischen Port-Controllern bewegt werden, um Rahmen zu übertragen, und wobei die Faserkanal-Vermittlung ferner umfasst: ein Steuernetz für den Austausch von Taktgebungs- und Ziel-Befehlen zwischen Port-Controllern, die ihnen entsprechen, wenn und wo Rahmenübertragungen zwischen Port-Controllern zu und von dem gemeinsam genutzten Speicher auszuführen sind, und einen Controller für den gemeinsam genutzten Speicher, der mit jedem Port-Controller gekoppelt ist, um aus Rahmendaten Bitscheiben zu bilden, wobei Speicheradressen zwischen den Port-Controllern und dem gemeinsam genutzten Speicher übertragen werden, wobei Rahmendaten und Zieladressen zu und von dem gemeinsam genutzten Speicher über tragen werden, wobei der gemeinsame Speicherpufferverbund mit den Konfigurationsports über den Controller für den gemeinsam genutzten Speicher gekoppelt ist, wobei jeder Konfigurationsport direkt auf den gemeinsam genutzten Speicher zugreifen kann.
  • Vorzugsweise ist der gemeinsam genutzte Bitscheiben-Speicher bis zu einem Grad n in Bitscheiben unterteilt und der gemeinsame Verbund gemeinsam genutzter Speicher aus n Blöcken eines gemeinsamen Speichers konstruiert, wovon jeder eine Speicherbandbreite mb besitzt, die gegeben ist durch: mb = (2 × b × p)/n, wobei b gleich der Datenbandbreite eines einzelnen Konfigurationsports ist, p gleich der Anzahl der Konfigurationsports ist und n den Grad der Bitscheibenbildung repräsentiert.
  • Somit ist eine Faserkanal-Vermittlung geschaffen, die eine verteilte Quell- und Ziel-Warteschlangenbildung zum Verbinden mehrerer Vorrichtungen (Arbeitsplatzrechner, Größtrechner, periphere Einheiten) miteinander durch ihre zugeordneten Knotenports (N_ports) verwendet. Die Faserkanal-Vermittlung sieht eine Konfiguration mit einem gemeinsam genutzten Speicher vor, der über einen Bitscheiben-Speicher-Controller, über den Speicheradressen, Rahmendaten und Kommunikationsbefehle übertragen werden, mit mehreren Konfigurationsports (F_ports) gekoppelt ist. Jeder F_port umfasst einen Port-Controller, der einen Algorithmus für die verteilte Warteschlangenbildung verwendet, der einem Steuernetz zum Übermitteln von Befehlen zwischen den Ports zugeordnet ist, die darauf bezogen sind, wann und wo Rahmenübertragungen ausgeführt werden. Der Bitscheiben-Speicher-Controller bildet ein unabhängiges Datennetz für den Zugriff auf den gemeinsam genutzten Speicher, so dass in Reaktion auf Port-Controller-Befehle Rahmen zu und von dem gemeinsam genutzten Speicher übertragen werden können.
  • Jeder Port-Controller kann ferner einen Verbindungsstrecken-Controller (LC), um die optische Schnittstelle mit dem N_port zu steuern, einen Rahmenübertragungs-Controller (FTC), um Daten zwischen dem LC und dem gemeinsam genutzten Speicher zu empfangen und zu senden, einen Adressenvalidierungs-/Adressenübersetzungs-Controller (AVTC), um Rahmenkopfsatzinformationen zu erhalten und um Zielport-Nummern, Puffernummern und Zeitüberlaufwerte zu erzeugen, sowie eine Schreibeinrichtung und eine Leseeinrichtung, die gemeinsam die verteilte Quelle/Ziel-Warteschlangenbildung implementieren, eine Synchronisa tionseinrichtung (sync), um Port-Zustandsübergänge und die Aktivitäten der Leseeinrichtung und der Schreibeinrichtung zu synchronisieren, einen Statistik-Controller (SC) zum Zählen der Statistiken und einen Port-Kommunikations-Controller (PCC), der die Kommunikation der Port-Controller freigibt, umfassen.
  • Weitere Aspekte und Vorteile der vorliegenden Erfindung werden deutlich aus der folgenden genauen Beschreibung, in Verbindung genommen mit der begleitenden Zeichnung, die die Prinzipien der Erfindung beispielhaft aufzeigt.
  • KURZBESCHREIBUNG DER ZEICHNUNG
  • 1 ist eine schematische Darstellung eines Rahmens variabler Länge, der durch eine Faseroptik-Vermittlung eines Faseroptik-Netzes gemäß dem Faserkanal-Industriestandard übermittelt wird.
  • 2 zeigt einen Blockschaltplan einer repräsentativen Faserkanal-Architektur;
  • 3 zeigt einen Blockschaltplan einer Faserkanal-Vermittlung gemäß der vorliegenden Erfindung.
  • 4 zeigt einen Blockschaltplan eines Port-Controllers, der in der in 3 gezeigten Faserkanal-Vermittlung angeordnet ist.
  • 5 zeigt die Datenorganisation für einen Bitscheiben-Speicher gemäß der Erfindung, wie sie bei einer vereinfachten Vier-Port-Faserkanal-Vermittlung konkretisiert ist.
  • GENAUE BESCHREIBUNG DER BEVORZUGTEN AUSFÜHRUNGSFORMEN
  • Kurz gesagt schafft die vorliegende Erfindung eine Faserkanal-Vermittlung, die sich auf einen Algorithmus für die verteilte Warteschlangenbildung stützt, um mehrere Vorrichtungen über ihre zugeordneten Knotenports (N_ports) miteinander zu verbinden. Die Faserkanal-Vermittlung sieht eine Konfiguration mit einem gemeinsam genutzten Speicher vor, der über einen Controller für den gemeinsam genutzten Bitscheiben-Speicher, über den Speicheradressen und Rahmendaten überfragen werden, mit mehreren Konfigurationsports (F_ports) gekoppelt ist. Die Faserkanal-Vermittlung überstützt sowohl leitungs- als auch rahmenvermittelte Verbindungen für Mehrfach-Baud-Rate-Schnittstellen vor.
  • 3 zeigt einen Blockschaltplan einer Faserkanal-Vermittlung 300 mit achtzehn Ports 305, die mit Port 1 bis Port 18 nummeriert sind (nur Port 1, Port 2, Port 17 und Port 18 sind gezeigt) und mit einem gemeinsam genutzten 512-kB-Speicher 330 über einen Bitscheiben-Speicher-Controller 340 gekoppelt sind. Jeder der achtzehn Ports 305 umfasst einen Port-Controller 310, der Speicheradressen-(ADD)-Leitungen 312 zum Übertragen von Speicheradressen sowie Rx-Leitungen 313 zum Übertragen von Rahmendaten zu dem Bitscheiben-Speicher-Controller 340 und Tx-Leitungen 314 zum Empfangen von Rahmendaten von dem Bitscheiben-Speicher-Controller 340 besitzt, und einen OLM/GLC-Media-Adapter 315 für den Anschluss an den Faserkanal.
  • Eine Bitscheiben-Speicherarchitektur ist in dem US-Patent Nr. 5 603 064 mit dem Titel "Channel Module for a Fibre Optic Switch with Bit Sliced Memory Architecture for Date Frame Strorage" an Dwayne Bennett offenbart. Die in US 5 603 064 offenbarte Speicherarchitektur lehrt lediglich das Bilden von Bitscheiben aus Rx-Rahmendaten. Die bevorzugte Ausführungsform der Erfindung verwendet das Bilden von Bitscheiben sowohl aus Rx-Rahmendaten als auch aus Tx-Rahmendaten. Dadurch kann der gemeinsam genutzte Speicher 330 nicht nur für die Datenrahmenspeicherung, sondern auch für die Multiplexierungsfunktion, die durch den Bitscheiben-Speicher-Controller 340 erfüllt wird, verwendet werden.
  • Ein unabhängiger Kommunikationsbefehlsbus 316 sorgt für die Verbindungen zwischen den achtzehn Controllern 310 untereinander und wird verwendet, um Kommunikationsbefehle, die auf die Taktgebung und Zielfestlegung von Rahmenübertragungen bezogen sind, zu senden. Die Vermittlung 300 umfasst außerdem einen einzelnen Non-core-Port-Controller 325, der über einen Mikrocontrollerbus 327 mit jedem Port-Controller 310 verbunden ist.
  • 4 zeigt einen Blockschaltplan eines in 3 gezeigten Port-Controllers 310, der einen Verbindungsstrecken-Controller (LC) 410, einen Rahmenübertragungs-Controller (FTC) 420, einen Adressenvalidierungs-/Adressenübersetzungs-Controller (AVTC) 430, eine Schreibeinrichtung 440 und eine Leseeinrichtung 450, eine Synchronisationseinrichtung (sync) 460, einen Statistik-Controller (SC) 470 und einen Port-Kommunikations-Controller (PCC) 480 umfasst.
  • Der Verbindungsstrecken-Controller 410 umfasst ferner einen Steuerprozesor für OLC-Steuerung (lock-to-ref, loopback control usw.), einen elastischen Speicher, eine 8B/10B-Umsetzung, eine Arbeitssynchronisierung (work synchronization), das Codieren/Decodieren einer geordneten Menge (ordered set encoding/decoding), eine Port-Zustandsmaschine (Protokoll für offline zu online), die CRC-Erzeugung und CRC-Prüfung sowie die Rahmenvalidierung.
  • Der FTC 420 ist eine Schnittstelle zum Empfangen und Senden von Daten zwischen dem LC 410 und dem Controller 340 für den gemeinsam genutzten Speicher. Beim Empfangen von Daten von dem LC 410 schickt der FTC 420 die Speicheradresse und die Daten zu dem Controller 340 für den gemeinsam genutzten Speicher. Die Speicheradresse basiert auf den verfügbaren Quellpuffern. Der FTC 420 teilt der Schreibeinrichtung 440 über den Adressenvalidierungs-/Adressenübersetzungs-Controller (AVTC) 430 mit, an welchem Zielport und in welchen Empfangspuffer der Rahmen eingegeben worden ist, damit der bezeichnete Empfangspuffer so lange nicht verwendet wird, bis ihr die Leseeinrichtung 450 sagt, dass sie den Empfangspuffer reklamieren soll. Beim Senden von Daten erlangt der FTC 420 eine (vom Steuernetz ausgehende) Nachricht von der Leseeinrichtung 450 (über den Port-Kommunikations-Controller 480), dass der Rahmen aus dem gemeinsam genutzten Speicher 330 abzuholen und über den LC 410 und den OLC 315 an den Ziel-F_port zu senden ist. Der FTC 420 ermittelt die Speicheradresse des Quellports und die in der Nachricht von der Leseeinrichtung 450 enthaltene Puffernummer. Wenn der FTC 420 das EOF zu dem LC 410 weiterleitet, signalisiert er der Leseeinrichtung 450, anzugeben, dass die Übertragung abgeschlossen ist.
  • Der AVTC 430 erlangt von dem FTC 420 Rahmenkopfsatzinformationen von ankommenden Rahmen. Die Rahmenkopfsatzinformationen umfassen: den SOF, die Rahmenkopfsatzworte 1 und 2 und die Puffernummer. Der AVTC 430 erzeugt außerdem die folgenden Ausgaben an die Schreibeinrichtung 440: eine Zielport-Nummer, eine Puffernummer, einen Vorwärts-Rahmen-Zeitüberlaufwert und ein Belegt-Rahmen-Zeitüberlaufwert sowie ein Flag, das angibt, ob der Rahmen weiterzuleiten oder zurückzuweisen/zu verwerfen ist. Die Schreibeinrichtung 440 und die Leseeinrichtung 450 jedes Port-Controllers in der Vermittlung implementieren gemeinsam die verteilte Quell- und Ziel-Warteschlangenbildung. Jeder Quellport unterhält eine eigene Warteschlange für jeden Zielport, wobei jede Warteschlange nur Rahmen, die von jenem bestimmten Quellport empfangen worden sind, enthält, was zu einer eigenen Warteschlange für jede Quellport/Zielport-Kombination in der Vermittlung führt. Die Warteschlangen sind verteilt, weil jeder Quellport den Pufferdeskriptor in dem Kopf seiner Zielwarteschlangen an den Zielport weiterleitet, bevor der Quellport wirklich zum Befördern des Rahmens bereit ist. Somit kennt der Zielport den nächsten Rahmen, den jeder der Quellports als nächstes an ihn weiterleiten will.
  • Wenn der Zielport mit dem Weiterleiten eines Rahmens von einem bestimmten Quellport beginnt, fordert der Zielport den nächsten Pufferdeskriptor in der Quellport-Warteschlange an. In Abhängigkeit von der Latenz der Anforderung und der Antwort zwischen den zwei Port-Controllern und der Länge des zu sendenden Rahmens erlangt der Zielport den nächsten Pufferdeskriptor vor dem Abschluss der Übertragung des momentanen Rahmens oder angenähert gleichzeitig. Durch Überlappen dieser zwei Operationen kann eine sehr hohe Rate einer beibehaltenen Bandbreite zwischen zwei Ports, die Rahmen zwischen sich hin und her schicken, aufrechterhalten werden. Wenn der Zielport das Abgehen des EOF-Befehls erkannt hat, sendet er eine Nachricht an den Quellport, um ihm mitzuteilen, dass er den Quellpuffer freigeben und einen Empfangsbereitschafts-(RRDY)-Befehl senden soll.
  • Ein Quellenblockieren tritt bei einer Architektur mit gemeinsam genutztem Speicher nicht ein, da der Zielport einen Puffer irgendeines Quellports frei wählen kann. Der Zielport kann daher die Verwendung eines Weiterleitungs-Prioritätsschemas nach eigenem Wunsch frei wählen. Zugunsten der Fairness wird ein einfaches Reigen- oder Round-Robin-Schema verwendet. Alternativ kann ein Prioritätsschema verwendet werden, das einem bestimmten Quellport eine höhere Priorität verschafft, oder es kann der Verkehr von einem Quellport, der den Zielport mit Rahmen überflutet, (d. h. ein Klasse-3-Verkehr, der nicht durch eine durchgehende Flussregelung getaktet wird) getaktet oder im Tempo bestimmt werden, indem er, beispielsweise auf Grundlage der Verkehrshistorie, weniger häufig als die anderen Ports bedient wird. Die Quelle setzt Prioritäten für die Rahmen an jeden Zielport auf Grundlage des Rahmentyps. Beispielsweise kann nach dem einfachen Schema "wer zuerst kommt, malt zuerst" Verbindungsstreckensteuerungsrahmen eine höhere Priorität verliehen werden als Datenrahmen.
  • Beim Weiterleiten eines Pufferdeskriptors zu dem Zielport muss sich der Quellport-Controller an den Rahmen erinnern. Insbesondere muss ein Belegt-Rahmen- Signal zu dem Quell-N_port zurückgeschickt werden oder der Rahmen verworfen werden, falls dieser nicht innerhalb einer festgelegten Zeit aus dem Zielport heraus befördert werden kann. Bei der bevorzugten Ausführungsform der Erfindung besitzt der Quellport die Verantwortung für die Taktgebung oder das zeitliche Steuern des Rahmens mit dem Weiterleiten des Pufferdeskriptors. Alternativ kann der Zielport die Verantwortung für das zeitliche Steuern des Rahmens haben und eine Anforderung an den Quellport senden, damit dieser ein Belegt-Rahmen-Signal zurückschickt, wenn der Zeitgeber abläuft. Der Quellport kann ein Zurücksetzen der Verbindungsstrecke (link reset) erfahren, was erfordert, dass die Inhalte des Puffers verworfen werden. Der Quellport muss daher noch immer in der Lage sein, den Zielport vom Senden des Rahmens abzuhalten, wobei eine gleich geartete Bedingung zwischen einem Zielport, der einen Rahmen senden will, und einem Quellport, der dem Zielport mitteilt, dass er nicht senden soll, gegeben ist. Der Quellport behält die Verantwortung für das zeitliche Steuern des Rahmens, da er den Rahmen zeitlich steuern muss, bis der Quellport-Pufferdeskriptor diesen zum Kopf der Warteschlange macht und er zum Zielport weitergeleitet wird.
  • Wenn ein Port offline geht, entsteht eine Zeitperiode, während der die Vermittlungshardware Rahmen eigenständig zurückweisen muss, bis die Adressenvalidierungstabellen per Software aktualisiert worden sind. Anstatt zu fordern, dass ein Quellport-Controller den Portzustand aller anderen Ports kennt, werden Rahmen weiterhin durch den Port-Controller des sich offline befindenden Ports angefordert, wobei er auf einen Pufferdeskriptor von der Quelle mit einer Zurückweisungsnachricht reagiert. Dies gilt auch für Rahmen, die an einen Port gesendet werden, der sich in der Verbindungswiederherstellung befindet.
  • Die in dem FTC-Abschnitt des Port-Controllers erforderliche Menge an Logik ist kleiner, da der Quellport keine Belegt- und Zurückweisungs-Rahmen-Befehle erzeugen muss. Stattdessen wird der Pufferdeskriptor des Rahmens, der als belegt oder verworfen gekennzeichnet ist, in die Warteschlange eines "Non-core"-Port-Controllers 325 (3) eingereiht, der einen eingebetteten Prozessor 326 besitzt. Zum Bearbeiten des Rahmenkopfsatzes und zum Schicken des Rahmens aus der Warteschlange zurück zu dem ursprünglichen Quellport wird Software eingesetzt. Während der ursprüngliche Rahmen in die Warteschlange des "Non-core"-Port-Controllers 325 eingereiht wird, setzt die Quelle mit dem zeitlichen Steuern des Rahmens fort. Wenn der Rahmen nicht in einer vorgegebenen Zeitperiode wei tergeleitet wird, setzt der Quellport eine Anforderung an den "Non-core"-Port-Controller ab, damit dieser den ursprünglichen Rahmen nicht an den Prozessor weiterleitet. Falls der Rahmen dem Prozessor nicht gegeben wird und der Zurückweisungs-/Belegt-Rahmen aus der Warteschlange zurück zu der Quelle geschickt wird, muss der "Non-core"-Port-Controller den Rahmen zeitlich steuern und falls erforderlich verwerfen. Bei der bevorzugten Ausführungsform sollte der Zeitgeber in dem "Non-core"-Port-Controller 325 die Zeit zwischen dem ersten Einreihen des Rahmens in dessen Warteschlange und dem Zeitpunkt, zu dem er diesem tatsächlich zugeführt wird, berücksichtigen. Die zu dem "Non-core"-Port-Controller 325 weitergeleiteten Pufferinformationen enthalten einen Zeitstempel. Der Prozessor versieht die Rahmen beim Empfang mit Zeitstempeln, damit ein Zeitüberlaufwert berechnet werden kann, der sicherstellt, dass der Rahmen im schlimmsten Fall innerhalb R A TOV verworfen werden kann.
  • Zum Synchronisieren von Port-Zustandsübergängen und Aktivitäten der Leseeinrichtung 450 und der Schreibeinrichtung 440 wird eine Synchronisationseinrichtung (sync) 460 verwendet. Wenn beispielsweise ein Port in die Verbindungswiederherstellung geht, verhindert die Synchronisationseinrichtung 460, dass der Verbindungsstrecken-Controller 410 die Verbindungsstrecke wieder als aktiv annimmt, solange die Schreibeinrichtung nicht sämtliche Quellpuffer entweder durch Verwerfen der Rahmen oder Abwarten, bis ein Ziel die Übertragung eines Rahmens abgeschlossen hat, freigegeben hat. Die Synchronisationseinrichtung 460 wartet auch ab, dass die Leseeinrichtung erkannt hat, dass der Port nicht länger aktiv ist, und bricht den momentanen Sendevorgang ab, oder wartet ab, bis dieser beendet ist. Die Synchronisationseinrichtung 460 tut grundsätzlich dasselbe, wenn der Port offline oder in einen Verbindungsfehler geht, jedoch muss sie ebenso abwarten, dass die Software ihr mitteilt, dass sich der Port bei der Konfiguration abgemeldet hat, bevor zugelassen wird, dass der Verbindungsstrecken-Controller 410 die Verbindungsstrecke wieder als online annimmt.
  • Der Statistik-Controller (SC) 470 ist zwischen der Leseeinrichtung/Schreibeinrichtung und dem LC/FTC angeordnet, damit er eine Statistik erstellen und Informationen hindurch lassen kann, wobei der SC 470 beispielsweise dann, wenn die Schreibeinrichtung 440 einen Puffer freigibt, dem FTC 420 mitteilt, dass der Pufferraum verfügbar ist, und außerdem dem LC 410 mitteilt, dass er ein Empfangsbereitschafts-(RRDY) Signal senden soll. Wenn die Leseeinrichtung 450 entscheidet, dass ein Rahmen weitergeleitet werden kann, werden dem SC 470 die Quellport- und Puffernummerinformationen angegeben, was ihn in die Lage versetzt, die gesendeten Rahmen auf Zielport-Basis zu zählen, wobei er die Informationen auch an den Rahmenübertragungs-Controller weiterleitet, damit dieser die Adresse des gemeinsam genutzten Speichers für die Rahmendaten berechnet. Die SC-470-Verbindung mit dem FTC 420 und dem LC 410 würde es falls erforderlich auch ermöglichen, eine Faserkanal-Klasse-1-Fehler- und Wort-Statistik zu erstellen.
  • Der Port-Kommunikations-Controller (PCC) 480 ermöglicht eine Kommunikation von Port-Controllern 310 untereinander. Genauer kommunizieren die Schreibeinrichtungen 440 mit den Leseeinrichtungen 450 und umgekehrt, jedoch kommunizieren weder die Leseeinrichtungen 450 noch die Schreibeinrichtungen 440 untereinander. Jeder Port-Controller 310 besitzt eine einzige serielle Ausgangsleitung, die mit sämtlichen Ports (einschließlich ihm selbst, damit ein N_port Rahmen an sich selbst schicken kann) verbunden ist. Bei einer 18-Port-Vermittlung besitzt jeder Port-Controller einen seriellen Ausgang und 18 serielle Eingänge. Nachrichten müssen die Nummer des vorgesehen Zielports enthalten, damit die Zielports Nachrichten ignorieren können, die nicht an sie adressiert sind. Die Quellportnummer muss nicht enthalten sein; sie ist basierend darauf, an welchem seriellen Eingang die Nachricht empfangen wurde, implizit. Die seriellen Leitungen würden mit 26 oder 53 Hz getaktet.
  • 5 zeigt eine Datenorganisation für einen Bitscheiben-Speicher gemäß der Erfindung, wie sie in einer vereinfachten Vier-Port-Faserkanal-Vermittlung konkretisiert ist. B0 bis B7 geben die über acht Taktzyklen gesammelten Bytes 0 bis 7 an. Die Nummern in den Speicherplätzen geben Bitpositionen an. Ein Schreiben in einen Speicherplatz ist sechzehn Bits breit (acht Zweibit-Scheiben von acht Bytes sind verkettet), wobei alle vier Speicher gleichzeitig beschrieben werden. Jeder Lesezyklus liefert, gelenkt durch einen Controller für den gemeinsam genutzten Speicher, acht Bytes, die einem bestimmten Port entsprechen.
  • Obwohl die Erfindung mit Bezug auf spezifische Ausführungsformen, die vier Ports und einen gemeinsam genutzten 512-kB-Speicher verwenden, beschrieben und gezeigt worden ist, ist Fachleuten auf dem Gebiet klar, dass Abwandlungen und Veränderungen so vorgenommen werden können, dass die Erfindung auf eine größere Anzahl von Ports und einen größeren Speicher gleichfalls anwendbar ist.

Claims (17)

  1. Faserkanal-Vermittlung zum Verbinden mehrerer Vorrichtungen (120, 122, 124) miteinander, wobei jede Vorrichtung einen Knotenport (140) besitzt, derart, dass Datenrahmen, die von einem Quellport ausgehen, der einen Quellknotenport besitzt, über die Faserkanal-Vermittlung an eine Zielvorrichtung, die einen Zielknotenport besitzt, übertragen werden können, wobei die Faserkanal-Vermittlung umfasst: mehrere Konfigurationsports (142), wobei jeder Konfigurationsport (142) mit einer anderen Vorrichtung (120, 122, 124) über entsprechende Quell- oder Zielknotenports gekoppelt ist; mehrere Port-Controller (310), wobei sich jeder Port-Controller bei einem anderen Konfigurationsport (142) befindet, einen gemeinsam benutzten Bitscheiben-Speicher (330), der einen gemeinsamen Speicherpuffer-Verbund besitzt; dadurch gekennzeichnet, dass jeder Port-Controller ferner einen Algorithmus für eine verteilte Quell- und Ziel-Warteschlangenbildung umfasst, um Rahmen, die von einer Vorrichtung oder ihm selbst ausgehen oder für diese oder ihn selbst bestimmt sind, in einer Warteschlange einzureihen, indem Warteschlangen von Pufferdeskriptoren von Rahmen, die in die Speicherpuffer eingegeben worden sind, gehalten werden, wobei Pufferdeskriptoren zwischen Port-Controllern bewegt werden, um Rahmen zu übertragen, und wobei die Faserkanal-Vermittlung ferner umfasst: ein Steuernetz für den Austausch von Taktgebungs- und Ziel-Befehlen zwischen Port-Controllern (310), die ihnen entsprechen, wenn und wo Rahmenübertragungen zwischen Port-Controllern zu und von dem gemeinsam genutzten Speicher auszuführen sind, und einen Controller (340) für den gemeinsam genutzten Speicher, der mit jedem Port-Controller (310) gekoppelt ist, um aus Rahmendaten Bitscheiben zu bilden, wobei Speicheradressen zwischen den Port-Controllern (310) und dem gemeinsam genutzten Speicher (330) übertragen werden, wobei Rahmendaten und Zieladressen zu und von dem gemeinsam genutzten Speicher (330) übertragen werden, wobei der gemeinsame Speicherpufferverbund (330) mit den Konfigurationsports (142) über den Controller (340) für den gemeinsam genutzten Speicher gekoppelt sind, wobei jeder Konfigurationsport (142) direkt auf den gemeinsam genutzten Speicher (330) zugreifen kann.
  2. Faserkanal-Vermittlung, die einen Algorithmus für eine verteilte Quell- und Ziel-Warteschlangenbildung verwendet, nach Anspruch 1, bei der der gemeinsam genutzte Bitscheiben-Speicher (330) bis zu einem Grad n in Bitscheiben unterteilt ist und der gemeinsame Verbund gemeinsam genutzter Speicher aus n Blöcken eines gemeinsamen Speichers konstruiert ist, wovon jeder eine Speicherbandbreite mb besitzt, die gegeben ist durch: mb = (2 × b × p)/n, wobei b gleich der Datenbandbreite eines einzelnen Konfigurationsports (142) ist, p gleich der Anzahl der Konfigurationsports (142) ist und n den Grad der Bitscheibenbildung repräsentiert.
  3. Faserkanal-Vermittlung, die einen Algorithmus für eine verteilte Quell- und Ziel-Warteschlangenbildung verwendet, nach Anspruch 2, bei der jeder Port so beschaffen ist, dass er zu einer Zeit 1 Bit von Daten zu jedem Speicherblock liefert und von diesem empfängt, wobei diese Bits über 2p Taktzyklen akkumuliert werden und wobei jeder Konfigurationsport (142) auf den gemeinsam genutzten Speicher (330) zugreifen kann.
  4. Faserkanal-Vermittlung, die einen Algorithmus für die verteilte Quell- und Ziel-Warteschlangenbildung verwendet, nach Anspruch 1, wobei jeder Port-Controller (310) ferner eine Schreibeinrichtung (440) und eine Leseeinrichtung (450) umfasst, wobei jede Schreibeinrichtung (440) ferner eine getrennte Zielwarteschlange für jeden Zielport enthält, wobei jeder Quellport so beschaffen ist, dass er den Pufferdeskriptor im Kopf seiner Ziel-Warteschlangen zu dem Zielport bewegt, bevor der Quellport tatsächlich bereit ist, den Rahmen weiterzuleiten, so dass jeder Zielport über den nächsten Rahmen weiß, dass jeder der Quellports als Nächstes weiterleiten möchte.
  5. Faserkanal-Vermittlung, die einen Algorithmus für die verteilte Quell- und Ziel-Warteschlangenbildung verwendet, nach Anspruch 4, bei der bei der Weiterleitung eines Rahmens von einem bestimmten Quellport zu einer Vorrichtung (120, 122, 124) der Zielport so beschaffen ist, dass er den nächsten Pufferdeskriptor in der Quellport-Warteschlange anfordert, und bei der in Abhängigkeit von der Latenz der Anforderung und von der Antwort zwischen den zwei Port-Controllern (310) und der Länge des übertragenen Rahmens der Zielport so beschaffen ist, dass er den nächsten Pufferdeskriptor vor dem Abschluss der Übertragung des momentanen Rahmens oder angenähert gleichzeitig empfängt, und wobei durch Überlappen dieser zwei Operationen eine sehr hohe Rate einer beibehaltenen Bandbreite zwischen zwei Ports, die Rahmen zwischen sich hin und her schicken, aufrechterhalten werden kann.
  6. Faserkanal-Vermittlung, die einen Algorithmus für die verteilte Quell- und Ziel-Warteschlangenbildung verwendet, nach Anspruch 2, bei der gilt: p = 18 Konfigurationsports (142), b = 800 MBit/s, n = 36 Speichervorrichtungen und mb = 800 MBit/s und bei der eine Sendeseite aller Ports Daten direkt aus demselben Speicher wiedergewinnt, auf den eine Empfangsseite zugreift.
  7. Faserkanal-Vermittlung, die einen Algorithmus für die verteilte Quell- und Ziel-Warteschlangenbildung verwendet, nach Anspruch 1, wobei der jeder Port-Controller (310) ferner umfasst: einen Verbindungsstrecken-Controller (410), um die Verbindungsstrecke zwischen dem Knotenport (140) und dem Konfigurationsport (142) zu steuern, einen Rahmenübertragungs-Controller (420), um Daten zwischen dem Verbindungsstrecken-Controller (410) und dem gemeinsam genutzten Speicher (330) zu empfangen und zu senden, einen Adressenvalidierungs-/Adressenübersetzungs-Controller (430), um Rahmenkopfsatzinformationen zu erhalten und um Zielport-Nummern, Puffernummern und Zeitüberlaufwerte zu erzeugen, eine Synchronisationseinrichtung (460), um Port-Zustandsübergänge und die Aktivitäten der Leseeinrichtung (450) und der Schreibeinrichtung (440) zu synchronisieren, einen Statistik-Controller (470) zum Zählen der Statistiken und einen Port-Kommunikations-Controller (480), der die Kommunikation der Port-Controller (310) freigibt.
  8. Faserkanal-Vermittlung, die einen Algorithmus für die verteilte Quell- und Ziel-Warteschlangenbildung verwendet, nach Anspruch 7, wobei der Adressenvalidierungs-/Adressenübersetzungs-Controller (430) ferner umfasst: einen Zeitgeber, um die Taktgebung und das Zeitüberlauf-Handling von Rahmen in der Warteschlange auszuführen, derart, dass dann, wenn sich ein Pufferdeskriptor zu dem Ziel-Konfigurationsport (142) bewegt, der Port-Controller (310) von dem Quellkonfigurationsport (142) sich an den Rahmen erinnert.
  9. Faserkanal-Vermittlung, die einen Algorithmus für die verteilte Quell- und Ziel-Warteschlangenbildung verwendet, nach Anspruch 8, bei der der Port-Controller (310) in Reaktion auf den Zeitgeber so beschaffen ist, dass er zu dem Quellknotenport (140) ein Belegt-Rahmensignal sendet oder den Rahmen verwirft, falls der Rahmen innerhalb einer festen Zeitdauer nicht zu dem Zielkonfigurationsport (142) weitergeleitet werden kann.
  10. Faserkanal-Vermittlung, die einen Algorithmus für die verteilte Quell- und Ziel-Warteschlangenbildung verwendet, nach Anspruch 9, bei der die feste Zeitdauer in Übereinstimmung mit der Faserkanal-Norm bestimmt ist.
  11. Faserkanal-Vermittlung, die einen Algorithmus für die verteilte Quell- und Ziel-Warteschlangenbildung verwendet, nach Anspruch 10, bei der der Quellkonfigurationsport (142) in der Weise arbeitet, dass er die Verantwortung für die Taktgebung des Rahmens beibehält, bis der Pufferdeskriptor des Quellkonfigurationsports ihn zum Kopf der Quellwarteschlange macht und er zur Ziel-Warteschlange bewegt wird, so dass der Zielport nun eine Anforderung zu dem Quellkonfigurationsport (142) weiterleiten kann, um ein Belegt-Rahmensignal zurückzuschicken.
  12. Faserkanal-Vermittlung, die einen Algorithmus für die verteilte Quell- und Ziel-Warteschlangenbildung verwendet, nach Anspruch 9, die ferner so beschaffen ist, dass sie eine Verbindungsstrecken-Rücksetzung des Quellkonfigurationsports (142) ausführt und die Inhalte des Puffers verwirft, wobei der Quellkonfigurationsport (142) den Zielkonfigurationsport (142) an der Weiterleitung des Rahmens hindert.
  13. Faserkanal-Vermittlung, die einen Algorithmus für die verteilte Quell- und Ziel-Warteschlangenbildung verwendet, nach Anspruch 2, bei der die mehreren Port-Controller (310) ferner einen "Nicht-Kernfunktions-Port"-Port-Controller umfassen, wobei der Pufferdeskriptor des Rahmens, der als belegt gilt oder zurückgewiesen wird, in die Warteschlange des "Nicht-Kernfunktion-Port"-Port-Controllers (325) eingereiht wird, wobei der Quellkonfigurationsport (142) keine Belegt- und Zurückweisungsrahmen-Befehle erzeugen muss.
  14. Faserkanal-Vermittlung, die einen Algorithmus für die verteilte Quell- und Ziel-Warteschlangenbildung verwendet, nach Anspruch 13, bei der der "Nicht-Kernfunktion-Port"-Port-Controller (325) ferner einen Prozessor (326) und Software für die Manipulation des Rahmenkopfsatzes umfasst und so beschaffen ist, dass er den Rahmen zurück in die Warteschlange des ursprünglichen Quellkonfigurationsports (142) einreiht, wobei der Quellkonfigurationsport (142) so beschaffen ist, dass er die Taktung des Rahmens fortsetzt, während der ursprüngliche Rahmen in den "Nicht-Kernfunktion-Port" eingereiht wird, und wobei der Quellkonfigurationsport (142) dann, wenn der Rahmen nicht innerhalb einer vorgegebenen Zeitdauer weitergeleitet wird, eine Anforderung an den "Nicht-Kernfunktion-Port"-Port-Controller (325) erzeugt, damit dieser den ursprünglichen Rahmen nicht zum Prozessor (326) weiterleitet, und wobei der "Nicht-Kernfunktion-Port"-Port-Controller (325) dann, wenn der Rahmen zu dem Prozessor (326) geschickt wird und der Zurückweisungs-/Belegtrahmen zurück in den Quellkonfigurationsport (142) in die Warteschlange eingereiht wird, den Rahmen takten und gegebenenfalls verwerfen muss.
  15. Faserkanal-Vermittlung, die einen Algorithmus für die verteilte Quell- und Ziel-Warteschlangenbildung verwendet, nach Anspruch 14, die ferner einen "Nicht-Kernfunktion-Port"-Zeitgeber umfasst, der die Zeit zwischen dem Zeitpunkt, zu dem der Rahmen als Erster in die Warteschlange des "Nicht-Kernfunktion-Ports" eingereiht wurde, und dem Zeitpunkt, zu dem er tatsächlich an ihn geliefert wurde, einstellt.
  16. Faserkanal-Vermittlung, die einen Algorithmus für die verteilte Quell- und Ziel-Warteschlangenbildung verwendet, nach Anspruch 5, die ferner einen Prozessor (326) umfasst und bei der Pufferinformationen, die zu dem "Nicht-Kernfunktion-Port" geleitet werden, ferner einen Zeitstempel enthalten, wobei der Prozessor (326) die Rahmen bei ihrem Empfang mit einem Zeitstempel versieht und wobei ein Zeitüberlaufwert berechnet wird, der sicherstellt, dass der Rahmen innerhalb R A TOV verworfen wird.
  17. Faserkanal-Vermittlung, die einen Algorithmus für eine verteilte Quell- und Ziel-Warteschlangenbildung verwendet, nach Anspruch 1, in der eine getrennte Warteschlange für jede Kombination aus Quellports und Zielports in der Vermittlung aufrechterhalten wird.
DE69735921T 1996-09-11 1997-09-05 Vermittlungselement für Fibre-Channel unter Verwendung von verteilten Warteschlangen Expired - Lifetime DE69735921T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/714,029 US5894481A (en) 1996-09-11 1996-09-11 Fiber channel switch employing distributed queuing
US714029 1996-09-11

Publications (2)

Publication Number Publication Date
DE69735921D1 DE69735921D1 (de) 2006-06-29
DE69735921T2 true DE69735921T2 (de) 2006-11-30

Family

ID=24868515

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69735921T Expired - Lifetime DE69735921T2 (de) 1996-09-11 1997-09-05 Vermittlungselement für Fibre-Channel unter Verwendung von verteilten Warteschlangen

Country Status (6)

Country Link
US (2) US5894481A (de)
EP (1) EP0841781B1 (de)
JP (1) JPH10135952A (de)
AT (1) ATE327620T1 (de)
DE (1) DE69735921T2 (de)
WO (1) WO1998011691A1 (de)

Families Citing this family (126)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6031842A (en) * 1996-09-11 2000-02-29 Mcdata Corporation Low latency shared memory switch architecture
US5978379A (en) 1997-01-23 1999-11-02 Gadzoox Networks, Inc. Fiber channel learning bridge, learning half bridge, and protocol
JP3156623B2 (ja) * 1997-01-31 2001-04-16 日本電気株式会社 ファイバチャネルファブリック
US6185203B1 (en) 1997-02-18 2001-02-06 Vixel Corporation Fibre channel switching fabric
US6118776A (en) * 1997-02-18 2000-09-12 Vixel Corporation Methods and apparatus for fiber channel interconnection of private loop devices
US6160813A (en) 1997-03-21 2000-12-12 Brocade Communications Systems, Inc. Fibre channel switching system and method
JP3228182B2 (ja) * 1997-05-29 2001-11-12 株式会社日立製作所 記憶システム及び記憶システムへのアクセス方法
US6285679B1 (en) * 1997-08-22 2001-09-04 Avici Systems, Inc. Methods and apparatus for event-driven routing
US6370145B1 (en) * 1997-08-22 2002-04-09 Avici Systems Internet switch router
US6088352A (en) * 1997-08-29 2000-07-11 Lucent Technologies Inc. Bit sliced digital cross connect switching system controlled by port units
US6148004A (en) * 1998-02-11 2000-11-14 Mcdata Corporation Method and apparatus for establishment of dynamic ESCON connections from fibre channel frames
US6693904B1 (en) * 1998-04-09 2004-02-17 Lucent Technologies Inc. Trace format for a sliced switch fabric
US6298403B1 (en) 1998-06-02 2001-10-02 Adaptec, Inc. Host adapter having a snapshot mechanism
US6070200A (en) 1998-06-02 2000-05-30 Adaptec, Inc. Host adapter having paged data buffers for continuously transferring data between a system bus and a peripheral bus
US6202105B1 (en) * 1998-06-02 2001-03-13 Adaptec, Inc. Host adapter capable of simultaneously transmitting and receiving data of multiple contexts between a computer bus and peripheral bus
US6353612B1 (en) 1998-06-19 2002-03-05 Brocade Communications Systems, Inc. Probing device
US6356546B1 (en) * 1998-08-11 2002-03-12 Nortel Networks Limited Universal transfer method and network with distributed switch
US6765919B1 (en) * 1998-10-23 2004-07-20 Brocade Communications Systems, Inc. Method and system for creating and implementing zones within a fibre channel system
US7430171B2 (en) 1998-11-19 2008-09-30 Broadcom Corporation Fibre channel arbitrated loop bufferless switch circuitry to increase bandwidth without significant increase in cost
US6608819B1 (en) 1999-01-12 2003-08-19 Mcdata Corporation Method for scoring queued frames for selective transmission through a switch
US7382736B2 (en) * 1999-01-12 2008-06-03 Mcdata Corporation Method for scoring queued frames for selective transmission through a switch
US6400730B1 (en) * 1999-03-10 2002-06-04 Nishan Systems, Inc. Method and apparatus for transferring data between IP network devices and SCSI and fibre channel devices over an IP network
US6697359B1 (en) * 1999-07-02 2004-02-24 Ancor Communications, Inc. High performance switch fabric element and switch systems
GB2352145A (en) * 1999-07-16 2001-01-17 Texas Instruments Ltd Prevention of bottlenecking in data transfers
US6625117B1 (en) 1999-09-30 2003-09-23 International Business Machines Corporation Method and apparatus for switching messages from a primary message channel to a secondary message channel in a message queuing system
ATE411675T1 (de) 1999-12-10 2008-10-15 Qlogic Switch Products Inc Verfahren und vorrichtung zur kreditbasierten flusskontrolle in fibre-channel systemen
JP2001167040A (ja) * 1999-12-14 2001-06-22 Hitachi Ltd 記憶サブシステム及び記憶制御装置
US6578096B1 (en) * 1999-12-30 2003-06-10 Agilent Technologies, Inc. Method and system for efficient I/O operation completion in a fibre channel node
US6684209B1 (en) * 2000-01-14 2004-01-27 Hitachi, Ltd. Security method and system for storage subsystem
JP4651230B2 (ja) 2001-07-13 2011-03-16 株式会社日立製作所 記憶システム及び論理ユニットへのアクセス制御方法
US7657727B2 (en) * 2000-01-14 2010-02-02 Hitachi, Ltd. Security for logical unit in storage subsystem
US6636239B1 (en) 2000-02-24 2003-10-21 Sanavigator, Inc. Method of operating a graphical user interface to selectively enable and disable a datapath in a network
JP4953541B2 (ja) * 2000-02-24 2012-06-13 富士通株式会社 入出力制御装置及び装置識別方法並びにストレージシステム
US6877043B2 (en) * 2000-04-07 2005-04-05 Broadcom Corporation Method for distributing sets of collision resolution parameters in a frame-based communications network
JP4719957B2 (ja) * 2000-05-24 2011-07-06 株式会社日立製作所 記憶制御装置及び記憶システム並びに記憶システムのセキュリティ設定方法
US7197545B1 (en) 2000-08-28 2007-03-27 Sanavigator, Inc. Techniques for dynamically loading modules for devices discovered in a storage network
EP1421502A2 (de) 2000-12-20 2004-05-26 Inrange Technologies Corporation Faserkanalportadapter
US6715111B2 (en) 2000-12-27 2004-03-30 Intel Corporation Method and apparatus for detecting strobe errors
US6877042B2 (en) * 2001-01-02 2005-04-05 Dell Products L.P. System and method for generating world wide names
US6941252B2 (en) * 2001-03-14 2005-09-06 Mcdata Corporation Striping data frames across parallel fibre channel links
US7366194B2 (en) 2001-04-18 2008-04-29 Brocade Communications Systems, Inc. Fibre channel zoning by logical unit number in hardware
US7301956B2 (en) * 2001-05-10 2007-11-27 Brocade Communications Systems, Inc. System and method for storing and retrieving multi-speed data streams within a network switch
US20030056000A1 (en) * 2001-07-26 2003-03-20 Nishan Systems, Inc. Transfer ready frame reordering
US7054312B2 (en) * 2001-08-17 2006-05-30 Mcdata Corporation Multi-rate shared memory architecture for frame storage and switching
US6532212B1 (en) * 2001-09-25 2003-03-11 Mcdata Corporation Trunking inter-switch links
US7404000B2 (en) * 2001-09-28 2008-07-22 Emc Corporation Protocol translation in a storage system
US7362751B2 (en) * 2001-10-03 2008-04-22 Topside Research, Llc Variable length switch fabric
US6862293B2 (en) 2001-11-13 2005-03-01 Mcdata Corporation Method and apparatus for providing optimized high speed link utilization
US7082132B1 (en) 2001-12-26 2006-07-25 Nortel Networks Limited Universal edge node
US8051197B2 (en) 2002-03-29 2011-11-01 Brocade Communications Systems, Inc. Network congestion management systems and methods
US7391723B2 (en) 2002-04-22 2008-06-24 Computer Network Technology Corporation Frame-level fibre channel CRC on switching platform
US7307951B2 (en) * 2002-04-24 2007-12-11 International Business Machines Corporation Timeout determination method and apparatus
US7154886B2 (en) * 2002-07-22 2006-12-26 Qlogic Corporation Method and system for primary blade selection in a multi-module fiber channel switch
US7436761B2 (en) * 2002-07-30 2008-10-14 Xyratex Technology Limited Apparatus and method for connecting fibre channel devices via bypass buffers
US7334046B1 (en) 2002-08-05 2008-02-19 Qlogic, Corporation System and method for optimizing frame routing in a network
US7397768B1 (en) 2002-09-11 2008-07-08 Qlogic, Corporation Zone management in a multi-module fibre channel switch
US7219300B2 (en) * 2002-09-30 2007-05-15 Sanavigator, Inc. Method and system for generating a network monitoring display with animated utilization information
US7362717B1 (en) 2002-10-03 2008-04-22 Qlogic, Corporation Method and system for using distributed name servers in multi-module fibre channel switches
US7319669B1 (en) 2002-11-22 2008-01-15 Qlogic, Corporation Method and system for controlling packet flow in networks
US20040120333A1 (en) * 2002-12-24 2004-06-24 David Geddes Method and apparatus for controlling information flow through a protocol bridge
US7352740B2 (en) * 2003-04-29 2008-04-01 Brocade Communciations Systems, Inc. Extent-based fibre channel zoning in hardware
US7453802B2 (en) 2003-07-16 2008-11-18 Qlogic, Corporation Method and apparatus for detecting and removing orphaned primitives in a fibre channel network
US7355966B2 (en) * 2003-07-16 2008-04-08 Qlogic, Corporation Method and system for minimizing disruption in common-access networks
US7525910B2 (en) 2003-07-16 2009-04-28 Qlogic, Corporation Method and system for non-disruptive data capture in networks
US7471635B2 (en) * 2003-07-16 2008-12-30 Qlogic, Corporation Method and apparatus for test pattern generation
US7463646B2 (en) * 2003-07-16 2008-12-09 Qlogic Corporation Method and system for fibre channel arbitrated loop acceleration
US7388843B2 (en) * 2003-07-16 2008-06-17 Qlogic, Corporation Method and apparatus for testing loop pathway integrity in a fibre channel arbitrated loop
US7420982B2 (en) * 2003-07-21 2008-09-02 Qlogic, Corporation Method and system for keeping a fibre channel arbitrated loop open during frame gaps
US7466700B2 (en) * 2003-07-21 2008-12-16 Qlogic, Corporation LUN based hard zoning in fibre channel switches
US7512067B2 (en) 2003-07-21 2009-03-31 Qlogic, Corporation Method and system for congestion control based on optimum bandwidth allocation in a fibre channel switch
US7430175B2 (en) * 2003-07-21 2008-09-30 Qlogic, Corporation Method and system for managing traffic in fibre channel systems
US7583597B2 (en) 2003-07-21 2009-09-01 Qlogic Corporation Method and system for improving bandwidth and reducing idles in fibre channel switches
US7792115B2 (en) 2003-07-21 2010-09-07 Qlogic, Corporation Method and system for routing and filtering network data packets in fibre channel systems
US7630384B2 (en) * 2003-07-21 2009-12-08 Qlogic, Corporation Method and system for distributing credit in fibre channel systems
US7894348B2 (en) 2003-07-21 2011-02-22 Qlogic, Corporation Method and system for congestion control in a fibre channel switch
US7573909B2 (en) 2003-07-21 2009-08-11 Qlogic, Corporation Method and system for programmable data dependant network routing
US7522522B2 (en) * 2003-07-21 2009-04-21 Qlogic, Corporation Method and system for reducing latency and congestion in fibre channel switches
US7558281B2 (en) 2003-07-21 2009-07-07 Qlogic, Corporation Method and system for configuring fibre channel ports
US7525983B2 (en) 2003-07-21 2009-04-28 Qlogic, Corporation Method and system for selecting virtual lanes in fibre channel switches
US7580354B2 (en) * 2003-07-21 2009-08-25 Qlogic, Corporation Multi-speed cut through operation in fibre channel switches
US7684401B2 (en) 2003-07-21 2010-03-23 Qlogic, Corporation Method and system for using extended fabric features with fibre channel switch elements
US7406092B2 (en) * 2003-07-21 2008-07-29 Qlogic, Corporation Programmable pseudo virtual lanes for fibre channel systems
US7447224B2 (en) * 2003-07-21 2008-11-04 Qlogic, Corporation Method and system for routing fibre channel frames
US7522529B2 (en) 2003-07-21 2009-04-21 Qlogic, Corporation Method and system for detecting congestion and over subscription in a fibre channel network
US7477655B2 (en) 2003-07-21 2009-01-13 Qlogic, Corporation Method and system for power control of fibre channel switches
US7646767B2 (en) * 2003-07-21 2010-01-12 Qlogic, Corporation Method and system for programmable data dependant network routing
JP4432388B2 (ja) * 2003-08-12 2010-03-17 株式会社日立製作所 入出力制御装置
US7707330B2 (en) * 2003-09-18 2010-04-27 Rao G R Mohan Memories for electronic systems
US7352701B1 (en) 2003-09-19 2008-04-01 Qlogic, Corporation Buffer to buffer credit recovery for in-line fibre channel credit extension devices
US7593336B2 (en) 2003-10-31 2009-09-22 Brocade Communications Systems, Inc. Logical ports in trunking
US7619974B2 (en) * 2003-10-31 2009-11-17 Brocade Communication Systems, Inc. Frame traffic balancing across trunk groups
US20050108444A1 (en) * 2003-11-19 2005-05-19 Flauaus Gary R. Method of detecting and monitoring fabric congestion
US7391728B2 (en) * 2003-12-30 2008-06-24 Cisco Technology, Inc. Apparatus and method for improved Fibre Channel oversubscription over transport
US7430203B2 (en) * 2004-01-29 2008-09-30 Brocade Communications Systems, Inc. Fibre channel zoning hardware for directing a data packet to an external processing device
US7480293B2 (en) 2004-02-05 2009-01-20 Qlogic, Corporation Method and system for preventing deadlock in fibre channel fabrics using frame priorities
US7564789B2 (en) 2004-02-05 2009-07-21 Qlogic, Corporation Method and system for reducing deadlock in fibre channel fabrics using virtual lanes
JP4521865B2 (ja) * 2004-02-27 2010-08-11 株式会社日立製作所 ストレージシステム、計算機システムまたは記憶領域の属性設定方法
US20050196168A1 (en) * 2004-03-03 2005-09-08 Fujitsu Limited Optical connection switching apparatus and management control unit thereof
JP4427463B2 (ja) * 2004-03-30 2010-03-10 富士通株式会社 光配線切替装置及びその管理制御装置
US7340167B2 (en) * 2004-04-23 2008-03-04 Qlogic, Corporation Fibre channel transparent switch for mixed switch fabrics
US7930377B2 (en) 2004-04-23 2011-04-19 Qlogic, Corporation Method and system for using boot servers in networks
US7404020B2 (en) * 2004-07-20 2008-07-22 Qlogic, Corporation Integrated fibre channel fabric controller
US7593997B2 (en) * 2004-10-01 2009-09-22 Qlogic, Corporation Method and system for LUN remapping in fibre channel networks
US8295299B2 (en) 2004-10-01 2012-10-23 Qlogic, Corporation High speed fibre channel switch element
US7380030B2 (en) * 2004-10-01 2008-05-27 Qlogic, Corp. Method and system for using an in-line credit extender with a host bus adapter
US7411958B2 (en) * 2004-10-01 2008-08-12 Qlogic, Corporation Method and system for transferring data directly between storage devices in a storage area network
US7814280B2 (en) * 2005-01-12 2010-10-12 Fulcrum Microsystems Inc. Shared-memory switch fabric architecture
US7519058B2 (en) 2005-01-18 2009-04-14 Qlogic, Corporation Address translation in fibre channel switches
US7660302B2 (en) * 2006-06-15 2010-02-09 Qlogic, Corporation Method and system for inter-fabric routing
US20080159277A1 (en) * 2006-12-15 2008-07-03 Brocade Communications Systems, Inc. Ethernet over fibre channel
US20080181243A1 (en) * 2006-12-15 2008-07-31 Brocade Communications Systems, Inc. Ethernet forwarding in high performance fabrics
US20080159260A1 (en) * 2006-12-15 2008-07-03 Brocade Communications Systems, Inc. Fibre channel over ethernet frame
US7916718B2 (en) * 2007-04-19 2011-03-29 Fulcrum Microsystems, Inc. Flow and congestion control in switch architectures for multi-hop, memory efficient fabrics
US8583780B2 (en) * 2007-11-20 2013-11-12 Brocade Communications Systems, Inc. Discovery of duplicate address in a network by reviewing discovery frames received at a port
US8108454B2 (en) * 2007-12-17 2012-01-31 Brocade Communications Systems, Inc. Address assignment in Fibre Channel over Ethernet environments
US20090296726A1 (en) * 2008-06-03 2009-12-03 Brocade Communications Systems, Inc. ACCESS CONTROL LIST MANAGEMENT IN AN FCoE ENVIRONMENT
US8223633B2 (en) * 2008-10-03 2012-07-17 Brocade Communications Systems, Inc. Port trunking at a fabric boundary
US8068482B2 (en) * 2008-11-13 2011-11-29 Qlogic, Corporation Method and system for network switch element
US8848575B2 (en) * 2009-02-23 2014-09-30 Brocade Communications Systems, Inc. High availability and multipathing for fibre channel over ethernet
US8412831B2 (en) * 2009-08-03 2013-04-02 Brocade Communications Systems, Inc. Per priority TCP quality of service
US8554948B2 (en) * 2010-03-03 2013-10-08 At&T Intellectual Property I, L.P. Methods, systems and computer program products for identifying traffic on the internet using communities of interest
US8495251B2 (en) 2011-09-28 2013-07-23 Emc Corporation Hardware method for detecting timeout conditions in a large number of data connections
US8995455B1 (en) * 2012-11-15 2015-03-31 Qlogic, Corporation Memory devices for network devices and associated methods
US9965211B2 (en) * 2016-09-08 2018-05-08 Cisco Technology, Inc. Dynamic packet buffers with consolidation of low utilized memory banks
US10769080B2 (en) * 2017-03-30 2020-09-08 Futurewei Technologies, Inc. Distributed and shared memory controller
US11171890B1 (en) * 2018-12-28 2021-11-09 Innovium, Inc. Reducing power consumption in an electronic device

Family Cites Families (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4683564A (en) * 1982-11-22 1987-07-28 Data Switch Corporation Matrix switch system
US4635250A (en) * 1984-04-13 1987-01-06 International Business Machines Corporation Full-duplex one-sided cross-point switch
US5233603A (en) * 1988-04-21 1993-08-03 Nec Corporation Packet switch suitable for integrated circuit implementation
GB8824972D0 (en) * 1988-10-25 1988-11-30 Plessey Telecomm Time division switch
CA1320257C (en) * 1989-04-20 1993-07-13 Ernst August Munter Method and apparatus for input-buffered asynchronous transfer mode switching
JP3169217B2 (ja) * 1990-01-19 2001-05-21 株式会社日立製作所 時分割多元速度回線接続方法及び装置
FR2659813B1 (fr) * 1990-03-19 1994-06-03 Cit Alcatel Unite de commutation elementaire pour equipement de brassage de trains numeriques multiplexes par multiplexage temporel d'affluents numeriques a differents debits.
JP3161717B2 (ja) * 1990-06-18 2001-04-25 株式会社日立製作所 通信システム、通信装置、およびその制御方法
FI85319C (fi) * 1990-06-21 1992-03-25 Valtion Teknillinen Kopplingselement.
DE69031220T2 (de) * 1990-12-20 1998-02-12 Ibm Hochgeschwindigkeitsmultiport-FIFO-Pufferschaltung
ES2091832T3 (es) * 1991-05-08 1996-11-16 Siemens Ag Disposicion de control para un sistema de conmutacion de banda ancha.
US5307342A (en) * 1991-08-30 1994-04-26 International Business Machines Corporation Heterogeneous ports switch
US5309432A (en) * 1992-05-06 1994-05-03 At&T Bell Laboratories High-speed packet switch
US5351236A (en) * 1992-10-20 1994-09-27 At&T Bell Laboratories Multirate, sonet-ready, switching arrangement
US5329524A (en) * 1992-10-20 1994-07-12 At&T Bell Laboratories TDM circuit-switching arrangement that handles frames of different sizes
US5390181A (en) * 1993-06-04 1995-02-14 Illinois Institute Of Technology Method for detecting collisions on and controlling access to a transmission channel
US5390184A (en) * 1993-09-30 1995-02-14 Northern Telecom Limited Flexible scheduling mechanism for ATM switches
US5455825A (en) * 1994-04-28 1995-10-03 Mitsubishi Electric Research Laboratories Tag-based scheduling system for digital communication switch
JP2550913B2 (ja) 1994-06-15 1996-11-06 日本電気株式会社 出力バッファ型atmスイッチ
US5452294A (en) * 1994-07-05 1995-09-19 Motorola, Inc. Method and apparatus for adaptive route selection in communication networks
JPH08122885A (ja) * 1994-10-18 1996-05-17 Nikon Corp 表示装置
US5598541A (en) * 1994-10-24 1997-01-28 Lsi Logic Corporation Node loop port communication interface super core for fibre channel
US5603064A (en) * 1994-10-27 1997-02-11 Hewlett-Packard Company Channel module for a fiber optic switch with bit sliced memory architecture for data frame storage
US5502719A (en) * 1994-10-27 1996-03-26 Hewlett-Packard Company Path allocation system and method having double link list queues implemented with a digital signal processor (DSP) for a high performance fiber optic switch
US5528584A (en) * 1994-10-27 1996-06-18 Hewlett-Packard Company High performance path allocation system and method with fairness insurance mechanism for a fiber optic switch
US5519695A (en) * 1994-10-27 1996-05-21 Hewlett-Packard Company Switch element for fiber channel networks
US5490007A (en) * 1994-10-31 1996-02-06 Hewlett-Packard Company Bypass switching and messaging mechanism for providing intermix data transfer for a fiber optic switch
US5619497A (en) * 1994-12-22 1997-04-08 Emc Corporation Method and apparatus for reordering frames
US5519596A (en) * 1995-05-16 1996-05-21 Hewlett-Packard Company Moldable nesting frame for light emitting diode array
US5592160A (en) * 1995-10-26 1997-01-07 Hewlett-Packard Company Method and apparatus for transmission code decoding and encoding
US5610745A (en) * 1995-10-26 1997-03-11 Hewlett-Packard Co. Method and apparatus for tracking buffer availability
US5655153A (en) * 1995-11-07 1997-08-05 Emc Corporation Buffer system

Also Published As

Publication number Publication date
EP0841781A2 (de) 1998-05-13
US6240096B1 (en) 2001-05-29
DE69735921D1 (de) 2006-06-29
EP0841781A3 (de) 2002-09-11
ATE327620T1 (de) 2006-06-15
EP0841781B1 (de) 2006-05-24
US5894481A (en) 1999-04-13
WO1998011691A1 (en) 1998-03-19
JPH10135952A (ja) 1998-05-22

Similar Documents

Publication Publication Date Title
DE69735921T2 (de) Vermittlungselement für Fibre-Channel unter Verwendung von verteilten Warteschlangen
DE60226268T2 (de) Verfahren und vorrichtung zur bereitstellung einer optimierten ausnutzung schneller strecken
US6031842A (en) Low latency shared memory switch architecture
DE60313780T2 (de) Multiport serielles hochgeschwindigkeits-vermittlungsquerverbindungschip in einer vermaschten konfiguration
DE69636547T2 (de) Integrierter Repeater
US5519695A (en) Switch element for fiber channel networks
DE60030737T2 (de) Hochleistungs-Vermittlungselement und -Vermittlungssystem
US5490007A (en) Bypass switching and messaging mechanism for providing intermix data transfer for a fiber optic switch
DE69819303T2 (de) Verfahren und vorrichtung zur übertragung von mehrfachkopien durch vervielfältigung von datenidentifikatoren
DE69733355T2 (de) Skalierbares hochleistungsvermittlungselement für ein koppelfeld mit gemeinsamen speicher zur vermittlung von paketen oder atm-zellen
DE60032357T2 (de) Verbindungsarchitektur um minderbandbreitige verbindungen über eine hoch-bandbreitige verkettung zu verwalten
DE112004000901T5 (de) Optisches Burst-vermitteltes Netzsystem und Verfahren mit fälligkeitsnaher Signalisierung
DE4232667A1 (de) Rechnergesteuerte vermittlungsanlage
DE19757965A1 (de) Verteiltes Puffersystem für ATM-Schalter
DE602004012987T2 (de) Datenspeichersystem
DE112004002043T5 (de) Verfahren, System und Programm zum Aufbau eines Pakets
EP0184706B1 (de) Schnittstelleneinrichtung
DE60014178T2 (de) Vorrichtung und verfahren zur speicherteilung in einer konfiguration mit einzelring-datenbusverbindung
DE60224939T2 (de) Mehrraten-shared-memory-architektur für die rahmenspeicherung und vermittlung
DE60121727T2 (de) Vermittlungsstelle mit virtuellem geteiltem Speicher
DE102005062576B4 (de) Elektronische Steuereinrichtung mit einem parallelen Datenbus
DE602004011623T2 (de) Elektronische Schaltungsanordnung mit über ein Kommunikationsnetzwerk gekoppelten Verarbeitungseinheiten
CN102624617A (zh) 数据交换系统和方法
DE102006052328A1 (de) Paralleles Datenspeichersystem
DE69836292T2 (de) Netzvermittlung

Legal Events

Date Code Title Description
8364 No opposition during term of opposition