Small Computer System Interface
Das Small Computer System Interface (SCSI, manchmal gesprochen [ˈskʌzi]) ist eine Familie von standardisierten Protokollen und Schnittstellen für die Verbindung und Datenübertragung zwischen Peripheriegeräten und Computern.
Ursprünglich war die Datenübertragung nur parallel. Heute definiert SCSI zusätzlich zu Parallel SCSI (SPI) weitere Übertragungswege, wie Serial Attached SCSI (SAS), Fibre Channel und iSCSI.
Entstehung
Die von Alan Shugart nach seinem Ausstieg aus Shugart Associates gegründete Firma Shugart Technology führte SCSI 1979 unter der Bezeichnung SASI (Shugart Associates System Interface) ein. Nachdem sich 1981 andere Unternehmen − insbesondere NCR – dafür entschieden hatten, SASI zu unterstützen, wurde SASI in SCSI umbenannt. NCR initiierte auch den im folgenden Jahr beginnenden Standardisierungsprozess, und 1986 wurde die SCSI-Spezifikation als X3.131-1986 von der ANSI standardisiert.
Anschließend hat sich SCSI zum Industriestandard entwickelt, der in beinahe jedem Computer-System verwendet werden konnte (es gibt sogar SCSI-Implementationen für den Commodore-64-Heimcomputer). Der klassische parallele Bus (SPI SCSI Parallel Interface) wurde im Lauf der Zeit durch eine Zahl leistungsfähigerer und flexiblerer Varianten ergänzt und inzwischen abgelöst.
Die wichtigsten Standards im Überblick
Interface | Übertragungs- geschwindigkeit [MByte/s] |
Busbreite [Bit] |
Bustakt [MHz] oder Datenrate |
max. Kabellänge [m] |
max. Anzahl an Geräten |
Kabeltyp (SE = Single-Ended, HVD = High-Voltage-Differential, LVD = Low-Voltage-Differential) | |
---|---|---|---|---|---|---|---|
Parallel SCSI | SCSI (SCSI-1) | 5 | 8 | 5 | SE:6 HVD: 25 | 8 | 50-polig, SE oder HVD |
Wide SCSI (SCSI-2) | 10 | 16 | 16 | 68-polig, SE oder HVD | |||
Fast SCSI (SCSI-2) | 10 | 8 | 10 | SE: 3 HVD: 25 |
8 | 50-polig, SE oder HVD | |
Fast Wide SCSI (SCSI-2) | 20 | 16 | 16 | 68-polig, SE oder HVD | |||
Ultra SCSI (SCSI-3) | 20 | 8 | 20 | SE: 1,5–3h HVD: 25 |
5-8 | 50-polig, SE oder HVD | |
Ultra Wide SCSI (SCSI-3) | 40 | 16 | SE: 5–8a HVD: 16 | 68-polig, SE oder HVD | |||
Ultra2 SCSI (SPI-2) | 40 | 8 | 40 | 12 | 8 | 50-polig, paarweise verdrillt, LVD oder HVD | |
Ultra2 Wide SCSI (SPI-2) | 80 | 16 | 16 | 68-polig, paarweise verdrillt, LVD oder HVD | |||
Ultra-160 SCSI (SPI-5) | 160 | 16 | 40 DDR | 12 | 16 | 68-polig, paarweise verdrillt, LVD | |
Ultra-320 SCSI (SPI-5) | 320 | 16 | 80 DDR | 12 | 16 | 68-polig, paarweise verdrillt, LVD | |
IEEE-1394 | S3200 | 400 | seriell | 3,2 Gbit/s | 4,5 | 63 | |
Serial Attached SCSI | SAS-3 | 1200 | seriell | 12 Gbit/sc d | 25 | 65.025 | SFF 8484/8482 (typisch) |
SAS-4 | 2400 | seriell | 22,5 Gbit/sg d | 65.025 | |||
Fibre Channel | 1 Gbit/s | 98,4 | seriell | 1,0625 Gbit/sc d | FC-AL: 127, FC-SW: 224 | ||
2 Gbit/s | 197 | seriell | 2,125 Gbit/sc d | ||||
4 Gbit/s | 394 | seriell | 4,25 Gbit/sc d | ||||
8 Gbit/s | 788 | seriell | 8,5 Gbit/sc d | ||||
10 Gbit/s | 1181 | seriell | 10,52 Gbit/se d | ||||
16 Gbit/s | 1575 | seriell | 14,025 Gbit/se d | ||||
iSCSI | über Ethernet (IPv4, MTU 1500) je Gigabit/s | 119 | seriell, tlw. multilane | praktisch unbegrenzt | IPv4: 232, IPv6: 2128 | ||
über Ethernet (IPv4, MTU 9000) je 10 Gigabit/s | 1239 | seriell, tlw. multilane | |||||
ATAPI over PATA (UDMA-6) | 133 | 16 | 66 | 0,45 | 2 | Flachbandkabel 80-polig, SE | |
ATAPI over SATA 6 Gb | 600 | seriell | 6 Gbit/sd f | SATA: 1, eSATA: 2 | 15 mit Port Multiplier | Twinax |
Parallel SCSI
Verwendung
Um an einen Computer SCSI-Geräte anschließen zu können, wird ein Host-Bus-Adapter (kurz HBA) benötigt, der den Datentransfer auf dem SCSI-Bus kontrolliert. Das anzuschließende Gerät hat einen SCSI-Controller, um die Daten über den Bus zu übertragen und mit dem Host-Bus-Adapter zu kommunizieren. Der SCSI-Host-Bus-Adapter kann auf der Hauptplatine integriert sein, wird aber häufig als Steckkarte nachgerüstet. SCSI wird meist zur Anbindung von Festplatten und Bandlaufwerken genutzt, kann jedoch auch mit einer Reihe von weiteren Geräten verwendet werden, wie zum Beispiel Scannern und optischen Laufwerken. Der SCSI-Standard ist geräteunabhängig ausgelegt, so dass theoretisch jedes Peripheriegerät SCSI benutzen kann.
Vereinzelt werden SCSI und VHDCI- (von Very High Density Cable Interconnect, eine miniaturisierte Bauform) Steckverbinder auch in der industriellen Steuerungstechnik und an Ein-/Ausgabeports von Geräten zur analogen und digitalen Datenerfassung und -ausgabe verwendet, zum Beispiel an PXI-Baugruppen.
Während in den 1990er und zu Beginn der 2000er Jahre SCSI noch eine gewisse Verbreitung vor allem bei Workstations und Servern hatte, wird es als SAS heute so gut wie ausschließlich in Servern verwendet. Während früher auch ambitionierte Privatanwender SCSI-Geräte (Festplatten, CD-Laufwerke, Brenner, Scanner) verwendeten, gibt es heutzutage nur noch eine extrem kleine Nutzergruppe, die teilweise antiquierte Geräte aus technisch-nostalgischen Gründen betreibt. Insbesondere seit der breiten Verfügbarkeit von leistungsfähigen Geräten mit USB-Schnittstelle, und seit SATA-Festplatten und -Laufwerke sich als Standard etabliert hatten, verschwanden SCSI-Geräte fast vollständig aus den Händlerregalen und sind fast nur noch online zu beziehen. Damals wie heute sind SCSI-Geräte teurer als solche mit IDE/SATA. Dies ist vor allem auf die enorm geringeren Stückzahlen zurückführen. Dazu kommt, dass z. B. SCSI-Festplatten auf Dauerbetrieb ausgelegt sind und so eine längere Lebensdauer als vergleichbare IDE/SATA-Platten haben. Auch dies schlägt sich im Preis nieder. Weitere Kosten ergeben sich durch den zusätzlich einzubauenden SCSI-Controller (quasi alle Consumer-Mainboards haben ausschließlich IDE/SATA-Controller onboard).
Die verschiedenen SCSI-Standards
SCSI wurde über die Jahre weiterentwickelt. Folgende Standards (in chronologischer Reihenfolge) sind definiert:
SCSI-1 (1986)
Der ursprüngliche von SASI (Shugart Associates Systems Interface) abgeleitete und von der ANSI herausgegebene Standard von 1986. SCSI-1, auch Narrow SCSI genannt, bietet einen Bus mit 8-Bit-Breite und Paritätsprüfung, der asynchron mit ca. 3,5 MB/s oder synchron mit 5 MB/s läuft, die maximale Kabellänge beträgt dabei 6 Meter und es lassen sich sieben Geräte anschließen (das konkurrierende ATA-Interface ist auf 1,5 m Kabellänge und zwei Geräte pro Anschluss beschränkt). Eine Variation des SCSI-1-Standards (Differential-SCSI) verwendete eine auf differentiellen Signalpegeln basierende Übertragungstechnik und ermöglichte so eine Kabellänge von 25 m. Zur Unterscheidung gegenüber der modernen Low-Voltage-Differential-Schnittstelle (LVD) nennt man die alte Technik heute High-Voltage-Differential (HVD). HVD war teuer, elektrisch nicht kompatibel und wurde vor allem im professionellen Umfeld bis hin zum Aufbau lokaler, kombinierter Speicher-Computer-Netzwerke genutzt.
SCSI-2 (1989)
Dieser Standard wurde 1989 verabschiedet und bildete die Basis für die Varianten Fast SCSI und Wide SCSI. Fast SCSI (8 Bit, F) verdoppelte den Bustakt, was eine Transferrate von bis zu 10 MB/s bedeutete. Wegen des hohen Bustaktes durfte die Verkabelung nur noch höchstens 3 Meter lang sein. Weil Fast SCSI dieselben Kabel wie SCSI-1 verwendete, verbreitete es sich sehr schnell. Vorhandene Installation waren problemlos Gerät für Gerät aufrüstbar, der Mischbetrieb war möglich.
Wide SCSI behielt den Bustakt (und damit die erlaubte Kabellänge) bei, verdoppelte aber die Busbreite auf 16 Bit. Das führte ebenfalls zu 10 MB/s, allerdings waren neue, 68-polige Kabel nötig. Reines Wide SCSI hatte keine Marktbedeutung. SCSI-2 spezifizierte außerdem eine 32-Bit-Version von Wide SCSI, die zwei 16-Bit-Kabel pro Bus verwendete. Auch diese Technik wurde von SCSI-Geräteherstellern größtenteils ignoriert, und daher mit SCSI-3 wieder abgeschafft.
Um auf 20 MB/s zu kommen, kombinierte man Fast SCSI (hoher Bustakt) und Wide SCSI (doppelte Busbreite) miteinander. Diese Variante war sehr verbreitet und wird oft Fast Wide SCSI genannt. Wenn heute von Wide SCSI gesprochen wird, ist praktisch immer Fast Wide gemeint, da reines Wide keine Bedeutung hatte.
Ultra-SCSI (1992)
Ultra SCSI wurde 1992 als Teil der umfassenden SCSI-3-Norm eingeführt. Die ursprüngliche offizielle Bezeichnung war Fast 20 (SCSI) bzw. Wide Fast 20. Die Busgeschwindigkeit wurde erneut verdoppelt auf 20 MB/s für „schmale“ (8 Bit, U) Systeme und 40 MB/s für die Wide-Variante (16 Bit, UW). Die maximale Kabellänge blieb bei bis zu vier Geräten 3 m, bei fünf bis acht wurde sie reduziert auf max. 1,5 m, ebenso wurde die Anforderung an die Kabelqualität erhöht, was U-SCSI den unverdienten Ruf einbrachte, sehr empfindlich auf Kabellänge und Umweltbedingungen zu reagieren. Meist waren minderwertige Kabel und Stecker, alte Wide SCSI Kabel oder passive Abschlusswiderstände (Terminatoren), die offiziell nicht mehr erlaubt waren, an diesen Problemen Schuld. Die Kabelenden müssen zur Echovermeidung aktiv terminiert werden. Größere Kabellängen waren weiterhin mit HVD-Geräten möglich (z. B. Adaptec 2944 UW differential controller).
SCSI-3 (1993)
SCSI-3 ist erstmals ein Bündel von eigenständigen Normdokumenten, das auch Protokolle für alternative Transfertechniken wie IEEE-1394 (Apples FireWire-Standard) und Fibre Channel enthält. Enthalten ist auch VHDCI (von Very High Density Cable Interconnect), ein 68-poliges Stecksystem mit 0,8 mm pitch, welches auch unter der Marke CHAMP (Tyco Electronics) auftritt.
Ultra-2 SCSI (1997)
Dieser Standard wurde 1997 eingeführt und brachte einen neuen differentiellen Bus mit niedrigem Signalpegel mit sich (Low Voltage Differential, LVD). Daher wird Ultra-2 auch manchmal als LVD SCSI bezeichnet. Die herkömmliche Übertragungstechnik wird im Gegensatz dazu als SE SCSI (Single Ended SCSI) bezeichnet. Durch die LVD-Technik wurde es möglich, die Kabellänge auf 12 Meter zu erhöhen, bei wesentlich besserer Rauschimmunität. Gleichzeitig wurde die Transferrate auf 40 MB/s (narrow, 8 Bit, U2) beziehungsweise 80 MB/s (wide, 16 Bit, U2W) gesteigert. Ultra-2 SCSI hatte nur ein kurzes Leben, da es bald von Ultra-3 (Ultra-160) SCSI abgelöst wurde.
Ultra-160 (1999)
Diese Version wurde gegen Ende 1999 eingeführt und ist eine teilweise Umsetzung des Ultra-3 SCSI Standards. Der Grad der Umsetzung/Ultra-3 SCSI Konformität hing vom Hersteller ab, abgekürzt U160 oder bei späteren Versionen mit voller Ultra-3 SCSI Kompatibilität U3. Prinzipiell handelte es sich um eine Verbesserung des Ultra-2-Standards, indem die Transferrate durch Einführung des Doppelflankentakts (Double-Edge-Clock) auf nun 160 MB/s verdoppelt wurde. Bei diesem Verfahren wird sowohl bei der ansteigenden wie bei der abfallenden Flanke des Taktsignals ein Datenwort übertragen. Ultra-160 SCSI bietet außerdem neue Funktionen wie eine zyklische Redundanzprüfung (ZRP, engl. CRC) und Domain-Validierung. Bei letzterem werden bei der Initialisierung des Busses Testdaten an die Geräte und von diesen zurückgeschickt. Sollten Fehler auftreten, wird die Geschwindigkeit solange verringert, bis die Übertragung fehlerfrei funktioniert. Ab Ultra-160 SCSI gab es nur noch 16 Bit breite Busse.
Ultra-320 (2002)
Ultra-320 ist ein Ultra-160 mit einer auf 320 MB/s verdoppelten Transferrate und stellt den Abschluss der Entwicklung der parallelen SCSI-Datenübertragung dar.
Die Einführung von Ultra-640 (Fast-320) hätte die Geschwindigkeit noch einmal auf 640 MB/s verdoppelt, nach diesem Standard wurden aber keine Geräte mehr gebaut. Stattdessen setzt die Industrie auf Serial Attached SCSI (SAS).
Insgesamt 16 Geräte sind anschließbar oder 15 Geräte plus Host-Bus-Adapter.
Kompatibilität
Ultra-2, Ultra-160 und Ultra-320-Geräte können auf dem LVD-Bus ohne Performance-Verluste gemischt werden, da der Host-Bus-Adapter die Geschwindigkeit und sonstigen Management-Entscheidungen mit jedem Gerät einzeln abspricht. Single-Ended-Geräte sollten nicht an den LVD-Bus angeschlossen werden, da das den gesamten Bus in die Betriebsart „single-ended“ zwingt – mit den bekannten Einschränkungen der Geschwindigkeit (40 MB/s) und der Kabellänge (3 m). Es existieren SCSI-Bridges, die durch eine elektrische Aufteilung des Busses diese Beschränkung umgehen, auf manchen HBAs ist sogar eine solche integriert (z. B. Adaptec AHA-2940U2W)
Generell sind SCSI-Geräte abwärtskompatibel, das heißt, es ist möglich, eine Ultra-3-Festplatte an einem Ultra-2-Host-Bus-Adapter zu benutzen (allerdings mit reduzierter Geschwindigkeit und ohne spezifische Ultra-3-Befehle).
HVD-SCSI-Geräte (einschließlich der Abschlusswiderstände) sind prinzipiell nicht verträglich mit SE- oder LVD-SCSI-Geräten, können allerdings auch mit Konvertern/Bridges adaptiert werden.
Installation
Jedes SCSI-Gerät (einschließlich des Host-Bus-Adapters) muss mit einer eindeutigen ID-Nummer konfiguriert werden. Dem Host-Bus-Adapter bzw. Controller wurde die ID=7 generell zugeordnet. So werden die einzelnen Geräte auf dem SCSI-Bus eindeutig identifiziert und die Priorität der Geräte festgelegt. Die Priorität der IDs lautet in absteigender Reihenfolge 7 bis 0 und dann 15 bis 8. Eventuell bestehen Einschränkungen seitens BIOS oder Betriebssystem bei der Vergabe der ID-Nummern. Jedes Gerät mit einer ID hat darunter zusätzlich mindestens eine LUN (Logical Unit Number) konfiguriert. Mit SCAM (SCSI Configured Automatically) gab es Bemühungen, diese mitunter aufwendige Konfiguration zu vereinfachen. So ermöglicht SCAM eine weitgehend automatische Konfiguration. Für neu angeschlossene Geräte musste zum Beispiel nicht mehr manuell eine SCSI-ID eingegeben werden; SCAM erledigte das selbsttätig. Jedoch hat SCAM niemals praktische Bedeutung erlangt.
Jeder SCSI-Strang muss mit genau zwei Terminatoren abgeschlossen werden – an jedem physischen Leitungsende einen. Meist bieten die Host-Bus-Adapter die Möglichkeit, eine Seite des Busses zu terminieren, so dass in der Regel nur ein Steckterminator erforderlich ist. Es gibt sowohl aktive als auch passive Terminatoren, wobei dem aktiven Typ der Vorzug gegeben werden sollte (bei Ultra-SCSI und auf LVD-Bussen ist er zwingend notwendig; Single-Ended- und LVD-Terminatoren sind unterschiedlich, es gibt sie aber auch sehr häufig kombiniert als „SE/LVD“). Unsachgemäße Terminierung ist eines der häufigsten Probleme bei SCSI-Installationen.
Es ist möglich, aus einem „Wide“-Bus einen „schmalen“ zu machen, wenn die Wide-Geräte direkt hinter dem Host-Bus-Adapter angeschlossen sind und die Narrow-Geräte am Ende des Busses. Dazu wird ein Kabel benötigt, das den „weiten“ Teil des Busses terminiert und den schmalen durchschleift. Man spricht auch von High-9- oder Halb-Terminierung. Spezielle Kommandos erlauben es dem Host-Bus-Adapter festzustellen, welche Breite der Bus zu einem Gerät hat.
Steckverbinder für externe SCSI-Geräte
- Apple-Stecker, 8 Bit Busbreite, es fehlen zahlreiche Masseleitungen
- 50-poliger „Centronics“-Stecker, 8 Bit Busbreite
- High Density, 8 und 16 Bit Busbreite ('Half Pitch DB50' und 'DB68')
- VHDCI-Stecker
Stecker und Kabel für interne SCSI-Geräte
- 50-pol. Standardkabel, 8 Bit Busbreite
- 50-pol. Kabel mit verdrillten Leitungen, 8 Bit Busbreite, für bis zu 5 interne Geräte
- 68-pol. Standardkabel, 16 Bit Busbreite
- 68-pol. LVD-Kabel mit verdrillten Leitungen und Terminator, 16 Bit Busbreite
SCA
SCA/SCA-2 (Single Connector Attachment) ist ein 80-poliger Anschluss, der häufig bei Hotplug-Wechselrahmen verwendet wird. Dieses Anschlussformat gibt es sowohl für das SE-, LVD-, als auch für das HVD-Übertragungsformat. Im Gegensatz zu den anderen SCSI-Anschlüssen beinhaltet SCA auch die Stromversorgung (+5 und +12 Volt) sowie die Steuerleitungen für die SCSI-ID und die LED Anzeigen.
SCSI-Geräte
- EISA-SCSI Host-Bus-Adapter
- EISA-SCSI Raid controller
- SCSI-Festplatte
- SCSI-CD-Brenner
SCSI-Detailfotos
- Konfigurationsjumper einer LVD-SCSI-Festplatte
- SCA-Adapter (der SCA-Stecker ist jeweils auf der Rückseite)
- 80-poliger SCA-Anschluss einer Festplatte (Ultra-320)
Rollen
Bei den an der Kommunikation beteiligten Geräten unterscheidet man zwischen dem SCSI-Initiator und dem SCSI-Target. Der SCSI-Initiator startet den Verbindungsaufbau durch das Senden eines SCSI-Kommandos. Ein SCSI-Target führt keinen Verbindungsaufbau durch, sondern wartet auf Anfragen des SCSI-Initiators. Das SCSI-Target stellt dann eine oder mehrere Logical Unit Numbers (LUNs) zur Adressierung des Befehls- und Datenstroms zur Verfügung.
Üblicherweise ist der Computer in der Rolle des SCSI-Initiators und ein Peripheriegerät (Speicher, Drucker o. Ä.) in der Rolle des SCSI-Target. Bei der Initiator-/Target-Beziehung handelt sich um eine Client-/Server-Beziehung. Üblicherweise ist jeder SCSI-ID auf dem Bus eine dieser beiden Rollen fest zugewiesen.
Nur in seltenen Ausnahmefällen kann ein Gerät auch beide Rollen ausführen. So war es bei älteren Anlagen (z. B. Commodore 8000er) möglich, eine Datei von einem Diskettenlaufwerk direkt an einen Drucker am gleichen Bus zu senden, ohne die Daten über den Computer zu leiten. In diesem Fall sendet der Computer (als Initiator) ein Kommando an das Diskettenlaufwerk (als Target), woraufhin das Diskettenlaufwerk die Rolle wechselte und eine Verbindung zum Drucker initiierte. Dabei handelt sich hier nicht um SCSI, sondern um IEEE-488, aber die Funktionalität ist in diesem Fall sehr ähnlich.[1]
Weitere Entwicklungen
In der Vergangenheit war SCSI auf allen Arten von Computern weit verbreitet. Desktop-Computer und Notebooks nutzten mittlerweile allerdings überwiegend die langsamere ATA- bzw. nutzen seit etwa 2004 die schnellere Serial-ATA-Schnittstelle für ihre Laufwerke und USB für andere Geräte (USB nutzt SCSI-ähnliche Kommandos für einige Operationen).
Die ursprünglichen SCSI-Standards spezifizierten die physikalischen Eigenschaften der Busse und die elektrische Signalisierung sowie einen Befehlssatz, der die unterschiedlichen Kommandos definierte, die die SCSI-Geräte ausführen konnten. Dieser Befehlssatz ist auch unabhängig vom SCSI-Bus sehr nützlich, da er ausgereift ist und es eine große Zahl von damit vertrauten Benutzern und Entwicklern gibt. Daher tauchen Teile des SCSI-Befehlssatzes auch in anderen Standards wie ATAPI, Fibre Channel, Serial Storage Architecture, InfiniBand, iSCSI, USB, IEEE 1394 und Serial Attached SCSI auf.
Einige Beobachter erwarten, dass der iSCSI-Standard, eine Einbettung von SCSI-3 über TCP/IP, auf lange Sicht Fibre Channel ersetzen wird, da gegenwärtig die mit Ethernet erreichten Datenraten schneller anwachsen als die mit Fibre Channel oder anderen Anschlusstechnologien erreichbaren Raten. iSCSI kann daher sowohl den Low-Cost- als auch den High-End-Markt mit einer kostengünstigen Lösung bedienen. iSCSI behält die grundlegenden SCSI-Paradigmen, vor allem den Befehlssatz, fast unverändert bei.
Siehe auch
- AT Attachment
- Fibre Channel over Ethernet
- iSCSI
- Leitungsanpassung (Terminierung)
Literatur
- Franz-Josef Lintermann, Udo Schaefer, Walter Schulte-Göcking, Klaas Gettner: Einfache IT-Systeme. Lehr-/Fachbuch. 5, 1. korrigierter Nachdruck Auflage. Bildungsverlag EINS, 2008, ISBN 978-3-8237-1140-7 (Seite 88–93).
Weblinks
- SCSI-Spezifikationen (englisch)
- SCSI Standards / Transferraten / Busbreite / Kabellänge auf microsemi.com
Einzelnachweise und Anmerkungen
- EMC Proven Professional (Hrsg.): Information Storage and Management. 2. Auflage. 2012, ISBN 978-1-118-23696-3, S. 15–25.