SCSI 1x1

08.04.2002 von Hermann Strass
Die SCSI-Schnittstelle hat sich vor allem im professionellen Bereich seit vielen Jahren als Standard etabliert. Sie bietet im Vergleich zu IDE viele Vorteile - weit über die Performance hinaus.

SCSI ist in nunmehr fast zwanzigjähriger Entwicklungszeit das führende Bussystem für Massenspeichersysteme (Bänder, Festplatten, MO-Speicher) außerhalb des Desktop/Home-PC-Bereiches geworden. Die Technik ist ausgereift und wird laufend verbessert. Derzeit sind Datentransferraten von bis zu 160 MByte/s erreichbar. Eine weitere Verdoppelung der Datenrate ist in Kürze zu erwarten. Mit Einsatz der LVD-Schnittstelle (Low Voltage Differential) ist der Anschluss von 15 Geräten über Kabel mit 12 m Länge möglich.

Seit einigen Jahren wird der ursprünglich elektrische SCSI-Parallelbus auch immer öfter durch den seriellen FC-Bus (Fibre Channel) ersetzt. Damit können bei gleichem Protokoll bis zu 10 km zwischen den Geräten und bis zu 126 km in einem Arbitrated Loop (FC-AL) überbrückt werden. Die möglichen Datenraten liegen zwischen 100 und 400 MByte/s.

SCSI wird also sicher noch über weitere 20 Jahre (zunehmend als FC-Variante) die dominierende Verbindungstechnik für nicht Desktop-Anwendungen bleiben. Damit können Investitionen in Hard- und Software, sowie die umfangreiche Infrastruktur mit breit gestreutem Fachwissen optimal weiter genutzt werden.

Geschichte

Im August 1981 wurde der seit 1979 von der Firma Shugart entwickelte SASI-Standard (Shugart Associates System Interface) in einem Artikel der amerikanischen Zeitschrift Electronic Design zum ersten Mal vorgestellt. Der elektrische Teil war dem heutigen SCSI-1 vergleichbar, wenngleich auch mit einem sehr viel einfacheren Befehlssatz.

Aus diesem herstellerspezifischen Bus entstand ab 1982 unter wesentlicher Beteiligung von NCR eine mehr allgemein gehaltene Busschnittstelle mit symmetrischen Treibern (Gegentakt- oder Differenzialtreiber). Mit der Übernahme in die Normung durch ANSI (American National Standards Institute) wurde der Name in SCSI geändert. Die erste Version der Norm (X3.131-1986, Project 375D, ISO/IEC 9316), heute als SCSI-1 bezeichnet, wurde 1986 abgeschlossen.

Etwa 1987 wurde ernsthaft mit der Entwicklung von Wide SCSI begonnen, der Verbreiterung der SCSI-Bus-Schnittstelle von 8 auf 16 und 32 Bit. Damit begannen auch jahrelange Debatten über Stecker und Kabel. Aus diesem Grund wird Wide SCSI in SCSI-2 praktisch von niemandem angeboten. Wenn, dann wird für 16-Bit-Parallelübertragungen die Kabelvariante (P) aus dem SCSI-3-Standard verwendet.

Mit Fast SCSI begannen die Forschungen über Kabelimpedanz- und Kabelmaterial-Probleme. Fast SCSI ist in SCSI-2 definiert und erlaubt die Übertragung mit zirka 10 Megatransfer/s (im synchronen Modus) gegenüber knapp 5 Megatransfer/s in SCSI-1. Die Kombination von Fast und Wide ermöglicht etwa 40 MByte/s bei 32-bittiger Parallelübertragung. Weit höhere Geschwindigkeiten ermöglicht SCSI-3 mit serieller Übertragung (Fibre Channel, IEEE1394 u.a.).

Heute ersetzt die internationale Norm ISO/IEC 9316:1995, 2nd Edition (allgemeine Bezeichnung: SCSI-2) die internationale Norm ISO 9316:1989, 1st Edition (allgemeine Bezeichnung: SCSI-1), welche mittlerweile formal zurückgezogen wurde. SCSI-1 ist jedoch derzeit nur noch als europäische Norm EN 29316 gültig.

Ein Großteil der SCSI-Hersteller hat sich zur SCSI Trade Association zusammengeschlossen (SCSITA). Auf deren Webseite finden Sie weitere Informationen zum Thema SCSI.

SCSI-Technologie

