[Previous] [Top] [Next]

Kleine Einführung in SCSI

SCSI ist ein Standard zum effizienten Koppeln von Geräten.

SCSI ist ein Bus-System, daß heißt, es können mehrere Geräte an einen Bus (eine Leitung zur Übertragung von Daten) gehängt (über einen Stecker an diese Leitung angekoppelt) werden. Es ist völlig autark zum Bussystem des Computers.
Die Ankopplung an das Computer-System erfolgt durch einen sogennanten Host-Adapter. Er übernimmt die Verwaltung der an ihm hängenden SCSI-Geräte und sorgt für den Informationsaustausch zwischen Computer und SCSI-Geräten. Wobei er gleichzeitig als gleichwertiges SCSI-Gerät fungiert. Im SCSI-Bussystem ist also, durch den Host-Adapter, der Computer selbst ein SCSI-Gerät geworden, das genauso wie jedes andere SCSI-Gerät am Bus angesprochen werden kann. Es ist so auch möglich mehrere Computer über diese Host-Adapter zu koppeln, da es dem SCSI-Bus egal ist, was für ein SCSI-Gerät am Bus ist. Denn jedes SCSI-Gerät verfügt über eine standartisierte Schnittstelle, sowohl von der Hardware als auch von der Software aus. Diese Standart-Schnittstelle nennt sich eben SCSI-Interface und kann mit den immer gleichen Kommandos über den SCSI-Bus angesprochen werden. Diese Kommandos sind genormt als CCS (Common Command Set).

Ein großer Vorteil dieses Systems ist das der Zugriff auf den Host-Adapter bzw. auf ein SCSI-Gerät in völlig identischer Weise erfolgt, so können völlig verschiedene Geräte völlig identisch angesprochen werden. Jedes SCSI-Gerät meldet sich beim Initialisieren des SCSI-Buses bzw. bei einem Reset mit einer bestimmten Anzahl logischer Blöcke, welche direkt angesprochen werden können. Ebenso meldet jedes SCSI-Gerät dabei seine Art und Kapazität automatisch. Sämliche gerätespezifischen Einstellungen entfallen also gänzlich.

Es können maximal 8 solcher SCSI-Geräte am Bus hängen mit ID´s von 0 bis 7. Jede ID bzw. SCSI-Gerät kann noch bis zu 8 sog. LUN´s (Logical Unit Number) bzw. "Unter"-Geräte verwalten.

Jedes Gerät am SCSI-Bus kann auf ein anderes Gerät am SCSI-Bus zugreifen. Jedoch muss dazu erst einmal die die Kontrolle über den Bus erlangt werden und dabei spielt die ID eine Rolle, denn je höher die ID (die an jedem SCSI-Gerät eingestellt werden muss), je höher ist die Priorität beim Zugriff auf den Bus. Die höchste ID erhält den Zugriff auf den Bus und wird INITIATOR. Ein SCSI-Gerät, welches nun INITIATOR wurde ruft nun ein anderes SCSI-Gerät über seine ID zur Interaktion auf, welches dadurch zum TARGET wird. INITIATOR und TARGET kommunizieren nun miteinander über den SCSI-Bus wobei der INITIATOR dem TARGET befiehlt. Das ganze nennt sich Multimaster-Fähigkeit, da jedes Gerät sowohl Master (INITIATOR) als auch Slave (TARGET) werden kann.


Dabei durchläuft der SCSI-Bus festgelegte Phasen:

Das Zusammenspiel und die Abfolge der verschiedenen Busphasen auf dem SCSI-Bus.

In der BUS FREE Phase wartet ist der Bus frei und wartet auf Aktionen von den SCSI-Geräten.
In der ARBITRATION Phase konkurrieren mehrere SCSI-ID´s um den Bus (wer wird INITIATOR ?).
In der SELECTION Phase wählt der INITIATOR sein TARGET aus.
In der MESSAGE OUT Phase gehen messages (Mitteilungen) vom INITIATOR an den TARGET.
In der COMMAND Phase gehen die eigentlichen SCSI-Kommandos vom INITIATOR zum TARGET.
In der DATA IN bzw. DATA OUT Phase findet die Datenübertragung vom TARGET zum INITIATOR bzw vom INITIATOR zum TARGET statt.
In der STATUS Phase werden Status-Informationen vom TARGET zurückgegeben (z.B. ob Fehler aufgetreten sind etc.).
In der MESSAGE IN Phase gehen messages (Mitteilungen) vom TARGET an den INITIATOR.
Der SCSI-Bus tritt in die RESELECTION Phase ein falls ein INITIATOR, nachdem er ein SCSI-Kommando abgesetzt hat, einen disconnect ausgelöst hat und nun ein reconnect stattfindet. Dies kann der Fall sein, wenn der INITIATOR z.B. Zugriff auf einen Tape-Streamer (der dann TARGET ist) wünscht und die Zeit bis der Tape-Streamer die gewünschte Stelle auf dem Band findet relativ lange ist. Denn dann kann der INITIATOR einen disconnect veranlassen und damit den Bus wieder freigeben, bis zum reconnect, wenn der Tape-Streamer die gewünschte Stelle bzw. Datei gefunden hat.