SCSI-Grundlagen

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 ist, 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 und/oder Fast zusätzlich definieren. Synchroner Betrieb wird ebenfalls gesondert vereinbart, gilt aber nur für den Nutzdatentransfer (Data Phases) und bei neueren SCSI-3-Varianten auch für Befehle und Statusmeldungen.