Technisch gesehen ist SCSI ein paralleler Bus, an dem die Teilnehmer über Kabel abgeschlossen sind. Bei vielen anderen parallelen Bussystemen (zum Beispiel VME, CPCI usw.) werden die Busteilnehmer über eine feste Rückwandplatine (backplane) verbunden. Die Tatsache, dass es sich bei SCSI um einen Bus handelt, bedingt, dass beide Enden terminiert sein müssen.

Die Bezeichnung SCSI ist dabei heute an zwei Stellen falsch. Der Bus wird zum einen nicht mehr nur an Kleincomputern verwendet. Zum anderen ist SCSI keine klassische Schnittstelle (Interface) oder Punkt-zu-Punkt-Verbindung, wie der Druckerport am PC. SCSI ist ein Bus, der auch für Multiprozessorbetrieb ausgelegt ist. Da Kabel als physikalische Übertragungsmedien zum Einsatz kommen, kann SCSI auch zur Rechnerkopplung dienen. Erstaunlicherweise wird dies aber nur selten genutzt.

Am Bus gibt es einen oder mehrere Initiatoren, die eine Bus-Transaktion beginnen (initiieren) und ein oder mehrere Targets (Ziel einer Aktion), die die Aktion durchführen. In anderen Systemen sind die Bezeichnungen Master für Initiator und Slave für Target üblich. Die Bezeichnungen für SCSI wurden aber bewusst anders gewählt, da es erhebliche Unterschiede zu herkömmlichen Systemen gibt.

So kann ein Target aus mehreren so genannten LUNs (Logical Unit Number) bestehen. Dies ist in etwa vergleichbar mit der Unterscheidung zwischen Gerät und Partition bei einer Festplatte. Eine Datenübertragung geschieht also eigentlich zwischen einem Initiator und einer LUN als Endpunkt in einem bestimmten Target. Im Regelfall wird aber keine bestimmte LUN adressiert, sondern auf Grund der automatischen Voreinstellung stets mit LUN 0 gearbeitet.

Das SCSI-Komitee bemüht sich sehr, den SCSI-Bus frei von Hardware-Abhängigkeiten zu halten. So ist zum Beispiel die Aufteilung der Speicherkapazität bei Festplatten völlig unabhängig von Köpfen, Spuren, Sektoren und Zylindern. Es gibt nur eine logische Speichergröße. Wie sich diese zusammensetzt, ist nicht durch SCSI definiert.

SCSI-Bus und Signale

Während die maximale Anzahl von Busteilnehmern bei Narrow SCSI auf acht begrenzt ist, können an Wide SCSI 16 Geräte, entsprechend der Anzahl der Datenleitungen (Busbreite), angeschlossen werden. In der Norm sind auch Systeme mit 32 Datenleitungen spezifiziert, kommerzielle Systeme gibt es aber nur mit acht oder 16 Datenleitungen. Die Gesamtanzahl von Targets und Initiatoren ist beliebig, sofern mindestens ein Initiator und ein Target vorhanden sind und die Gesamtzahl nicht höher ist, als die Anzahl der Datenleitungen.

Ein Initiator kann vorübergehend auch die Rolle eines Target annehmen. Auf diese Weise können Initiatoren direkt Daten miteinander austauschen. Auch kann jeder Initiator zum Master werden (Peer-to-Peer-Funktion).

Im Prinzip ist SCSI ein einfaches, logisches Bussystem (Softwarebus), für das in der ersten Version (SCSI-1) ein paralleler elektrischer Bus für den Transfer von Befehlen, Daten und Statusmeldungen mitspezifiziert wurde. Häufig wird aber nur die elektrische Schnittstelle als SCSI angesehen, doch ist diese, wie die Kabel, nur Mittel zum Zweck.

In SCSI-2 gibt es mehrere Arten von paralleler Übertragung. In SCSI-3 werden auch serielle Übertragungsstrecken wie Fibre Channel definiert. SCSI besteht also aus zwei Teilen: dem Kabelbus und dem Softwareprotokoll.

Es gibt neun Steuer- und neun beziehungsweise 18 Datenleitungen. Im Buskabel werden alle Signale zweiadrig geführt, da über die relativ langen Kabelstrecken für jedes Signal eine eigene Rückleitung (Masse) erforderlich ist. Damit ist eine gute Signalqualität garantiert.

