-
Die
vorliegende Erfindung betrifft Kanal- und Netzwerk-Kommunikationssysteme
und insbesondere ein System und Verfahren zum Erhöhen der
Schreibleistung in einer Lichtleiterkanal-(FC)Umgebung.
-
Es
gibt zwei Arten von Protokollen zur Vorrichtungskommunikation: Kanäle und Netzwerke.
Kanäle, z.B.
zwischen einem Master-Hostcomputer und einer Slave-Peripherievorrichtung,
sind bestimmt, eine große Datenmenge
bei sehr hohen Geschwindigkeiten über relativ kleine Entfernungen
mit wenig Software-Overhead zu transportieren, sobald die Datenübertradung
beginnt. Ein Kanal stellt gewöhnlich
eine direkte oder vermittelte Punkt-zu-Punkt-Verbindung zwischen
einem Master und einem Slave bereit, die hardwareintensiv ist. Andererseits
sind Netzwerke bestimmt, viele Benutzer durch Schnittstellen zu
verbinden und viele Transaktionen zu unterstützen, wobei eine Vielzahl von
Hosts und System-Ressourcen gemeinsam benutzt werden, über mittlere
bis große
Entfernungen. Was Netzwerke angeht, ist höheres Overhead im Allgemeinen
annehmbar, solange hohe Konnektivität erreicht wird.
-
Das
Lichtleiter-Kanalprotokoll (FCB) ist ein Protokoll neuer Generation,
das das beste dieser zwei unvereinbaren Verfahren in einer einzigen
Open-Systems-Interface-Like (OSI-artigen) Stack-Architektur kombiniert.
Ein Lichtleiterkanal (FC) ist im Wesentlichen ein multitopologischer,
mehrschichtiger Stack mit Unterschicht-Protokollen (LLPs) zum Steuern
der physikalischen Transporteigenschaften und Oberschicht-Protokollen
(ULPs) zum Abbilden von LLP-Kommunikation in und aus höherstufigen
Softwarestrukturen, die mit einem Betriebssystem kompatibel sind.
Diese ULPs enthalten sowohl Kanal- als auch Netzwerkprotokolle,
z.B. Intelligent Peripheral Interface (IPI), Small Computer System
Interface (SCSI) und Internet Protocol (IP), neben anderen.
-
Es
ist wohl bekannt, dass Vorrichtungen, die sich mit entweder Kanal-
oder Netzwerk-Kommunikation befassen, als Initiatoren (manchmal
auch als Hervorbringer bezeichnet) oder Ziele (machmal auch als
Erwiderer bezeichnet) oder beide, abhängig von ihrer Funktionalität, kategorisiert
werden können.
Bestimmte spezifische Funktionen werden entweder einem Initiator
oder einem Ziel zugewiesen: (i) ein Initiator kann für den Kommunikationsweg
als Schiedsrichter fungieren und ein Ziel auswählen; (ii) ein Ziel kann die Übertragung von
Befehlen, Daten, Status- oder anderer Information von dem Initiator
anfordern, und (iii) in einigen Fällen kann ein Ziel für den Kommunikationsweg
als Schiedsrichter fungieren und einen Initiator erneut auswählen, um
eine Transaktion fortzusetzen.
-
Für Vorrichtungen,
die in der Lage sind, mit dem Lichtleiter-Kanalprotokoll zu arbeiten,
können
nur Vorrichtungen, die über
die Initiator-Funktionalität
verfügen,
das initiieren, was in der Technik als Link Service Request oder
Extended Link Service Request bekannt ist. Link-Service-Befehle
versehen Lichtleiterkanal-Initiatoren mit der Fähigkeit, solche Aufgaben wie
Knotenentdeckung, Abbrechen von Anforderungen und Rückweisen
von Kommunikationsrahmen durchzuführen. Der einzige Link-Service-Befehl,
den ein Lichtleiter-Kanalziel initiieren kann, ist meistens ein
Rückweisen
Befehl/Rahmen (LS_RJT).
-
Typischerweise
sendet in einer einzelnen Initiator-FC-Umgebung die Initiator-Vorrichtung
solche Link-Service-Befehle bei Bedarf aus und erwartet als Antwort
darauf einen Bestätigungs-(LS_ACK)Rahmen oder
einen Rückweisungsrahmen
(LS_RJT) von einem Ziel. Im Folgenden werden diese LS_ACK- und LS_RJT-Rahmen
kollektiv als Antwortrahmen bezeichnet. Andererseits arbeitet in
einer Multiinitiator-Umgebung ein Initiator sowohl als Empfänger als
auch Sender von Link-Service-Befehlen. Wegen dieser Doppelrolle arbeitet
ein solcher Initiator sowohl als Empfänger als auch Sender eines
Antwortrahmens.
-
In
der Technik ist bekannt, dass die effektiven Datenübertragungsraten
ein wichtiger Faktor in einem Kommunikationssystem sind. Ferner
können
solche Kommunikationsraten kritisch sein, abhängig, wenigstens zum Teil,
von der Latenz des Kommunikationsweges, der Zahl von Vorrichtungen
und dem Vorhandensein von vielfachen Initiatoren. Bei gegenwärtigen FC-kompatiblen
Systemen, die typisch Einzelinitiatorsysteme sind, wird das Schreiben
von Daten sequenziell durchgeführt,
indem Befehlsrahmen und Datenrahmen getrennt von dem Sender an den
Empfänger
geschickt werden. Eine solche sequenzielle Rahmenübertragung
kann Anlass zu ineffizienter Schreibleistung geben, besonders bei
längeren
Kommunikationswegen mit erhöhten
Latenzperioden. Folglich ist einzusehen, dass eine bedeutsame Notwendigkeit
besteht, einen effizienten Schreibmechanismus in FC-Umgebungen bereitzustellen.
-
Obwohl
verschiedene Einzelinitiator-FC-Implementierungen mit sequenziellem
Schreibvermögen
für einige
Zeit bestanden haben, ist kein FC-Kommunikationssystem bekannt,
das die oben beschriebenen Probleme und Mängel angemessen anspricht und/oder
alle Vorteile und neuartigen Merkmale der im Folgenden beschriebenen
und beanspruchten Erfindung besitzt.
-
Snively
R: "Implementing
a Fibre Channel SCSI Transport" Intellectual
Leverage: Digest of Papers Of The Spring Computer SOCI International
Conference (Comcon), San Francisco, 28. Feb.–4. März, 1994, 28. Februar 1994
(1994-02-28), Seiten 78–82,
XP000479383 Ins titute of Electrical And Electronics Engineers ISBN:
0-8186-5380-9 offenbart ein Verfahren zum Übertragen von Daten von einem
Hervorbringer an einen Erwiderer in einer Lichtleiterkanal-Kommunikationsumgebung.
-
"Operation Level Protocols
For the Fiber Channel Standard" IBM
Technical Disclosure Bulletin, Vo. 36, Nr. 7, 1. Juli 1993 (1993-07-01),
Seiten 149–155,
XP000384215 ISSN: 00188689 offenbart ein Verfahren zum Erhöhen der
Schreibleistung in einer geschlichteten Lichtleiterkanalschleife.
-
ZUSAMMENFASSUNG
DER ERFINDUNG
-
Nach
einem ersten Aspekt der vorliegenden Erfindung wird ein Verfahren
zum Übertragen
von Daten von einem Urheber zu einem Erwiderer in einer Lichtleiterkanal-(FC)Kommunikationsumgebung
bereitgestellt, wobei das Verfahren gekennzeichnet ist durch die
folgenden Schritte:
Senden eines Schreibbefehls und wenigstens
eines Datenrahmens zusammen von dem Urheber an den Erwiderer;
Übertragen
eines Statusrahmens von dem Erwiderer zu dem Urheber, wobei der
Statusrahmen als Reaktion auf die Vollendung des Sendeschrittes
bereitgestellt wird;
Zuteilen eines ausgewählten Teils eines mit dem Erwiderer
verbundenen Erwiderer-Austausch-Identifikatorindexes, wobei der
Index eine Vielzahl von Erwiderer-Austausch-Identifikatoren umfasst,
wobei der ausgewählte Teil
eindeutig mit dem Urheber identifiziert ist, und
Übertragen
von Information zu dem Urheber, wobei die Information mit dem ausgewählten Teil
in Beziehung steht.
-
Nach
einem zweiten Aspekt der vorliegenden Erfindung wird ein System
zum Übertragen
von Daten in einer Lichtleiterkanal-(FC)Kommunikationsumgebung bereitgestellt,
wobei das System umfasst:
einen Urheber zum Einleiten einer Übertragung
von Daten, und
einen Erwiderer zum Empfangen der Daten, dadurch
gekennzeichnet, dass
der Erwiderer einen ausgewählten Teil
einer Vielzahl von Erwiderer-Austausch-Identifikatoren für den ausschließlichen
Gebrauch des Urhebers entsprechend der Übertragung der Daten so zuteilt,
dass der Urheber Befehls- und Datenrahmen zusammen an der Erwiderer
senden kann.
-
Nach
einem dritten Aspekt der vorliegenden Erfindung wird ein Verfahren
zum Erhöhen
der Schreibleistung in einer geschlichteten Lichtleiterkanalschleife
bereitgestellt, wobei das Verfahren gekennzeichnet ist durch die
folgenden Schritte:
Zuteilen eines ausgewählten Teils einer Vielzahl
von Erwiderer-Austausch-Identifikatoren in einem Ziel für den ausschließlichen
Gebrauch eines Initiators;
Übertragen
von Information zu dem Initiator, wobei die Information mit dem
ausgewählten
Teil der Vielzahl von Erwiderer-Austausch-Identifikatoren in Beziehung
steht;
Senden von Befehls- und Datenrahmen zusammen von dem
Initiator an das Ziel, wobei die Rahmen mit einem Erwiderer-Austausch-Identifikator
markiert sind, der zu dem ausgewählten
Teil gehört,
und
Übertragen
eines Statusrahmens von dem Ziel an den Initiator, um die Vollendung
des Sendeschrittes anzuzeigen.
-
Ein
besseres Verstehen der vorliegenden Erfindung kann durch Bezugnahme
auf die folgende ausführliche
Beschreibung erlangt werden, wenn sie mit den begleitenden Zeichnungen
in Verbindung gebracht wird. Inhalt der Zeichnungen:
-
1 zeigt
ein exemplarisches Computersystem, in dem die Lehren der vorliegenden
Erfindung praktiziert werden können.
-
2 zeigt
eine schematische Darstellung des Lichtleiterkanal-(FC)Protokollstapels.
-
3A–3C zeigen
Blockschaltbilder der drei für
Lichtleiter-Kanalknoten verfügbaren
topologischen Konfigurationen.
-
4A zeigt
eine gegenwärtige
Methodik zum Senden von Daten von einem Initiator an ein Ziel, die beide
in einer Lichtleiter-Umgebung angeordnet sind.
-
4B zeigt
ein Schema zum Senden von Daten von einem Initiator an ein Ziel,
die beide in einer Lichtleiter-Umgebung angeordnet sind, nach den
Lehren der vorliegenden Erfindung.
-
5 zeigt
einen Abschnitt eines nach den Lehren der vorliegenden Erfindung
bereitgestellten Kommunikationsrahmens.
-
6 zeigt
Austausch-Identifikator-Strukturen für Lichtleiterkanal-Vorrichtungen,
die nach den Lehren der vorliegenden Erfindung bereitgestellt werden.
-
7 zeigt
ein exemplarisches Flussdiagramm für eine Ausführung eines Verfahrens zum
Durchführen
eines Datenschreibvorgangs zwischen einem Urheber und einem Erwiderer
nach den Lehren der vorliegenden Erfindung.
-
Auf
die Zeichnungen verweisend, in denen gleiche oder ähnliche
Elemente mit identischen Verweiszeichen bezeichnet sind, und worin
die verschiedenen Elemente nicht unbedingt maßstäblich dargestellt sind, zeigt 1 ein
Blockschaltbild eines exemplarischen Computersystems 200,
in dem die Lehren der vorliegenden Erfindung praktiziert werden
können.
Wie die Fachleute erkennen können,
wird das Computersystem 200 in 1 in seinen
funktionalen Aspekten dargestellt. Ein Betriebssystem (OS) 210 wird
in dem Computersystem 200 bereitgestellt, um den damit
verbundenen Informationsfluss zu steuern. Das OS 210 kann
ein Plattenbetriebssystem (DOS) oder ein Netzwerkbetriebssystem
(NOS), z.B. Windows NT® oder NetWare®, sein,
die abhängig
davon geeignet sein können,
ob das Computersystem 200 in einer Netzwerkkonfiguration
angeordnet ist oder nicht.
-
Das
OS 210 ist außerdem
in der Lage, mit wenigstens einer herkömmlichen Kanalkommunikationsschnittstelle
zu arbeiten, z.B. dem SCSI-Standard. Das exemplarische OS 210 kann
weiter mit solchen Funktionsstrukturen versehen sein, die einen
Betrieb zwischen herkömmlichen
Netzwerk-Kommunikationsprotokollen, z.B. dem Internet-Protokoll
(IP), ermöglichen.
-
Weiter
auf 1 verweisend kommuniziert das exemplarische OS 210 mit
einem OS-kompatiblen Kanal oder Netzwerkkommunikations-Protokoll/Schnittstelle 215 über einen
Oberstufen-Kommunikationsweg 230. Man sollte zur Kenntnis
nehmen, dass der Oberstufen-Kommunikationsweg 230 in der
Funktionsblockdarstellung des exemplarischen Computersystems 200 solche
OS-Softwarestrukturen wie Kommunikationsprotokolltreiber, z.B. die
SCSI-Protokolltreiber
oder IP-Protokolltreiber, umfassen kann. Das exemplarische OS 210 und
das OS-kompatible Schnittstelle/Protokoll 215 bilden zusammen
das, was im Folgenden als eine OS-Umgebung 250 in dem Computersystem 200 bezeichnet
wird. Verweiszeichen 220 bezeichnet eine Lichtleiterkanal-(FC)Umgebung,
die eine Vielzahl von FC-Vorrichtungen umfassen kann, die nach den
Lehren der vorliegenden Erfindung zu arbeiten in der Lage sind,
zusätzlich
zu der unten im Einzelnen beschriebenen Lichtleiterkanal-Protokoll-(FCP)Architektur.
-
Weiter
auf 1 verweisend ist zu erkennen, dass die meisten
Betriebssysteme, einschließlich
z.B. des OS 210, nicht mit der Fähigkeit versehen sind, mit
den in der FC-Umgebung 220 angeordneten Vorrichtungen "direkt" zu kommunizieren.
Um die Vorteile der FC-Umgebung 220 in einem exemplarischen
Computersystem 200 einzuschließen und nutzbar zu machen,
wird daher ein Link-Pfad 225 zwischen der FC-Umgebung 220 und
der OS-kompatiblen Kommunikationsschnittstelle 215 bereitgestellt.
-
Nun
auf 2 verweisend wird eine schematische Darstellung
der FCP-Stapelarchitektur allgemein bei 300 gezeigt. Wie
leicht zu erkennen ist, ist die FCP-Architektur als ein hierarchischer
Satz von Protokollschichten strukturiert, fast wie der Open Systems
Interface (OSI) Stack. Die drei unteren Schichten des FC-Stapels
(Schicht 310, bezeichnet als FC-0, bis Schicht 320,
bezeichnet als FC-2) bilden das, was als der Physikalische Lichtleiterkanal-Standard (FC-PH)
bekannt ist. Dieser Standard definiert alle physikalischen Übertragungseigenschaften
einer Lichtleiter-Kanalumgebung, einschließlich z.B. der FC-Umgebung 220 (gezeigt
in 1). Die restlichen Schichten (Schicht 325,
bezeichnet als FC-3, und Schicht 330, bezeichnet als FC-4)
handhaben Schnittstellen mit anderen Netzwerkprotokollen und Anwendungen.
Anders als bestehende Lokale Netzwerk-(LAN)Technologien, wie Ethernet
und Token Ring, hält
FC die verschiedenen Funktionsschichten des Stapels 300 physikalich
getrennt. Wie einzusehen ist, ermöglicht diese physikalische
Trennung die Implementierung einiger Stapelfunktionen in Hardware
und anderer in Software oder Firmware.
-
Die
Schicht 310, FC-0, ist die unterste Funktionsschicht der
FC-Architektur und beschreibt die physikalischen Eigenschaften der
Link-Verbindungen unter der Vielzahl von in der FC-Umgebung 220 (1)
angeordneten FC-Vorrichtungen. FC-0 unterstützt eine Grundrate von 133
Mbaud, die am häufigsten
benutzte Geschwindigkeit von 266 Mbaud sowie 531 Mbaud und 1.062
Gbaud. Wegen des beim Herstellen und Aufrechterhalten von Link-Verbindungen
involvierten Overheads ist jedoch der wirkliche Datendurchsatz etwas niedriger:
100 Mbit/s für
133 Mbaud, 200 Mbit/s für
531 Mbaud, 400 Mbit/s für
531 Mbaud und 800 Mbit/s für 1.062
Gbaud. FC-0 unterstützt
einen weiten Bereich von physikalischer Verkabelung, einschließlich Einmoden oder
Mehrmoden faseroptischem Kabel, Koaxialkabel und geschirmten verdrillten
Paar (STP) Medien. Jedes dieser Verkabelungselemente unterstützt einen
Bereich von Datenraten und setzt spezifische Entfernungsbegrenzungen,
aber FC kann sie alle in der gleichen FC-Umgebung, wie z.B. die
in 1 gezeigte FC-Umgebung 220, mischen.
Zum Beispiel könnte
eine Einmoden optische Faser für
Entferungen bis zu 10 km benutzt werden, eine Mehrmoden-Faser bei
200 Mbit/s könnte
für Entfernungen
bis zu 2 km benutzt werden, und STP, das 100 Mbit/s unterstützt, kann
für bis
zu 50 Metern benutzt werden.
-
Die
Schicht 315, FC-1, definiert das Übertragungsprotokoll, einschließlich der
Regeln zum seriellen Codieren und Decodieren, spezieller Eigenschaften
und Fehlerkontrolle. FC-1 benutzt einen 8B/10B Blockcode, wo alle
8 Datenbits als eine 10-Bit Gruppe mit zwei Extrabits zur Fehlererfassung
und -Korrektur, bekannt als Disparitätskontrolle, übertragen
werden. Das 8B/10B-Schema liefert genügend Fehlererfassung und -Korrektur,
um den Gebrauch von niedrigpreisigen Transceivern zu erlauben, sowie
Timing-Wiedergewinnungsverfahren, um die Gefahr HF-Interferenz zu
verringern und symmetrische, synchronisierte Übertragungen zu sichern.
-
Die
dritte Schicht des FC-PH, Schicht 320, FC-2, beschreibt,
wie Daten zwischen den FC-Vorrichtungen übertragen
werden, wobei jede FC-Vorrichtung an einem "Knoten" angeordnet ist, und enthält die Definition
des Rahmenformats, Rahmensequenzen, Kommunikationsprotokolle und
Serviceklassen. Die Grundeinheit der Datenübertragung im Lichtleiterkanal
ist ein Rahmen variabler Größe. Rahmen
können
bis zu 2.148 Byte lang sein, die eine variable Nutzlast von bis
zu 2.048 Byte und eine ausgewählte
Größe an Overhead (auch
als Rahmenvorspann bezeichnet) umfassen, das Rahmung, Quellen- und
Zielport-Adressierung, Servicetyp und Fehlererfassungsinformation
bereitstellt. Bei einigen Ausführungen
kann es auch einen variablen, optionalen Overhead-Block für andere
verschiedenartige Information über
die Benutzerdaten, d.h. die Nutzlast, geben. Eine einzelne Oberschicht-(die
oberen Schichten in dem Stapel 300)Protokollnachricht kann
größer sein
als die Nutzlast-Kapazität
eines Rahmens, in welchem Fall die Nachricht in eine Serie von verwandten Rahmen,
eine Sequenz genannt, fragmentiert wird. Eine weitere Beschreibung
betreffend FC-Kommunikationsrahmen wird unten bereitgestellt.
-
Weiter
auf 2 verweisend kann die FC-" Schicht als das "Hauptarbeitspferd" des FC-Stapels 300 angesehen
werden. Sie rahmt und ordnet sequenziell Daten von den oberen Schichten
(Schichten 325 und 330) zum Übertragen über die FC-0 Schicht; sie empfängt Übertragungen
von der FC-0 Schicht und rahmt sie neu und ordnet sie sequenziell
neu, wenn nötig,
zur Verwendung durch die oberen Schichten 325 und 330. Zusätzlich zum
Definieren eines Vollduplex-Übertragungsweges
zwischen zwei Knoten stellt die FC-2 Schicht auch wichtige Verkehrsverwaltungsfunktionen
bereit, einschließlich
Flusssteuerung, Link-Verwaltung,
Pufferspeicherverwaltung und Fehlererfassung und -Korrektur. Ein
wichtiges Merkmal des FCP-Stapels 300 ist, dass die FC-2
Schicht vier Serviceklassen definiert, um eine Vielfalt von Kommunikationsbedürfnissen
zu erfüllen. Klasse
1 Service definiert festverdrahtete oder leitvermittelte Verbindungen,
die überlassene,
nicht unterbrechbare Kommunikationsverbindungen sind. Dieser Service
stellt den auschließlichen
Gebrauch der Verbindung für
ihre Dauer bereit (manchmal eine "selbstsüchtige Verbindung" genannt). Klasse 1
Service ist für
zeitkritische, "nicht
stoßartige" überlassene Verbindungen bestimmt,
z.B. die zwischen zwei Supercomputern. Klasse 2 Service ist eins
verbindungslose Rahmenvermittelte Übertragung, die eine Zustellung
garantiert und den Empfang von Verkehr bestätigt. Wie herkömmliche
Paketvermittlungs-Technologien, z.B. Rahmen-Relais, wird die Klasse
2 Vermittlung auf dem FC-Datenrahmen und nicht auf einer Verbindung
durchgeführt.
Keine überlassene
Verbindung wird zwischen den Knoten errichtet; jeder Rahmen wird über irgendeine
verfügbare
Strecke an sein Ziel gesendet. Wenn im Klasse 2 Verkehr ein Stau
auftritt, wird der Rahmen erneut gesendet, bis er sein Ziel erfolgreich
erreicht. Klasse 3 Service definiert einen einer-an-viele verbindungslosen
rahmenvermittelten Service, der dem Klasse 2 Service ähnlich ist,
außer
dass er keinen Zustellungsgarantie- oder Bestätigungsmechanismus aufweist.
Es ist einzusehen, dass Klasse 3 Übertragungen schneller sind
als Klasse 2 Übertragungen,
weil sie nicht auf Bestätigung
warten. Wenn aber eine Übertragung
nicht an ihrem Ziel ankommt, sendet der Klasse 3 Service nicht erneut.
Dieser Service wird sehr oft für
Echtzeit-Rundsenungen verwendet, die nicht auf Bestätigung warten
können,
aber nicht zeitkritisch genug sind, um den Klasse 1 Service zu rechtfertigen.
Er wird auch für
Anwendungen benutzt, die verlorene Rahmen tolerieren können. Klasse
4 Service ist ist ein verbindungsbasierter Service, der eine garantierte
Teilbandbreite und garantierte Latenzpegel anbietet.
-
Die
FC-3 Schicht, Schicht 325, stellt einen gemeinsamen Satz
von Kommunikationsdiensten von Oberschicht-Protokollen über der
FC-PH-Stufe bereit. Diese zusätzlichen
Dienste können
z.B. Mechanismen für
Multicast- und Broadcast-Datenzustellung, "hunt"-Gruppen,
worin mehr als ein Zielknoten einem gegebenen Initiator-Knoten antworten
kann, und Multiplexieren von mehrfachen Oberschicht-Protokollen
und des FC-PH umfassen.
-
Die
oberste Schicht, Schicht 330, des FCP-Stapels 300 ist
die FC-4 Schicht. Sie definiert die Oberschicht-Anwendungen, die über eine
FC-Infrastruktur arbeiten können,
z.B. die in 1 gezeigte FC-Umgebung 220.
Die FC-4 Schicht liefert ein Verfahren, um bestehende Kanal- und
Netzwerk-Protokolle auf einem Lichtleiterkanal zu verwenden, ohne
diese Protokolle zu modifizieren. Die FC-4 Schicht agiert folglich
wie eine Protokoll-Konvergenzschicht, sodass der FC-Knoten die genauen
Unterschicht-Transportdienste bereitzustellen scheint, die das Oberschichtkanal-
oder Netzwerkprotokoll benötigt.
Diese Konvergenzfunktion kann erfordern, dass die FC-4 Schicht zusätzliche
Dienste bereitstellt, z.B. Pufferung, Synchronisation oder Priorisierung von
Daten. Es ist einzusehen, dass die FC-4 Funktionalität in dem
Link-Pfad 225 enthalten ist, der zwischen der FC-Umgebung 220 und
der OS-kompatiblen
Schnittstelle 215 des in 1 gezeigten
exemplarischen Computersystems 200 angeordnet ist.
-
Mit
Verweis auf 2 sind verschiedene FC-4 Stufen-Mappings
für eine
Anzahl von Oberstufen-Kanal- und Netzwerk-Kommunikationsprotokollen
spezifiziert worden, einschließlich:
Intelligent Peripheral Interface (IPI), SCSI; High-Performance Parallel
Interface (HIPPI); Single Byte Command Code Set (SBCCS); Logical
Link Control (LLC) und Asynchronous Transfer Mode (ATM) Adaption
Layer (AAL).
-
Vorrichtungen,
die mit dem Lichtleiter-Kanalprotokoll zu arbeiten vermögen, enthalten,
ungeachtet, ob sie Initiatoren oder Ziele sind, typischerweise eine
Steuerung (im Folgenden eine FC-Steuerung), die die Funktionalität von einigen
der Mittelschichten des FCP-Stapels 300 verkörpert. Zum
Beispiel verkörpern
gegenwärtige
FC-Steuerungen typischerweise die Funktionalitäten der Schichten 315 und 320 (FC-1
und FC-2). Andererseits würde
ein Host-Computersystem, z.B. das in 1 gezeigte
exemplarische Computersystem 200, für die oberen Schichten (FC-3
und FC-4) verantwortlich sein. Ein physikalisches Link-Modul (PLM),
z.B. ein Gigabit-Link-Modul (GLM), würde die unterste Schicht 310 (FC-0)
implementieren.
-
Der
zentrale Mechanismus zum Koordinieren eines Austauschs von Information
zwischen zwei FC-Vorrichtungen ist ein Prozess, der auf der höchsten Stufe
der FC-Architektur zu arbeiten vermag und in der Technik gewöhlich als
ein Austausch bezeichnet wird. Austausche bestehen aus einer oder
mehreren verwandten Sequenzen, d.h. Sätzen von einem oder mehreren
verwandten Datenrahmen, die von einer FC-Vorrichtung zu der anderen übertragen
werden. Während
es viele zwischen zwei Vorrichtungen offene Austausche gehen kann,
ist in dem Austausch typischerweise nur eine Sequenz aktiv. In Bezug
auf einen Austausch werden die FC-Master- und Slave-Vorrichtungen
typischerweise als Urheber bzw. Erwiderer bezeichnet. In Bezug auf
eine Sequenz werden der Master und Slave als Initiator bzw. Empfänger bezeichnet.
-
Gekennzeichnet
durch eine variable Länge
umfasst ein Rahmen typischerweise einen Anfangsbegrenzer (Rahmenstart-
oder SOF-Begrenzer), einen Rahmenvorspann, bestimmte Nutzlast, eine
zyklische Redundanzprüfung
(CRC) und einen Endebegrenzer (Rahmenende- oder EOF-Begrenzer). SOF und EOF enthalten
ein FC-spezifisches Sonderzeichen und werden benutzt, um anzuzeigen,
wo ein Rahmen beginnt und endet. Das FC-spezifische Sonderzeichen
ist 10-Bit Übertragungszeichen,
das keinen entsprechenden 8-Bit Wert besitzt (wie die oben beschriebene
8B/10B-Blockcodierung), aber dennoch als gültig angesehen wird.
-
Ein
FC-Profil ist eine Zwischenbetriebsfahigkeits-Spezifikation, die
in der Industrie als ein Satz von Implementierungsrichtlinien für die verschiedenen
FC-4 Stufen-ULP-Mappings be nutzt wird. Die Profile dienen als ein
Körper
von Regeln für
Systemhersteller, Systemintegratoren, Bauteilehersteller und Benutzer,
die begehren, zwischenbetriebsfähige
FC-Peripheriegeräte,
Hosts und Komponenten zu entwerfen und auszuwählen. Jedes Profil spezifiziert,
welche Einstellungen der vielen vorerwähnten Lichtleiterkanal physikalischen, Linkstufen-
und ULP-Optionen für
die zwischenbetriebsfähige
Implementierung auszuwählen
sind. Ein FC-Profil kann man sich im Grunde als einen vertikalen
Schnitt durch den RC-Optionsraum vorstellen. Die folgende Tabelle
(Tabelle 1) fasst den Inhalt eines in einem FC-SCSI-Profil betriebsfähigen Rahmenvorspanns zusammen.
-
-
Die
verschiedenen Rahmen-Vorspannfelder werden wie folgt beschrieben.
Das R_CTL Feld identifiziert den Rahmen als Teil einer FC-Protokolloperation
und identifiziert auch die Informationskategorie. Das Feld D_ID
identifiziert das Ziel der Rahmens. Das durch den Austausch-Urheber
gesendete Feld D_ID ist der SCSI-Standard-Zielidentifikator. Das
Feld S_ID identifiziert die Quelle des Rahmens, und das durch den
Austausch-Urheber gesendete Feld S_ID ist der SCSI-Standard-Urheber-Identifikator.
Das Feld TYPE identifiziert das Protokoll des Rahmeninhalts für Datenrahmen.
Für SCSI-FCP
würde der
Wert in diesem Feld 0x08 sein.
-
Mit
Tabelle 1 fortfahrend verwaltet das Feld F_CTL den Beginn und den
normalen oder anomalen Abschluss von Sequenzen und Austauschen.
Das Feld SEQ_ID identifiziert jede Sequenz zwischen einem bestimmten
Austausch-Urheber und einem Austausch-Erwiderer mit einem eindeutigen
Wert. Das Feld DF_CTL gibt alle optionalen Vorspanne an, die vorhanden
sein können,
obwohl sie nicht benötigt
werden. Das Feld SEQ_CNT gibt die Rahmenreihenfolge in der Sequenz
an. Das Feld OX_ID ist die Urheber-Identifikation des Austauschs
zum eindeutigen Bezeichnen (oder Markieren) von Rahmen, die Teil
eines bestimmten Austauschs sind. Das Feld RX_ID ist der Erwiederer-Identifikator
des Austauschs zum Bezeichnen (oder Markieren) von Rahmen, die Teil
eines bestimmten Austauschs sind. Wie unten zu sehen ist, kann das
Feld RX_ID in Rahmen von einem Urheber entsprechend den Lehren der
vorliegenden Erfindung zum Zweck des Erleichterns einer effizienten
Schreiboperation benutzt werden, bei der Befehls- und Datenrahmen
zusammen gesendet werden können.
-
Das
Feld RLTV_OFF gibt den relativen Versatz des ersten Bytes der Nutzlast
jedes Rahmens in Bezug auf die Basisadresse der Informationskategorie
an. Für
das FC-SCSI-Profil ist der relative Offset der SCSI-Standard-Anwendungs-Clientpufferoffset,
und die Basisadresse ist die Anfangsadresse des Anwendungs-Clientpuffers.
-
Ein
Urheber kann typischerweise eine begrenzte Zahl offener Austausche
handhaben. Jeder Austausch wird mit bestimmten Ressourcen in dem
Urheber versehen, z.B. ein Speicherabschnitt, Rahmen, Rahmenvorspanne
usw., zum Erleichtern des Austauschprozesses mit einem ausgewählten Erwiderer.
Diese Ressourcenteile werden vorzugsweise durch OX_IDs indiziert,
die für
den Urheber verfügbar
sind.
-
Desgleichen
kann ein Erwiderer nur eine bestimmte Zahl offener Austausche handhaben,
von denen jeder mit einem Ressourcenteil in dem Erwiderer verbunden
ist. Diese Ressourcenteile werden die durch RX_IDs indiziert, die
für den
Erwiderer verfügbar
sind. Wie einzusehen ist, kann jeder Erwiderer und Urheber eine
unterschiedliche Zahl offener Austausche haben.
-
Nun
auf 3A–3C verweisend
werden drei exemplarische topologische Konfigurationen allgemein
bei 490, 491 und 492 gezeigt, in denen
die FC-Knoten angeordnet werden können. Ein Knoten ist eine Wesenheit,
System oder Vorrichtung mit der Fähigkeit, die ULPs, die FC-3
und einige der FC-2 Funktionen zu verarbeiten. Ein Knoten kann einen
oder mehrere Ports enthalten, allgemein als Knoten-Ports oder N_Ports bekannt.
Ein N_Port ist eine Hardware-Wesenheit in einem Knoten, die den
FC-PH unterstützt.
Sie kann als ein Urheber (d.h. ein Initiator), ein Erwiderer (d.h.
ein Ziel) oder beides agieren. Man sollte zur Kenntnis nehmen, dass
die Begriffe Knoten, Vorrichtung und Port für den Zweck der vorliegenden
Erfindung etwas austauschbar gebraucht werden.
-
Verweiszeichen 490 betrifft
eine Punkt-zu-Punkt-Topologie, die Kommunikationsstrecken 410A, 410B benutzt,
um einen Vollduplex-Kommunikationsweg zwischen irgendwelchen zwei
FC-Knoten, hier als N_Ports 400A und 400N bezeichnet,
bereitzustellen. Diese Verbindungstopologie stellt die größtmögliche Bandbreite und
niedrigste Latenz bereit, da es keine Zwischen-Vorrichtungen/Knoten
gibt.
-
Verweiszeichen 492 betrifft
eine vermittelte Struktur-Topologie, wo jede FC-Vorrichtung oder
Knoten (N_Port) mit einem F_Port verbunden ist, der Teil einer Struktur
ist, z.B. Struktur 430, und einen nicht sperrenden Datenweg
zu jeder anderen Verbindung auf der Struktur empfängt. Ein
F_Port ist der Zugangspunkt der Struktur zum physikalischen Verbinden
mit einem anderen Knoten. Die Struktur 430 kann ein Schalter
oder Serie von Schaltern sein und ist verantwortlich für das Routing
zwischen Knoten, Fehlererfassung und -Korrektur sowie die Flusssteuerung.
Der Betrieb der Struktur 430 ist unabhängig von den Oberschicht-Kommunikations-Protokollen,
in hohem Maße
entfernungsunempfindlich und kann auf jeder Technologie basiert
sein.
-
Kommunikationswege,
z.B. Weg 437, stellen eine bidrirektionale Verbindung zwischen
einem Knoten, N_Port 440 und einem Strukturport (F_Port) 436 bereit.
Die vermittelte Struktur-Topologie 492 liefert die größte Verbindungsfähigkeit
und Gesamtdurchsatz aller drei FC-Topologien. Es ist einzusehen,
dass die vermittelte Struktur-Topologie 492 die Fähigkeit
bereitstellt, eine große
Zahl von Systemen zusammenzuschalten, hohe Bandbreitenanforderungen
auszuhalten, Datenraten zwischen Verbindungen verschiedener Geschwindigkeiten
anzupassen sowie unterschiedliche Verkabelungselemente anzupassen.
-
Verweiszeichen 491 bezeichnet
eine Schleifen-Topologie, in der Technik bekannt als eine geschlichtete
Schleife (AL) entsprechend einem als FC-AL-Standard bezeichneten
Verbindungsstandard. Die Schleifen-Topologie 491 verbindet
eine Vielzahl von FC-Vorrichtungen oder Knoten (bezeichnet als Schleifenports oder
L_Ports), z.B. L_Ports 420A bis 420D, über Links 425A bid 425D.
Diese Verbindungsanordnung ermöglicht
daher jeder Vorrichtung, die Schleifen-Topologie 491 als
eine Punkt-zu-Punkt-Verbindung zwischen einem Sender und einem Empfänger ungeachtet
irgendwelcher dazwischen angeordneter Zwischenvorrichtungen, die
nur als "Repeater" agieren, zu verwenden.
-
Die
geschlichtete Schleife 491 stellt ein billiges Mittel bereit,
um vielfache Vorrichtungen ohne die Notwendigkeit für Hubs oder
Schalter anzuschließen.
Obwohl in 3B nur vier L_Ports gezeigt
werden, stellt die Schleife geteilte Bandbreite für bis zu
127 L_Ports bereit. Jeder L_Port fordert die Benutzung der Schleife
an, wenn er mit einem anderen Port kommunizieren muss. Wenn die
Schleife frei ist, errichtet der anfordernde Port eine bidirektionale
Verbindung mit dem Zielport. Das Schleifenprotokoll erlaubt einem
L_Port, fortlaufend zu arbitrieren, um auf das Übertragungsmedium zuzugreifen,
um an einen anderen L_Port zu senden; ein Fairness-Algorithmus stellt
sicher, dass kein L_Port vom Zugreifen auf die Schleife ausgeschlossen
wird. Sobald eine Verbindung hergestellt ist, kann sie dann jede
Klasse von Service liefern, die für den Verkehr zwischen den
zwei L_Ports geeignet ist.
-
Wie
in der Technik bekannt ist, kann nur ein Paar von L-Ports zu einer
Zeit kommunizieren. Wenn diese L_Ports die Steuerung der Schleife
abgeben, kann eine andere Punkt-zu-Punkt-Verbindung zwischen zwei L_Ports errichtet
werden. Ferner kann die ganze Schleife mit einem FC-Schalterstrukturport über das
verbunden werden, was als ein FL_Port bekannt ist, oder direkt mit
einem einzelnen Hostsystem über
einen NL_Port.
-
Weil
die gegenwärtig
bevorzugte exemplarische Ausführung
der vorliegenden Erfindung vorzugsweise eine FC-AL-Topologie umfasst,
z.B. die Schleifen-Topologie 491, wird die allgemeine Arbeitsweise
dieser Knotenkonfiguration unten ausführlicher beschrieben.
-
Es
ist bekannt, dass der FC-AL-Standard jeder FC-Vorrichtung erlaubt, über eine
Arbitrated Loop Physical Address (AL_PA) in einem Schleifeninitialisierungsprozess
zu verhandeln. Während
sie an einer arbitrierten Schleife teilnehmen, müssen sich die FC-Vorrichtungen
gegenseitig anmelden, bevor sie eine Schleifentransaktion beginnen.
Die Anmeldeprozedur ist die Anfangsprozedur, die alle kommunizierenden
Knoten durchmachen, um die Service-Parameter und eine gemeinsame
Betriebsumgebung zu errichten. Ein Beispiel der Service-Parameter
ist ein "Kredit"-Limit, das die größte Zahl
ausstehender Rahmen darstellt, die von einem Port übertragen
werden kann, ohne einen Pufferüberlauf
in dem empfangenden Port zu verursachen. Wie man sieht, ist der
Kredit ein Flusssteuer-Mechanismus, der den Link-Verkehr durch Begrenzen der Zahl von
Rahmen, die jeder Urheber-Port senden kann, drosselt. Bei herkömmlichen
FC-Steuerugen werden typisch zwei Arten von Kredit verwendet: Puffer-zu-Puffer-Kredit
(BB_Credit) und Ende-zu-Ende-Kredit (EE_Credit).
-
Wenn
eine Vorrichtung nicht bei einer anderen Vorrichtung angemeldet
ist, wird sie alle Rahmen abwerfen, die sie von dieser Vorrichtung
empfängt,
bis sie angemeldet ist. Da ein Intitiator oder Treiber in der Lage
sein muss, die Zielvorrichtung, mit der er kommuniziert, zu verwalten,
verfolgt der Initiator ein FC-spezifisches Identitäts-Triplet
für diese
Zielvorrichtung. Dieses FC-spezifische Triplet umfasst den Node_Name
eines Ziels, seinen Port_Name und seine AL_PA. Während die AL_PA bei einer Schleifenrücksetzung
dynamisch zugewiesen wird, werden der Node_Name und Port_Name aus
dem eindeutigen World_Wide_Name der Vorrichtung gebildet.
-
Wenn
die Vorrichtungen nach einer Rückstzung
auf die arbitrierte Schleife gelangen, konfigurieren sie ihre AL_PAs
in einer von drei Weisen in dem Schleifeninitialisierungsschritt.
In einem Weichadressenschema sorgt sich die Vorrichtung nicht, welche
AL_PA ihr zugewiesen wird. Sie akzeptiert vielmehr die erste freie AL_PA,
die verfügbar
ist. Bei einem bevorzugten Adressschema würde die FC-Vorrichtung wünschen,
dass ihr eine besondere AL_PA zugewiesen wird. Wenn jedoch eine
gewünschte
AL_PA aus irgendeinem Grund nicht verfügbar ist, wird sie jedwede
AL_PA akzeptieren, die frei und verfügbar ist. Zum Beispiel, nachdem
einer Vorrichtung eine spezifische AL_PA zum ersten Mal bei der "globalen" Systeminitialisierung,
die dem Laden des OS folgt, zugewiesen ist, wird diese Vorrichtung
fortfahren, diese AL_PA bei nachfolgenden Schleifenrücksetzungen
anzufordern. Sobald aber diese Vorrichtung die arbitrierte Schleife
verlässt,
wird sie ihre Fähigkeit
verlieren, diese AL_PA "vorzuziehen", und muss auf das
Akzeptieren der ersten freien AL_PA, die verfügbar ist, zurückgreifen.
-
Drittens,
bei einem Hartadressenschema kann die FC-Vorrichtung nur an einer
bestimmten AL_PA arbeiten. Entsprechend dem Schleifeninitialisierungsprotokoll
(LIP) in dem FC-AL-Standard,
das die Konfiguration der AL_PAs behandelt, hat dieses Verfahren
der Adresskonfiguration Vorrang vor den ersten zwei Verfahren, nämlich dem
Weichadressenschema und dem Bevorzugte-Adresse-Schema.
-
Die
Initiator-FC-Vorrichtungen können
einen Link-Service-Befehl/Rahmen initiieren, nachdem alle AL_PA-Zuweisungsprobleme
gelöst
wurden. Link-Service-Rahmen enthalten sowohl "Anforderungs"- als auch "Antwort"-Rahmen. Anforderungsrahmen sind die
Link-Service-Rahmen, die eine empfangende Vorrichtung auffordern,
einen Antwortrahmen zurückzusenden,
und enthalten unter anderem Login Service Frames (PLOGI), Logout
Frames (PLOGO), Discover N_Port Service Parameters Frames (PDISC),
Discover Address Frames (ADISC), Process Login Frames (PRLI), Process
Logout Frames (PRLO) und Reinstate Recovery Qualifier Frames (RRQ).
-
In
einer Einzel-Initiator-Umgebung sendet die Initiator-Vorrichtung
Link-Service-Rahmen, wenn nötig, aus,
und erwartet als Antwort darauf einen Bestätigungsrahmen (LS_ACC) oder
eine Rückweisungsrahmen (LS_RJT).
Weiter verfolgt die Initiator-Vorrchtung den Typ von Link-Service-Rahmen,
die ausgesendet werden, durch Speichern der Typinformation (Im Folgenden "Typinformationselement)
für jeden
Link-Service-Rahmen in einer Speicheranordnung, genannt outstanding_link_services
Anordnung. Diese Anordnung umfasst typisch eine Vielzahl von Speicherstellen,
von denen jede der AL_PA einer Empfängervorrichtung entspricht.
Außerdem
werden in typischen Ausführungen
alle Link-Service-Rahmentypen für
jeden Empfänger
gespeichert und wie sie sind ausgesendet.
-
Der
anfängliche
Port-Entdeckungsprozess durch eine Initiator-Vorrichtung ist ein
Zweischritt-Prozess in
der FC_AL-Umgebung, ohne Rücksicht
darauf, ob es einen oder mehrere Initiatoren umfast. Erstens, wenn der
Initiator bereits in einer Empfänger-Vorrichtung
eingetragen ist, wird ein PDISC-Rahmen gesendet. Andernfalls wird
ein PLOGI-Ramen gesendet. Zweitens, wenn ein LS_ACC-Rahmen als Antwort
auf einen PLOGI-Rahmen empfangen wird, sendet der Initiator einen
PRLI-Rahmen an diesen Erwiderer. Wenn andererseits der LS_ACC-Rahmen
als Antwort auf einen PDISC-Rahmen empfangen wird, müssen keine
anderen Rahmen an diesen Erwiderer gesendet werden.
-
4A zeigt
ein Schema für
ein gegenwärtiges
Verfahren zum Durchführen
einer Transaktion, um Daten von einem Initiator 410 an
ein Ziel 415 zu übertragen.
Unter diesem Schema sendet der FC-Initiator 410 zuerst
einen Schreibbefehl 400, der in einem PC-Profil, z.B. dem
FC-SCSI-Profil nutzbar ist. Dies wird in 4A als
Pfeilweg 405 gezeigt. Der Initiator 410 wartet
dann auf einen TRANSFER READY-Rahmen 420, der von dem Ziel 415 zurückzusenden
ist. Nach Gewinnen der Schleifen-Arbitration zur Steuerung sendet
das Ziel anschließend
diesen Rahmen 420 an den Initiator 410, um anzuzeigen,
dass es bereit ist, einige oder alle Daten, die der Initiator 410 zu
senden wünscht,
zu empfangen. Dieser Schritt wird in 4A durch
den Pfeilweg 425 angegeben.
-
Danach
kann durch Erlangen der Schleifensteuerung durch Arbitration der
Initiator 410 den Datenrahmen oder Rahmen 430 an
das Ziel 415 senden (schreiben), wie durch Pfeilweg 435 gezeigt.
Sobald alle Daten empfangen sind, wird das Ziel 415 einen
Statusrahmen 440 senden, um dem Initiator 410 anzuzeigen,
dass der Schreibbefehel jetzt vollendet ist. Es ist ohne weiteres
zu verstehen, dass gegenwärtige
Lichtleiterkanal-Schreibverfahren, z.B. das oben erörterte Verfahren,
ineffizient sind, weil sie wenigstens vier Schleifen-Arbitrationen
zum Vollenden eines Schreibbefehls benötigen. Wein der Technik bekannt,
können
Schleifen-Arbitrationen eine endliche Mege an Zeit in Anspruch nehmen,
und wenn die Zahl von Arbitrationen pro einem Befehlsvollendungszyklus
zunimmt, wird folglich die Systemleistung verschlechtert. Des Weiteren,
wenn die Schleifen-Topologie mehrfache Initiatoren umfasst, oder
wenn die Schleifenentfernung größer wird,
weil der Schleife mehr Vorrichtungen hinzugefügt werden, wird die Schreibleistung
wahrscheinlich noch mehr nachteilig beeinflusst.
-
In 4B wird
ein Methodologie-System zum Erhöhen
der Lichtleiterkanalleistung nach den Lehren der vorliegenden Erfindung
veranschaulicht. Der Initiator 410 verfügt über die Fähigkeit, in einer Arbitration
sowohl Schreibbefehls- als auch Datenrahmen, kollektiv als Schnellschreibübertragung 455 bezeichnet,
an das Ziel 415 zu senden, das die Fähigkeit zum Empfangen solcher
Rahmen besitzt. Dies wird als Pfeilweg 460 gezeigt. Sobald
die Daten durch das Ziel 415 richtig empfangen wurden,
wird ein Statusrahmen 440 zurück an den Initiator 410 gesendet,
wie durch Pfeilweg 465 gezeigt, um die Vollendung der Schnellschreibübertragung 455 anzuzeigen.
Wie einzusehen ist, beseitigt diese Technik die Notwendigkeit für das Ziel 415,
zu arbitirieren und anschließend
den TRANFER READY Rahmern zu senden. Ganz besonders wird bei dieser "Schnellschreib"-Lösung die
Gesamtzahl der benötigten
Arbitrationen wesentlich verringert, und folglich ist einzusehen,
dass die Systemleistung bedeutsam erhöht wird.
-
5 zeigt
einen nach den Lehren der vorliegenden Erfindung bereitgestellten
Kommunikationsrahmen 501 zum Erleichtern eines Schnellschreibens
in einer Lichtleiter-Kanalumgebung, wie oben beschrieben. Der Kommunikationsrahmen 501 kann
z.B. ein Anforderungsrahmen, z.B. PLOGI, von einem Initiator oder
ein Antwortrahmen, z.B. LS_ACK, sein. Die Nutzlast des Rahmens 501 umfasst
vorzugsweise einen 16-Byte Abschnitt 505 zum Bereitstellen
von vendor_level Information, die für den Hersteller/Lieferanten
der sendenden FC-Vorrichtung
einmalig ist. Der 16-Byte Abschnitt 505 umfasst einen ersten
Teilabschnitt 506 und einen zweiten Teilabschnitt 507.
Jeder dieser Teilabschnitte umfasst vorzugsweise 8 Bytes. Der erste
Teilabschnitt 506, der vorzugsweise B0–B7 umfasst, kann für lieferanten-spezifische Infornation
verwendet werden.
-
Gemäß 5 kann
eine Ziel/Erwiderer-Vorrichtung nach den Lehren der vorliegenden
Erfindung den ersten Teilabschnitt 506 zum Identifizieren
verschiedener Steuerparameter benutzen, die zum Erleichtern einer Schnellschreiboperation
nötig sind.
Bei einer gegenwärtig
bevorzugten exemplarischen Ausführung
werden die acht Bytes des ersten Teilabschnitts 506 in
einem Erwiderer-Rahmen wie folgt verwendet. Die ersten vier Bytes
(d.h. B0–B3)
geben die maximale Datenmenge an, die mit einem Schreibbefehl übertragen
werden kann. Die nächsten
zwei Bytes (B4 und B5) geben die erste gültige RX_ID (unten im Detail
beschrieben) an, die ein Initiator/Urheber, der zum schnellen Schreiben
in der Lage ist, zum Zweck eines schnellen Schreibens verwenden
kann. Die leztzten zwei Bytes, B6 und B7, geben dem Urheber an,
wie viele RX_IDs durch den Erwiderer zum vorzugsweise exklusiven
Gebrauch durch den Urheber zum Durchführen schneller Schreibungen
ausgewählt
wurden. Bei einer gegenwärtig
bevorzugten exemplarischen Ausführung
liegt es jedoch an dem Urheber, den Gebrauch dieser ausgewählten RX_IDs
zu verwalten.
-
Weiter
auf 5 verweisend kann ein nach den Lehren der vorliegenden
Erfindung bereitgestellter Urheber wenigstens zum Teil auch den
ersten Teilabschnitt 506 des Kommunikationsrahmens 501 verwenden. Bei
einer gegenwärtig
bevorzugten exemplarischen Ausführung
ist das erste Byte B0 codiert, um einem Erwiderer anzuzeigen, dass
der sendende Urheber für
eine Schnellschreib-Kommunikation mit diesem Erwiderer zugänglich ist.
-
6 zeigt
eine Urheber Austausch-Identifikatorstruktur (OX_ID Index) 605 und
eine Erwiderer-Austausch-Identifikatorstruktur (RX_ID Index) 610.
Der RX_ID Index 610, der in einem Erwiderer bereitgestellt wird,
kann eine bestimmte Zahl von Austausch-Identifikatoren, z.B. RX_ID
1 bis RX_ID M. unfassen, die die Gesamtzahl offener Austausche begrenzen,
die der Erwiderer handhaben kann. Ein Teil des RX_ID Indexes 610,
z.B. Teil 620, der einen bestimmten Bereich von RX_IDs
umfasst, kann zum Erleicherten von Schnellschreib-Transaktionen
mit einem bestimmten Urheber nach den Lehren der vorliegenden Erfindung
zugeteilt werden. Verweiszeichen 621 betrifft den ersten
gültigen
RX_ID, den der bestimmte Urheber zum Zweck einer Schnellschreibung
verwenden kann. Verweiszeichen 629 betrifft ähnlich den
letzten RX_ID, der diesem Urheber zugeteilt ist. Obwohl in 6 nicht
gezeigt, ist jeder der RX_IDs in dem Index 610 vorzugsweise
mit einem Ressourcen-Abschnitt in dem Erwiderer verbunden.
-
Der
in einem Urheber bereitgestellte OX_ID Index 605 kann eine
bestimmte Zahl von OX_IDs, z.B. OX_ID 1 bis OX_ID N, umfassen, die
die Gesamtzahl offener Austausche begrenzen, die der Urheber handhaben
kann. Jeder der OX_IDs des Indexes 605 ist vorzugsweise
mit einem Ressourcen-Abschnitt in dem Urheber verbunden. Ferner
kann ein Teil des OX_ID Indexes 605, bezeichnet als Teil 615,
vorzugsweise mit dem RX_ID Index-Abschnitt 620 über ein
assoziatives Mapping verbunden sein. Diese Funktionalität kann in
dem Urheber wenigstens zum Teil zum Zweck des Verwaltens der zugeteilten
RX_IDs im Abschnitt 620 bereitgestellt werden, obwohl einzusehen
ist, dass es andere Wege zum Verwalten derselben geben könnte.
-
Auf 7 verweisend
kann nun in Verbindung mit der vorangehenden ausführlichen
Beschreibung eine allgemeine Arbeitsweise der vorliegenden Erfindung
erhalten werden. Wie beschrieben wurde, ist der Prozess des Einloggens
in FC-Vorrichtungen eine recht sequenzielle Aufgabe. Ein zum schnellen
Schreiben (FW) fähiger
Erwiderer mag daher erst wissen, wie viele Urheber (FW-fähig oder
sonstwie) sich auf der Lichtleiter-Arbitrationsschleife befinden,
wenn sie alle bei ihm eingeloggt haben. In Umgebungen mit vielfachen
Urhebern kann es nötig
sein, sicherzustellen, dass alle FW-fähigen Urheber eine faire Menge
an RX_IDs haben, die ihnen durch jeden der FW-fähigen und Lieferanten-kompatiblen
Erwiderer zugeteilt werden.
-
Nach
Start/Rücksetzen
in 701 durchlaufen die FC-Vorrichtungen eins Schleifeninitialisierung 702,
um ihre AL_PAs zu konfigurieren. Anschließend führen die Urheber einen Login-Pro zess
durch, wobei PLOGI-Rahmen von FW fähigen Vorrichtungen eingebettete
Information enthalten, um Erwiderern ihre FW-Fähigkeit anzuzeigen. Diese Prozesse
sind in Schritt 703 zusammengefasst. Ein Erwiderer, der
zum schnellen Schreiben nach den Lehren der vorliegenden Erfindung
fähig ist,
teilt eine ausgewählte
Zahl von RX_IDs aus seinem RX_ID Index für den exklusiven Gebrauch eines
bestimmten FW-Urhebers zu. Diese kritische Information ist in den
lieferantenspezifischen Abschnitten des LS_ACK-Rahmens eingebettet,
der durch den Erwiderer an den Urheber gesendet wird.
-
Nach
Empfangen der kritischen Information von FW-fahigen Erwiderern verbindet
der Urheber einen Abschnitt seines OX_ID Indexes mit den zugeteilten
RX_IDs von einem Erwiderer zum Zweck des Verwaltens des Gebrauchs
derselben.
-
Es
ist möglich,
dass ein Erwiderer einen LIP-Schritt 702 basierend auf
bestimmten Bedingungen einleiten kann. Wenn z.B. ein Urheber in
einen kompatiblen Erwiderer vor anderen Urhebern einloggt, kann
diesem Urheber die volle Zuteilung von RX_IDS gegeben werden, die
schnelles Schreiben unterstützen.
Wenn nachfolgende Urheber in diese Erwiderer einloggen, nachdem
eine ausgewählte
Time-out-Periode vergangen ist, geben die von ihm zurückgegebenen
LS_ACK-Ramen die Unverfügbarkeit
von FW-fähigen
RX_IDs an. In dieser Situation kann der Erwiderer erfassen, dass
es mehr als einen Urheber auf der arbitrierten Schleife gibt, der
in ihn eingeloggt ist. Es kann vorzugsweise vorgesehen werden, dass,
wenn ein Erwiderer diesen Zustand erfasst, der Erwiderer einen LIP-Schritt 702 einleiten
kann, sodass alle Urheber sich wieder in den Erwiderer einloggen.
Der Erwiderer, der Kenntnis davon hat, wie viele Urheber auf der
Schleife vorhanden sind, kann nun seine RX_ID Indexabschnitte entprechend
zuteilen.
-
Nachdem
in 7 Befehls- und Datenrahmen durch einen Erwiderer
entsprechend einem Schnellschreiben empfangen wurden, kann er einen
Statusrahmen zurück
an den Urheber senden, um die Befehlsvollendung anzuzeigen, wie
im Entscheidungsblock 720 bereitgestellt. Der Urheber kann
dann den für
diesen Schnellschreibbefehl benutzten RX_ID freigeben und ihn zum
künftigen
Gebrauch reassoziieren, wie in Schritt 725 angegeben.
-
Wenn
der nach den Lehren der vorliegenden Erfindung bereitgestellte Urheber
Daten zu schreiben wünscht,
die größer sind
als die Befehl/Daten-Rahmen erlauben, oder wenn der Urheber seine
zugeteilten SW-fähigen
RX_IDs verbraucht hat, kann er einfach auf das Ausgeben des Schreibbefehls
zurückgreifen
und auf den in der herkömmlichen
Weise zurückkommenden
TRANSFER READY Rahmen warten. Die gleiche Vorgabeoption kann auch
für einen
lieferantenspezifischen, FW-fähigen
Urheber bereitgestellt werden, der Daten an einen Erwiderer von
einem anderen Lieferanten zu senden wünscht.
-
Die
Fachleute in der Technik sollten nun erkannt haben, das die vorliegende
Erfindung die Probleme der gegenwärtigen Datenübertragungsverfahren,
die in Lichtleiter-Kanalumgebungen brauchbar sind, erfolgreich überwindet.
Nach den Lehren der Erfindung können
Daten mit hoher Effizienz in eine empfangende Vorrichtung geschrieben
werden. Wie einzusehen ist, trägt
diese gesteigerte Effizienz zu erhöhter Leistung bei, die in großen Schleifen
(mit oder ohne vielfache Initiatoren) bemerkenswerter sein kann,
wo Schleifenlatenz mehr ins Auge fällt.
-
Obwohl
nur bestimmte Ausführungen
der vorliegenden Erfindung in den begleitenden Zeichnungen veranschaulicht
und in der vorangehenden ausführlichen
Beschreibung beschrieben wurden, sollte man verstehen, dass die
Erfindung nicht auf die offenbarten Ausführungen begrenzt ist, sondern
zu zahlreichen Neuanordnungen, Modifikationen und Substitutionen
fähig ist,
ohne vom Geist der Erfindung, wie durch die folgenden Ansprüche dargelegt
und definiert, abzuweichen.