DE69735921T2 - Vermittlungselement für Fibre-Channel unter Verwendung von verteilten Warteschlangen - Google Patents
Vermittlungselement für Fibre-Channel unter Verwendung von verteilten Warteschlangen Download PDFInfo
- 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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/60—Software-defined switches
- H04L49/608—ATM switches adapted to switch variable length packets, e.g. IP packets
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/35—Switches specially adapted for specific applications
- H04L49/356—Switches specially adapted for specific applications for storage area networks
- H04L49/357—Fibre channel switches
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04Q—SELECTING
- H04Q11/00—Selecting arrangements for multiplex systems
- H04Q11/04—Selecting arrangements for multiplex systems for time-division multiplexing
- H04Q11/0421—Circuit arrangements therefor
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/10—Packet switching elements characterised by the switching fabric construction
- H04L49/103—Packet switching elements characterised by the switching fabric construction using a shared central buffer; using a shared memory
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/35—Switches specially adapted for specific applications
- H04L49/351—Switches 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 Rahmen11 variabler Länge, wie er durch den Faserkanal-Standard beschrieben ist. Der Rahmen11 variabler Länge umfasst einen 4-Byte-Rahmenbeginn-(SOF)-Indikator122 , der eine bestimmte Binärfolge ist, die für den Beginn des Rahmens11 kennzeichnend ist. Dem SOF-Indikator12 folgt ein 24-Byte-Kopfsatz14 , der im Allgemeinen unter anderem die Rahmen-Quelladresse und Rahmen-Zieladresse spezifiziert und außerdem spezifiziert, ob der Rahmen11 Steuerinformationen oder eigentliche Daten beinhaltet. Dem Kopfsatz14 folgt ein Feld von Daten16 variabler Länge. Die Länge der Daten16 beträgt 0 bis 2112 Bytes. Den Daten16 folgen nacheinander ein 4-Byte-CRC-Code (Code für zyklische Redundanzprüfung)17 für die Fehlererkennung und ein 4-Byte-Rahmende-(EOF)-Indikator18 . Der Rahmen11 von1 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-Netz100 . Ein Arbeitsplatzrechner120 , ein Großrechner122 und ein Größtrechner124 sind über eine Faserkanal-Konfiguration110 (d. h. eine Faserkanal-Vermittlung) mit verschiedenen Subsystemen (z. B. einem Band-Subsystem126 und einem Anzeige-Subsystem130 ) verbunden. Die Konfiguration110 ist eine Entität, die verschiedene Knotenports (N_ports)140 und ihre zugeordneten Arbeitsplatzrechner, Großrechner und peripheren Einheiten, die über die F_ports142 an die Konfiguration110 angebunden sind, verbindet. Die Hauptfunktion der Konfiguration110 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 in3 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-Vermittlung300 mit achtzehn Ports305 , 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-Speicher330 über einen Bitscheiben-Speicher-Controller340 gekoppelt sind. Jeder der achtzehn Ports305 umfasst einen Port-Controller310 , der Speicheradressen-(ADD)-Leitungen312 zum Übertragen von Speicheradressen sowie Rx-Leitungen313 zum Übertragen von Rahmendaten zu dem Bitscheiben-Speicher-Controller340 und Tx-Leitungen314 zum Empfangen von Rahmendaten von dem Bitscheiben-Speicher-Controller340 besitzt, und einen OLM/GLC-Media-Adapter315 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 Speicher330 nicht nur für die Datenrahmenspeicherung, sondern auch für die Multiplexierungsfunktion, die durch den Bitscheiben-Speicher-Controller340 erfüllt wird, verwendet werden. - Ein unabhängiger Kommunikationsbefehlsbus
316 sorgt für die Verbindungen zwischen den achtzehn Controllern310 untereinander und wird verwendet, um Kommunikationsbefehle, die auf die Taktgebung und Zielfestlegung von Rahmenübertragungen bezogen sind, zu senden. Die Vermittlung300 umfasst außerdem einen einzelnen Non-core-Port-Controller325 , der über einen Mikrocontrollerbus327 mit jedem Port-Controller310 verbunden ist. -
4 zeigt einen Blockschaltplan eines in3 gezeigten Port-Controllers310 , der einen Verbindungsstrecken-Controller (LC)410 , einen Rahmenübertragungs-Controller (FTC)420 , einen Adressenvalidierungs-/Adressenübersetzungs-Controller (AVTC)430 , eine Schreibeinrichtung440 und eine Leseeinrichtung450 , 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 LC410 und dem Controller340 für den gemeinsam genutzten Speicher. Beim Empfangen von Daten von dem LC410 schickt der FTC420 die Speicheradresse und die Daten zu dem Controller340 für den gemeinsam genutzten Speicher. Die Speicheradresse basiert auf den verfügbaren Quellpuffern. Der FTC420 teilt der Schreibeinrichtung440 ü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 Leseeinrichtung450 sagt, dass sie den Empfangspuffer reklamieren soll. Beim Senden von Daten erlangt der FTC420 eine (vom Steuernetz ausgehende) Nachricht von der Leseeinrichtung450 (über den Port-Kommunikations-Controller480 ), dass der Rahmen aus dem gemeinsam genutzten Speicher330 abzuholen und über den LC410 und den OLC315 an den Ziel-F_port zu senden ist. Der FTC420 ermittelt die Speicheradresse des Quellports und die in der Nachricht von der Leseeinrichtung450 enthaltene Puffernummer. Wenn der FTC420 das EOF zu dem LC410 weiterleitet, signalisiert er der Leseeinrichtung450 , anzugeben, dass die Übertragung abgeschlossen ist. - Der AVTC
430 erlangt von dem FTC420 Rahmenkopfsatzinformationen von ankommenden Rahmen. Die Rahmenkopfsatzinformationen umfassen: den SOF, die Rahmenkopfsatzworte 1 und 2 und die Puffernummer. Der AVTC430 erzeugt außerdem die folgenden Ausgaben an die Schreibeinrichtung440 : 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 Schreibeinrichtung440 und die Leseeinrichtung450 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 Prozessor326 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-Controllers325 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-Controller325 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-Controller325 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 Schreibeinrichtung440 wird eine Synchronisationseinrichtung (sync)460 verwendet. Wenn beispielsweise ein Port in die Verbindungswiederherstellung geht, verhindert die Synchronisationseinrichtung460 , dass der Verbindungsstrecken-Controller410 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 Synchronisationseinrichtung460 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 Synchronisationseinrichtung460 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-Controller410 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 SC470 beispielsweise dann, wenn die Schreibeinrichtung440 einen Puffer freigibt, dem FTC420 mitteilt, dass der Pufferraum verfügbar ist, und außerdem dem LC410 mitteilt, dass er ein Empfangsbereitschafts-(RRDY) Signal senden soll. Wenn die Leseeinrichtung450 entscheidet, dass ein Rahmen weitergeleitet werden kann, werden dem SC470 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 FTC420 und dem LC410 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-Controllern310 untereinander. Genauer kommunizieren die Schreibeinrichtungen440 mit den Leseeinrichtungen450 und umgekehrt, jedoch kommunizieren weder die Leseeinrichtungen450 noch die Schreibeinrichtungen440 untereinander. Jeder Port-Controller310 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)
- 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. - 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. - 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. - 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. - 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. - 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. - 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. - 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. - 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. - 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.
- 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. - 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. - 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. - 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. - 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.
- 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. - 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.
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)
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)
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 |
-
1996
- 1996-09-11 US US08/714,029 patent/US5894481A/en not_active Expired - Fee Related
-
1997
- 1997-09-02 WO PCT/US1997/015343 patent/WO1998011691A1/en active Search and Examination
- 1997-09-05 DE DE69735921T patent/DE69735921T2/de not_active Expired - Lifetime
- 1997-09-05 EP EP97630053A patent/EP0841781B1/de not_active Expired - Lifetime
- 1997-09-05 AT AT97630053T patent/ATE327620T1/de not_active IP Right Cessation
- 1997-09-11 JP JP9246900A patent/JPH10135952A/ja active Pending
-
2000
- 2000-01-12 US US09/481,437 patent/US6240096B1/en not_active Expired - Fee Related
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 |