Die Signalnamen sind so gewählt, dass sie die aktivierte Funktion oder den Wert EINS (1) bezeichnen. Bei der unsymmetrischen Übertragung (single-ended) ist die logische Funktion aktiviert (WAHR), wenn das dazugehörige Signal im Zustand EINS (1) ist. Entsprechend gilt für eine nicht aktivierte, logische Funktion (FALSCH) das Signal NULL (0). Elektrisch entspricht dies einem hohen positiven Pegel (+2 Volt oder höher) auf der Leitung.

Bei symmetrischer Schnittstelle (differential oder LVD) ist WAHR beziehungsweise EINS (1) mit einem +Signal positiver als das dazugehörige -Signal definiert. Entsprechend gilt für FALSCH beziehungsweise NULL (0), wenn ein +Signal negativer ist als das -Signal.

Merkmale und Ziele

Primär soll SCSI einem Rechner geräteunabhängige Geräteklassen zur Verfügung stellen. So können Festplatten, Bandgeräte, Scanner oder andere Geräte ohne spezielle Treiber angeschlossen werden. Auch künftige Erweiterungen und die Einbindung von herstellerspezifischen Merkmalen sind vorgesehen. Eine Auflistung aller Geräteklassen von SCSI finden Sie hier.

Ein weiteres Ziel ist es, gerätespezifische Eigenschaften in den Geräten zu belassen. Es gibt zwar umfangreiche Möglichkeiten für ein Betriebssystem, die technischen Daten und veränderbaren Parameter des Geräts abzufragen. Doch Eigenschaften, Funktionen und Parameter, die für das Betriebssystem nicht von Belang sind, werden vom SCSI-Device selbst verwendet beziehungsweise eingestellt.

Bei SCSI ist eine Kompatibilität der verschiedenen SCSI-Varianten gegeben. Dabei ist ein Mischbetrieb möglich, ohne dass auf die langsamste oder einfachste Betriebsart zurückgeschaltet werden muss. Bei der ersten Verbindungsaufnahme zwischen den Initiatoren und Targets wird mit dem langsamen, asynchronen Protokoll begonnen, um die gegenseitigen Eigenschaften und Fähigkeiten zu ermitteln.

Die Bezeichnungen für die zentralen Einheiten Initiator (anfordernde Einheit) und Target (ausführende Einheit) wurden im amerikanischen Original absichtlich so gewählt, um Verwechslungen mit den sonst üblichen Begriffen Master, Slave oder Controller zu vermeiden.

Der SCSI-Bus zeichnet sich damit durch folgende Eigenschaften aus:

Kabel und Stecker

In SCSI-1 wurden bereits mehrere Arten von 50-poligen Steckverbindern mit und ohne Abschirmung definiert. Die Steckerbelegung ist unterschiedlich für unsymmetrische (single-ended) und symmetrische (differential) Übertragung. Neuere genormte Steckverbinder sind kleiner und mit Bügelverschluss (SCSI-2) oder Schraubverschluss (SCSI-3) mechanisch gesichert. Für die Benutzung in RAID-Schränken gibt es den so genannten SCA-Steckverbinder (80-polig für parallel-SCSI und 40-polig für den seriellen Fibre Channel). Die Plattenlaufwerke mit dem SCA-Steckverbinder werden in eine Rückwand mit entsprechendem Gegenstecker eingeschoben. Damit entfallen Kosten und der Montageaufwand für lose Kabel.

Aus historischen Gründen gibt es unterschiedliche Kabelarten und elektrische Treiber. Daraus ergeben sich auch unterschiedlichste Kabellängen. Neuere Devices basieren auf LVD-Treibern (Low Voltage Differential), die bis zu 12 m lange Kabel erlauben. Universelle Transceiver (unsymmetrisch und LVD) passen sich automatisch an. Gemischte Systeme sind nach den unsymmetrischen (single-ended) Parametern zu betreiben. Bedingt durch den mechanischen Aufbau ergeben sich dabei zwei verschiedene Zählweisen der Signalanschlüsse an den Steckverbindern.

Eine Übersicht der möglichen Kabellängen und die Steckerbelegung der verschiedenen SCSI-Standards finden Sie hier.

Einige Systemhersteller haben zudem ihre hauseigenen Kabel-Standards erfunden. Apple verwendet beispielsweise einen 25-poligen Sub-D-RS232/V24-Steckverbinder, wie er bei den parallelen und seriellen Schnittstellen am PC vorkommt. Leider haben auch einige andere Hersteller diesen technischen Unsinn übernommen, der nicht der Norm entspricht.

