SCSI - Small Computer System Interface
SCSI ist ein Protokoll zur Steuerung der Kommunikation zwischen Massenspeicher und Controller. In seiner ursprünglichen Ausführung war SCSI ein Bus-System, das eine Schnittstelle für Peripherie zur Verfügung stellt. Daran konnten Festplatten, CD-/DVD-Laufwerke, Brenner, Streamer und Scanner an einem Computer angeschlossen werden. Die Besonderheit dabei, gerätspezifische Eigenschaften verbleiben in den Geräten. Das Betriebssystem selber fragt nur die technischen Daten und veränderbare Parameter ab.
SCSI besteht grundsätzlich immer aus zwei Teilen: dem Kabelbus, der das Kabel, die Stecker und die elektrischen Signale festlegt. Und das Software-Protokoll, das die Übertragung von Daten und den Zugriff auf den Bus regelt.
Für die physikalische Datenübertragung gibt es mehrere parallele und serielle Übertragungsmedien. Das Protokoll, das SCSI zugrunde liegt, wird auch für Fibre Channel, FireWire, ATAPI und SAS verwendet.
Eigenschaften
- Aufgrund des Bussystems müssen beide Enden der Kabelstrecke mit einem Leitungsabschluss terminiert werden.
- Eine verteilte Logik regelt den Zugriff auf den Bus. Alle angeschlossenen Geräte müssen an diesem Zugriffsauswahlverfahren teilnehmen.
- Das SCSI-Protokoll teilt alle Geräte in Geräteklassen ein. Für die unterschiedlichen Geräteklassen gibt es unterschiedliche Befehlsgruppen.
- Einen Adressbus bzw. eine Adresskodierung gibt es nicht. Jeder Busteilnehmer wird über seine eigene Datenbusleitung angesprochen. Bei der Installation muss jedes Gerät hardwaremäßig auf die richtige ID eingestellt werden. Insgesamt können 7 (15) Geräte am Bus angeschlossen werden. Eine ID ist bereits durch den Hostadapter festgelegt (als Erweiterungskarte oder onboard). Er hat die ID 7. Die niedrigste ID ist 0.
- Einen Bustakt kennt SCSI nicht. Jeder Busteilnehmer darf so schnell Daten übertragen, wie er kann. Die Datentransferleistung in MByte/s sind Maximalwerte. Sie können nur erreicht werden, wenn die folgenden Parameter auf dem Bus optimal eingestellt sind:
- Busbreite
- Übertragungsart
- Zeitparameter
- Kabellänge
- Treiberart
- Terminierung
SCSI 1 / 2 / 3
SCSI ist im Prinzip ein einfaches logisches Bussystem (Software-Bus), für das in der ersten Version (SCSI-1) ein paralleler Bus für den Transport von Daten, Befehlen und Statusmeldungen spezifiziert wurde. In SCSI-2 wurden mehrere Arten von paralleler Übertragung spezifiziert.
SCSI-3 kennt zusätzlich serielle Übertragungsarten, wie Fibre Channel, Firewire, InfiniBand und SAS.
Ultra-2-SCSI
Diese moderne SCSI-Variante ist ein Differential-SCSI mit je zwei Leitungen (D+ und D-) pro Signal. Der Signalpegel ist zum klassischen Differential-SCSI von ±1,5V (HVD, High Voltage Differential) auf ±60mV (LVD, Low Voltage Differential) abgesenkt worden. Dadurch können die differentiellen Leitungstreiber in den SCSI-Steuerchip integriert werden.
Mit der differentiellen Signalübertragung ist es mit Ultra2-SCSI möglich Daten mit bis zu 80 MByte/s zu übertragen, und einen SCSI-Strang (Bus) mit bis zu 12 Meter zu verwenden.
Ein Mischbetrieb von Ultra2- und anderen SCSI-Geräten empfiehlt sich nicht. Wer die Geschwindigkeit von Ultra2 nutzen will, sollte für andere SCSI-Geräte einen separaten Hostadapter verwenden.
Übersicht der SCSI-Arten
SCSI-Typ | Datenrate | Datenbus | max. Buslänge | Kabel | Geräte | Einführung |
---|---|---|---|---|---|---|
SCSI-1 (asynchron) | 5 MByte/s | 8 Bit | 6 m | 50 Pin | 7 | 1986 |
SCSI-2: Fast-SCSI | 10 MByte/s | 8 Bit | 3 m | 50 Pin | 7 | 1989 |
SCSI-2: Wide-SCSI | 10 MByte/s | 16 Bit | 3 m | 68 Pin | 15 | 1989 |
SCSI-2: Fast-Wide-SCSI | 20 MByte/s | 16 Bit | 3 m | 68 Pin | 15 | - |
SCSI-3: Ultra-SCSI | 20 MByte/s | 8 Bit | 3 m / 1,5 m | 50 Pin | 3 / 7 | 1992 |
Ultra-SCSI Differential (HVD) | 20 MByte/s | 8 Bit | 25 m | 68 Pin | 7 | - |
SCSI-3: Ultra-Wide-SCSI | 40 MByte/s | 16 Bit | 3 m / 1,5 m | 50 Pin | 4 / 7 | 1992 |
Ultra-Wide-SCSI Differential (HVD) | 40 MByte/s | 16 Bit | 25 m | 68 Pin | 15 | - |
Ultra-2-SCSI (LVD) | 40 MByte/s | 8 Bit | 12 m | 50 Pin | 7 | 1997 |
Ultra-2-Wide-SCSI (LVD) | 80 MByte/s | 16 Bit | 12 m | 68 Pin LVD | 15 | 1997 |
Ultra-160-SCSI (Ultra-3-SCSI) | 160 MByte/s | 16 Bit | 12 m | 68 Pin LVD | 15 | 1999 |
Ultra-320-SCSI | 320 MByte/s | 16 Bit | 12 m | 68 Pin LVD | 15 | 2002 |
Abwärtskompatibilität
Grundsätzlich sind alle SCSI-Geräte und SCSI-Hostadapter zueinander kompatibel. Z. B. kann an einem Ultra-SCSI-Hostadapter durchaus ein Fast-SCSI-Gerät betrieben werden. Allerdings kann das Fast-SCSI-Gerät trotzdem nur 10 MByte/s übertragen. Alle anderen Geräte spricht der Ultra-SCSI-Hostadapter auf ihre bestimmte maximale Datenrate an.
Mit Ultra-2-SCSI hat die Abwärtskompatibilität ein Ende. Generell lassen sich Ultra-2-Geräte an jedem anderen SCSI-Hostadapter betreiben. Aber nur mit der Maximalgeschwindigkeit des Hostadapters.
Ältere SCSI-Geräte lassen sich auch am Ultra-2-Hostadapter betreiben. Dieser schaltet dann aber den Ultra2-Modus komplett ab, wenn ein nicht Ultra2-Gerät am Bus hängt. Das Ultra2-Gerät wird dann im Ultra-Wide-Modus betrieben.
SCSI-Terminator
Aufgrund dessen, dass SCSI ein Bussystem ist, müssen beide Enden der Kabelstrecke mit einem Abschluss, dem Terminator, terminiert werden.
Es gibt zwei verschiedene Arten der Terminierung. Die passive und die aktive Terminierung. Der passive Terminator besteht aus zwei Widerständen pro Signalleitung. Er ist an seiner länglichen Bauform zu erkennen. Im Gehäuse befindet sich ein Widerstandsnetzwerk. Sie tragen die Beschriftung 33x,22x oder 331/332.
Aktive Terminatoren arbeiten mit einer internen Spannungsquelle mit nachgeschalteten Strombegrenzungswiderstand. Die Speisung der Spannungsquelle übernimmt die TermPower-Leitung.
Der Vorteil der aktiven Terminierung liegt in der besseren Kompensierung von Lastschwankungen, die bei Signaländerungen auftreten.
Grundsätzlich gilt: Je schneller ein Bus, je länger das Kabel und je mehr Geräte angeschlossen sind, desto nötiger ist ein aktive Terminierung.
Bei Ultra-Hostadaptern ist ein aktive Terminierung zwingend vorgeschrieben. Geräte mit passiver Terminierung dürfen nur mit ausgeschalteter Terminierung daran betrieben werden. An das Kabelende wird ein Gerät mit eingeschalteter aktiver Terminierung.
Serial Attached SCSI (SAS)
SAS nutzt die Übertragungstechnik von Serial ATA um SCSI-Kommandos zu übertragen. SAS und SATA sind lektrisch zueinander kompatibel. Sie unterscheiden sich nur durch das Dual-Porting, Full-Duplex, Adressierung von bis zu 128 Geräten, höhere Performance und die Zuverlässigkeit. Das alles bietet SAS.
Das Dual-Porting erlaubt den Anschluss einer SAS-Festplatte an zwei unterschiedlichen Systemen gleichzeitig. Kabellängen bis zu 25 Metern sind möglich. SAS-Controller unterstützen auch SATA-Geräte umgekehrt allerdings nicht.
iSCSI-Standard
Die Storage Networking Industry Association (SNIA) hat die Spezifikation des iSCSI-Standard fast fertiggestellt.
Die SNIA ist ein Zusammenschluss von mehr als 300 im Storage-Bereich aktiver Firmen.
iSCSI ist ein Protokoll, das die Übertragung von SCSI-Befehlen über ein TCP/IP-Netzwerk regelt. Dabei werden die SCSI-Kommandos in ganz normalen TCP-Paketen verschickt. Das Netzwerk muss sehr schnell sein, um akzeptable Datenraten hinzubekommen, weil die eigentlichen Daten mit drei Headern (IP, TCP, SCSI) versehen über die Leitung gehen. Dem gegenüber steht der Vorteil, jederzeit und überall auf Daten zugreifen zu können, wo ein Netzwerkanschluss vorhanden ist.
SCSI Express / SCSI over PCI Express (SOP)
Bei SCSI Express werden die SCSI-Befehle über PCI Express übertragen. Der SCSI-Befehlssatz ist für die Zusammenarbeit mit SSDs erweitert und optimiert. Vereinfacht ausgedrückt ist SCSI Express = NVMe + SCSI.
Der hauptsächliche Einsatz von SCSI Express findet in Servern und Workstations statt.