In der einfachsten SCSI-Variante sind 18 Signalleitungen nebst zugehörigen Masseleitungen und TERMPWR (+5 V) definiert. Bei Kabelübertragungen (maximal 6 Meter für unsymmetrische Übertragung) sind die Masseleitungen (je eine pro Signalleitung) jedoch besonders wichtig. Bei 25 Anschlüssen bleiben neben den 18 Signalleitungen und der +5-Volt-Stromversorgungsleitung aber nur sechs Masseleitungen übrig. Dass die Systeme dennoch stabil liefen, lag daran, dass in den Anfangszeiten von SCSI die Übertragungsraten niedrig und die Kabelverbindungen kurz waren. Auch die Kabelimpedanz war damals noch zu vernachlässigen.

Terminierung

Für die sichere und störungsfreie Signalübertragung ist es erforderlich, die Leitungen an beiden Enden mit dem charakteristischen Wellenwiderstand (Impedanz) abzuschließen. Damit werden kurzzeitige Spannungsüberhöhungen oder -einbrüche weit gehend unterbunden. Nach zwei Buslaufzeiten (Hin- und Rücklauf) sollten die Spannungspegel stabil sein. Die Werte für die Signalzeiten sind darauf abgestimmt.

Mit den nachfolgend beschriebenen Abschlussmethoden werden nur echte Signalleitungen terminiert. Alle reservierten, offenen, TERMPWR- und Masseleitungen sind damit nicht abgeschlossen.

Für den unsymmetrischen Bus sind in der SCSI-2-Norm zwei Methoden für den Leitungsabschluss vorgeschlagen. Die erste Methode ist die passive Terminierung. Diese ist für schnelle Übertragung, insbesondere für Fast-20 nicht mehr geeignet und deshalb für diese und höhere Geschwindigkeiten nicht mehr zugelassen. Für die symmetrische Schnittstelle (differential) und ihr Abschlussnetzwerk gelten die in SCSI-2 und SCSI-3 gültigen Parameter. LVD-Abschlussnetzwerke sind in SCSI-3 definiert.

Die zweite Methode ist die aktive Terminierung. Die Impedanz ist für SCSI-2, Fast-20 und für LVD definiert. Der Strom für die Terminierung kann aus der TERMPWR-Leitung oder (besser) aus den Geräten an den Endpunkten mit der Terminierung entnommen werden.

Die genauen technischen Spezifikationen der aktiven Terminierung finden Sie hier.

Aus elektrischen Gründen (Impedanzunterschiede) müssen die Signaladern in Rundkabeln für den Betrieb von externen SCSI-Devices auf besondere Weise an die Steckverbinder verdrahtet werden. Dies wird häufig nicht beachtet und führt oft zu sporadischen, nicht nachvollziehbaren Fehlern.

Protokoll

Das SCSI-Protokoll kennt den Initiator als Quelle einer Transaktion und das Target als ausführende Funktion. Ein Target kann aus mehr als einer logischen Einheit, den LUNs bestehen. Im Target wird, wenn nichts anderes angegeben, die Unteradresse LUN 0 angesprochen. LUNs können Partitionen auf einer Festplatte, einzelne Festplatten in einem Verbund oder andere logische Teileinheiten sein.

Es wird oft übersehen, dass im SCSI-Protokoll sofort nach der Initiierung die Busaktivität auf das Peripheriegerät (Target) übergeht. In anderen Systemen gibt es in der Regel einen Master und mehrere Slaves, wobei der Master (Rechner oder Bus-Master-Karte) während einer Datenübertragung die Regie behält.

Der Initiator (Host Adapter im Rechner) gibt den Anstoß für eine Datenübertragung und übergibt die Durchführung an das Target (Peripheriegerät). Dieses meldet die Erfüllung, ob erfolgreich oder nicht an den Initiator zurück. Üblicherweise ist der Initiator als einer der beiden Partner selbst an der Datenübertragung beteiligt. Bei einem Copy-Befehl (3rd party copy) handelt es sich bei den Partnern hingegen meist um zwei Peripheriegeräte. Dies wird beispielsweise bei SANs (Storage Area Networks) für so genannte Serverless-Backup-Lösungen über den Fibre Channel genutzt.

SCSI ist kein reiner Zustandsautomat und kann daher nicht als solcher dargestellt werden. Es ist immer erforderlich, auch die Historie eines Geschehensablaufs einzubeziehen, wenn entschieden werden muss, wie der logische Ablauf weitergehen soll.

Bis einschließlich SCSI-2 ist nur die parallele Datenübertragung mit 8 beziehungsweise 16 Bit breite definiert. Grundsätzlich wird immer mit 8 Bit Breite begonnen. Initiator und Target können dann Wide (16 oder 32 Bit) und/oder Fast zusätzlich definieren. Synchroner Betrieb wird ebenfalls gesondert vereinbart, gilt aber nur für den Nutzdatentransfer (Data Phases).

Die Adresse oder SCSI-ID (Identifikation) dient zur eindeutigen Unterscheidung aller am Bus angeschlossenen Geräte. Jede Adresse darf nur einmal am Bus vorkommen, es gibt keine feste Zuordnung.

Jedes Datenbit stellt während der Arbitration- und Selection-Phase je eine Adresse dar. Somit gibt es Systeme mit 8, 16 oder 32 Adressen. Es ist üblich in dem überwiegend vorkommenden 8 Bit SCSI-Bus die Initiatoren (Host Adapter), beginnend mit Datenbit (Adresse) 7 abwärts und die Targets (Peripherigeräte), beginnend mit Datenbit (Adresse) 0 aufwärts zu nummerieren. Eine tabellarische Auflistung der SCSI-Priorität und zugehöriger ID finden Sie hier.

Mit der Adresse fest gekoppelt ist die Priorität. Dies ist erforderlich, um bei gleichzeitig vorliegenden Anforderungen eine Auswahl, die höchste Priorität zuerst, treffen zu können. Das Datenbit 7 hat bei jeder Busbreite die höchste Priorität. Die Priorität nimmt in der Reihenfolge der Datenbits ab (Bit 0 = niedrigste Priorität = Priorität 8). Nach dieser Methode nehmen die Prioritäten bei den breiteren Bussen weiter ab (Bit 15 bis 8 sowie Bit 23 bis 16 und Bit 31 bis 24).

Daten werden im Target als logische Blöcke auf logischen Einheiten abgelegt oder von dort geholt. Dieses Konzept der logischen Adressierung vereinfacht die Arbeit des Systementwicklers und erleichtert es, ohne irgendwelche Änderungen andere Geräte der gleichen Geräteklasse zu verwenden.

Timing

Die zeitliche Folge des Geschehens am Bus wird in benannte Zeitabschnitte, (Bus Phases) eingeteilt. Diese sind in der folgenden Tabelle aufgelistet:

SCSI-Zeitabschnitte

Arbitration

Buszuteilung

Bus free

Bus frei

Command

Befehl

Data (in/out)

Daten (ein/aus)

Message (in/out)

Meldung (ein/aus)

Reselection

Wiederauswahl

Selection

Auswahl

Status

Zustand

Im SCSI-Protokoll unterscheidet man die asynchrone Datenübertragung (Anfangszustand) und die synchrone Datenübertragung mit vereinbarter Geschwindigkeit. Die Begriffe asynchron und synchron haben in der SCSI-Definition dabei eine vom Üblichen abweichende Bedeutung. Es handelt sich nicht um zeitliche Bestimmungen oder Abhängigkeiten, sondern um logische Aufeinanderfolgen beim Handshake.

Bei SCSI gibt es keinen Bus-Takt. Die Signalzeiten werden als Minimal- oder Maximalzeit definiert. Die Angaben über die Datentransferleistung in MByte/s sind daher nur Hinweise, was theoretisch möglich ist, wenn Übertragungsbreite (8/16 Bit), Übertragungsart (asynchron/synchron), variable Zeitparameter (Fast SCSI, unmittelbare Reaktion), Kabellängen und Treiberart optimal aufeinander abgestimmt sind.

Zu einem bestimmten Zeitpunkt kann es in jedem Initiator und in jedem Target mehr als einen E/A-Prozess geben. Ein E/A-Prozess beginnt mit einer Anfangsverbindung mit der unter anderem eine logische Verbindung (Nexus) hergestellt wird. Diese kann mehrmals unterbrochen und wiederhergestellt werden. Bis zu 14.000 geöffnete logische Verbindungen sind im Protokoll vorgesehen. Voraussetzung ist allerdings ein entsprechend großer lokaler Zwischenspeicher, der die dazugehörigen Parameter bis zum Abschluss der Transaktion halten kann. Einige Hundert offene Transaktionen sind üblich. Die Sequenz einer SCSI-Transaktion ist in der folgenden Tabelle dargestellt. Genaue Informationen über die Signallaufzeiten von SCSI-Transaktionen finden Sie hier.

SCSI-Transaktionssequenz

Ausgangszustand

Bus frei

Verbindungsaufbau

Buszuteilung (Arbitration)

Auswahl (Selection)

Identifizierung (Identify, Message out)

Informationsübertragung

Dateneingabe/-ausgabe (Data in/out)

Meldungseingabe/-ausgabe (Message in/out)

Befehlsübertragung (Command)

Zustandsmeldung (Status)

Verbindungsende/-wiederaufnahme

Zustands-/Abschlussmeldung (Status/Message in)

Verbindung trennen/wieder aufnehmen (Disconnnect/Reselect)

SCSI 1,2 und 3

Bisher gibt es auf Grund der Normierung SCSI-1, SCSI-2 und SCSI-3 sowie CAM für SCSI-2/3 und CCS für SCSI-1. Beim IEC wurde SCSI-1 jedoch offiziell aus der Liste der gültigen Normen gestrichen.

Elektrisch und bei den Signalzeiten sind die Unterschiede zwischen den bisherigen Versionen so gering, dass üblicherweise ein Gemischtbetrieb möglich ist. Normgerechte SCSI-Geräte und Treiber sind in der Praxis immer kompatibel. Die Probleme liegen fast immer bei der Einbindung in das jeweilige Rechnersystem (Interrupt-Belegung, I/O-Adressen, herstellerspezifische Einschränkungen).

Unterschiede SCSI-1 versus SCSI-2

Funktion/Parameter

SCSI-1

SCSI-2

Geräteanzahl

8

8

max. Datenrate

4 bis 5 MByte/s

20 MByte/s (16 Bit)

Buszuteilung (Arbitration)

wahlweise

zwingend vorgeschrieben

Arbitration delay

2,2 µs

2,4 µs

Leitungsabschluss

passiv

aktiv (empfohlen), passiv

Geräteklassen

7

11

LUN-Adresse

über Befehl

nur über Identify-Meldung

Befehlsverkettung

nein

Ja

Extended sense Data

nein

Ja

Parität (ungerade)

wahlweise

zwingend vorgeschrieben

Wide SCSI (16 oder 32 Bit)

nein

wahlweise

Fast SCSI (synchron)

nein

wahlweise

Steckverbinder, hohe Dichte

nein

wahlweise

CD-ROM, Optical Memory

nein

ja

Scanner, Medium Changer

nein

ja

Communications

nein

ja

SCSI-1-Anwendungen sollen für den Betrieb von Festplatten und Wechselmedien die CCS-Mindestanforderungen (Common Command Set) erfüllen. Diese sind in SCSI-2 bereits integriert.

Unterschiede SCSI-2 versus SCSI-3

Funktion/Parameter

SCSI-2

SCSI-3

Geräteanzahl

8

32

LUNs je Target

8

32

max. Datenrate (16 Bit parallel)

20 MByte/s

40 MByte/s

max. Datenrate seriell

nicht möglich

200 MByte/s

elektrische Parameter

ungenau definiert

genauere Spezifikation

Kabel für 16 Bit

Kabel A und B

Kabel P

Stromvers. für Leitungsabschl.

ungenau definiert

genauere Spezifikation

Geräteklassen/-gruppen

11

4

Serielle Übertragung

nein

FC, IEEE1394

Wide SCSI (16 oder 32 Bit)

wahlweise, Wide16

wahlweise, Wide16 bevorzugt

Fast SCSI (synchron)

wahlweise, 10 MHz

wahlweise, max. 80 MHz (160 MHz geplant)

Gerätewechsel im Betrieb

nein

ja

Befehlsverkettung

ja

mit erweiterten Funktionen

SCSI-3 Ultra160

Ab SCSI-3 gibt es kein Gesamt-Normdokument mehr. Viele Einzelspezifikationen können getrennt genutzt werden. Dies gilt insbesondere für die Funktionen der Variante Ultra160, die einen nicht genau definierten Ausschnitt aus verschiedenen SSCI-3-Teilnormen umfasst. Das muss kein Nachteil sein, da bei SCSI-3 Initiator und Target viele Möglichkeiten kennen, die verfügbaren Funktionen selbst herauszufinden.

Die Verdoppelung der Geschwindigkeit wird dadurch erreicht, dass jede Signalflanke für den Start einer Übertragungsfunktion genutzt wird. Eine CRC-Prüfsumme sorgt für die Sicherheit der Datenübertragung bei diesen hohen Geschwindigkeiten. Fehler können so intern korrigiert werden. Die Domain Validation ist ein Mechanismus, mit dem vor Übertragungsbeginn die Schnittstellenart (single-ended, differential, LVD) und die tatsächlich ohne Fehler erreichbare Übertragungsrate ermittelt werden. Damit stellt sich ein sicherer Übertragungsbetrieb automatisch ein. QAS (Quick Arbitration and Selection) beschleunigt, wie die Bezeichnung ausdrückt, die langen Warte- und Verzögerungszeiten bei der Auswahl des nächsten Initiators.

Unterschiede SCSI-3 versus SCSI-3 Ultra160

Funktion/Parameter

SCSI-3

SCSI-3 Ultra160

max. Datenrate (16 Bit parallel)

40 MByte/s

160 MByte/s

elektrische Parameter

für 20 MegaTransfers/s

für 80 MegaTransfers/s

Transition Clocking

single

double

CRC

nein

ja

Domain validation

nein

ja

Fairness

nein

wahlweise

QAS

nein

ja

Packetization

nein

geplant

Packetization wird derzeit noch erprobt. Damit werden die Befehls- und Statusübertragungen, die bisher noch mit der niedrigen asynchronen Grundgeschwindigkeiten ablaufen, zusammen mit Nutzdaten in Paketen zusammengefasst. Diese werden dann mit der höchsten erreichbaren Datenrate übertragen.

Normen

Selbst nach fast 20 Jahren ist der Aufwand für die SCSI-Standardisierung immer noch enorm hoch. Die Besprechungen der ANSI-Komitee-Mitglieder finden monatlich in unterschiedlichen Städten der USA statt. Selten sind weniger als 50 Teilnehmer anwesend. Damit ist wie bisher gewährleistet, dass die Normen immer vor oder mit den entsprechenden Produkten verfügbar sind. Damit wird ein Großteil der sonst üblichen Inkompatibilitäten vermieden.

SCSI ist ein offener Busstandard. Es werden von niemandem Lizenzgebühren verlangt. Es gibt keinen Eigentümer, der öfters mal irgendwelche Stolpersteine einbaut. Das SCSI-Komitee unter Aufsicht von ANSI (American National Standards Institute) besteht aus Mitgliedern von über 50 Firmen, die alle auf diesem Gebiet tätig sind. Keiner kann also heimlich irgendwelche Besonderheiten einbauen, die dann andere erst wieder mühsam herausfinden müssten. Natürlich ist diese Offenheit manchmal hinderlich für rasche Entscheidungen. Die große Verbreitung von SCSI beweist jedoch, dass das Konzept und seine Verwirklichung in Produkten zeitgerecht ist. Die nachfolgende Tabelle zeigt einen Ausschnitt aus der Liste der Norm- und Entwurfsdokumente für SCSI-2:

SCSI-2 Spezifikationen

Norm

Inhalt

ISO/IEC 9316:1995

Small Computer System Interface-2

DIN EN ISO/IEC 9316

Schnittstelle für kleine Rechnersysteme (SCSI 2)

ANSI X3.131-1994

Small Computer System Interface - 2

ISO 9316-2

SCSI-2 CAM

ANSI X3.232-1996

Common Access Method (CAM)

SCAM

SCSI Configured AutoMagically (internes Dokument)

Weiterführende Informationen über die SCSI-3-Spezifikationen finden Sie hier.

Technische Daten

In der nachfolgenden Tabelle finden Sie noch einmal einen Überblick über alle bisherigen SCSI-Standards und deren maximal mögliche Schnittstellengeschwindigkeit:

Busbreiten und Datenraten der SCSI-Standards

Name/Definition

Busbreite in Bit

MByte/s

SCSI, SCSI-1/2/3

8

5

Fast SCSI, Fast-10

8

10

Fast Wide SCSI, Fast-10 Wide

16

20

Ultra SCSI, Fast-20

8

20

Wide Ultra SCSI, Fast-20 Wide

16

40

Ultra2 SCSI, Fast 40

8

40

Wide Ultra2 SCSI, Fast-40 Wide

16

80

Ultra3 SCSI, Fast 80

8

80

Wide Ultra3 SCSI, Fast-80 Wide

16

160

Ohne den Zusatz Wide wird eine Datenbusbreite von 8 Bit angenommen. Zur Präzisierung kann dafür auch der Begriff Narrow (schmal) hinzugefügt werden. Der Zusatz Wide wird nur noch für Wide16 also für 16 Bit Parallelübertragung verwendet.

Ab Ultra2 SCSI, Fast-40 ist nur noch Betrieb mit LVD SCSI (Low Voltage SCSI) definiert. Unsymmetrisch (single-ended) und symmetrisch (differential) mit hohen Pegeln (HVD = High Voltage Differential) sind im Standard nicht vorgesehen.

Beide seriellen Varianten (FC-AL und SSA) verwenden die 8B/10B-Codierung, daher sind die dazu gehörige seriellen Übertragungsraten zehnmal so hoch. FC-AL (SCSI-3) und SSA (SCSI-2) unterscheiden sich nur in der physikalischen Schicht. Der Anwender sieht das gleiche SCSI-Protokoll wie bei Parallelbetrieb. SSA (Serial Storage Architecture) wird nicht mehr weiterentwickelt. Migration zu Fibre Channel - Arbitrated Loop (FC-AL) ist definiert.

FC-AL4 und FC-AL8 sowie Fast-80 werden erst noch spezifiziert. Die Dual-Loop-Varianten können zur Transferratenerhöhung oder als doppelte Übertragungswege (redundant) genutzt werden.

Weiterentwicklungen

Die physikalische Schnittstelle in SCSI-3 wird durch serielle Übertragungsmöglichkeiten erweitert. Dazu gehören der Fibre Channel mit SCSI-3-Protokoll und der FireWire (IEEE 1394). Bei den seriellen Verbindungen können wesentlich kleinere Steckverbinder eingesetzt werden. Außerdem sind schnellere Übertragungen möglich.

Zusätzlich zur elektrisch-mechanischen Definition von seriellen Schnittstellen war es erforderlich, das Übertragungsprotokoll anzupassen. Im bisherigen Parallelbetrieb wird jedes Byte beziehungsweise jeder Übertragungszyklus quittiert. Das ist sehr zeitaufwendig, insbesondere, wenn man über eine Entfernung von einem Kilometer (bis 10 km bei FC mit Glasfaser) übertragen möchte. Es wurde daher die serielle Paketübertragung neu eingeführt. Dabei werden Datenpakete von Puffer zu Puffer übertragen und paketweise quittiert.

Ultra160 ist ein Ausschnitt aus verschiedenen SCSI-3 Teilnormen. Produkte mit den dort beschriebenen Funktionen sind inzwischen von vielen Herstellern auf dem Markt. Die Besonderheiten sind auf der Normenseite aufgelistet. Die Packetization für den Parallelbetrieb ist sehr komplex und daher noch nicht in den Ultra160-Angeboten enthalten.

Ein neueres Projekt ist SCSI over IP (Internet Protocol). Dazu gibt es bisher nur Überlegungen, aber noch kein Komitee, um einen Normentwurf auszuarbeiten. Mit der IP-Übertragung sollen größere Entfernungen überbrückt werden. Probleme sind die großen Zeitverzögerungen (Latenzzeiten) bei der Ethernetübertragung und die Zuordnung von Datenpaketen, die nicht in der ursprünglichen Reihenfolge ankommen.

Noch wenig bekannt sind die SCSI Enclosure Services (SES). Dieser ANSI- und ISO/IEC-Standard (X3.305, JTC1 14776-371) erlaubt es, Zustandsmeldungen (Temperatur, Stromversorgung, Gebläse usw.) und Fehlermeldungen direkt als Daten über den SCSI-Bus zu übertragen. Bisher wurden dafür zusätzliche serielle Schnittstellen (RS232, V.24) mit firmenspezifischer Software benötigt. Bei RAID-Schränken mit vielen Laufwerken, redundanten Stromversorgungen und Lüftern ist die Nutzung eine große Erleichterung für den Systemmanager.

Höhere Geschwindigkeiten mit 320 MByte/s und sogar 640 MByte/s werden zunächst in Simulationen überprüft. Produkte mit diesen Übertragungsraten sind so schnell nicht zu erwarten. An OBSDs (Object Based Storage Drives) wird im SCSI-Komitee T10 (ANSI) gearbeitet. In einigen Jahren sollten erste Produkte dazu erscheinen. (cvi/fkh)

Über den Autor: Hermann Strass ist Mitglied und Korrespondent in mehreren Gremien bei DIN, DKE, ANSI, ECMA und IEEE, in denen Normungen für Massenspeicher und Schnittstellen durchgeführt werden.