SCSI hat sich in den gut sechs Jahren seit seiner Verabschiedung zum marktbeherrschenden Standard entwickelt, sowohl Hardware- wie Betriebssystemübergreifend. Kaum ein Computer oder Peripheriegerät läßt sich heute noch ohne SCSI-Schnittstelle verkaufen. Grund genug, die Situation einmal aus der Sicht des Atari-Anwenders -speziell mit Blick auf Host-Adapter und Festplatten -zu betrachten.
Bei der Anschaffung einer Festplatte entscheiden sich die meisten Atari-Anwender für eine SCSI-Lösung: einen SCSI-Host-Adapter und eine SCSI-Festplatte. Andere Schnittstellen, etwa ST-506, waren beim ST schon immer Exoten und der nur noch geringe Preisunterschied rechtfertigt kaum den Mehraufwand und die wesentlich geringere Leistung: SCSI-Festplatten sind meist relativ schnell, einfach zu installieren und problemlos im Betrieb. Fast alle kümmern sich selbst um defekte Blöcke und sie lassen sich voraussichtlich auch noch am nächsten Computer betreiben. Dazu kommt, daß viele SCSI-Host-Adapter auch den Anschluß anderer Peripheriegeräte - etwa Band- und CD-ROM-Laufwerke - unterstützen.
Das Small Computer System Interface ist eine recht schnelle Schnittstelle. Sie erlaubt bei synchroner Übertragung eine maximale Datentransferrate von rund fünf Megabyte pro Sekunde. Die maximale Kabellänge für den SCSI-Bus beträgt sechs Meter, wenngleich der Standard auch eine elektrisch aufwendigere Lösung mit maximal 25 Metern definiert. Doch bereits mit sechs Metern ist der problemlose Betrieb mehrerer externer Geräte möglich.
Der SCSI-Standard unterstützt maximal acht Geräte auf dem Bus, von denen sich jedes theoretisch noch einmal in acht sogenannte »logische Einheiten« (LUNs) unterteilen läßt. SCSI-Geräte sind »intelligent« - was man eben bei Hardware so unter Intelligenz versteht. Man muß sich also nicht selbst um die Schreib-/Lesekopfpositionierung und Ähnliches kümmern, da das Betriebssystem einer Festplatte, die »Firmware«, Hardware-unabhängige Befehle versteht, die der Computer über den SCSI-Bus schickt. Diese Befehle sind nach Art des Peripheriegeräts genormt, so daß man erwarten kann, daß beispielsweise alle Festplatten die gleichen Befehle verstehen, alle Bandlaufwerke und auch alle Drucker und Scanner - immer vorausgesetzt, daß deren Hersteller sich an den Standard halten.
Zum Betrieb eines oder mehrerer solcher SCSI-Peripheriegeräte ist jedoch, wie bereits erwähnt, ein sogenannter SCSI-Host-Adapter notwendig, der die Verbindung vom ST/TT zum SCSI-Bus schafft. Dies kann für den ST, der ja nur über einen »ACSI«-Bus verfügt, eine externe Erweiterung - meist im Festplattengehäuse - sein. Dem TT gab Atari einen eigenen SCSI-Host-Adapter mit.
Diese Hardware wird von einem sogenannten »Treiber« gesteuert, der die Aufgabe hat, herstellerspezifischen Code vom Rest des Betriebssystems zu isolieren - genauso wie der SCSI-Standard den Systemprogrammierer von hersteller-spezifischer Peripherie verschont, jedoch auf einer höheren Stufe. Die Aufgaben des Treibers lassen sich in folgende Funktionsgruppen einteilen: Festplattensteuerung, Unterstützung von Wechselmedien und direkte SCSI-Steuerung.
Der erste Massenspeicher für den ST war das externe 3-1/2-Zoll-Diskettenlaufwerk und das Betriebssystem legt noch heute generell fest, wie die Softwareschnittstelle zu Diskettenlaufwerken, Festplatten und ähnlichen blockorientierten Massenspeichern auszusehen hat.
Wechselmedien, etwa SyQuest-oder CD-ROM-Laufwerke, werden nicht von allen Treibern unterstützt, wenngleich auch hierfür ein wohldefiniertes Kommando aus dem SCSI-Befehlssatz zur Verfügung steht. Dies bemerken aber viele Besitzer von SCSI-Host-Adaptern gar nicht, da sie nur eine Festplatte am Adapter betreiben, die keinen Medienwechsel zuläßt. Ein anderes Problem ergibt sich für viele Treiber, wenn beim Booten in einem Wechselplattenlaufwerk kein Medium eingelegt ist: In vielen Fällen entsteht eine Verzögerung, weil der Treiber vergeblich auf das Einlegen eines Datenträgers wartet, obgleich das System ohnehin von einem anderen Gerät bootet. Auch ist es nicht allen Treibern möglich, bei der Initialisierung nicht erkannte oder noch nicht bereite Geräte nachträglich zu initialisieren. Dies äußert sich dann in fehlenden Partitionen, die erst nach einem Neustart wieder auftauchen.
CD-ROMs stellen Gerätetreiber in anderer Hinsicht auf die Probe, denn obgleich es sich bei ihnen um Direktzugriffsmedien handelt, verweigert hier so mancher SCSI-Host-Adapter die Arbeit. Dies liegt meist daran, daß viele Treiber nur mit Sektorgrößen von 512 Bytes arbeiten, CD-ROMs aber mit 2-KByte-Sektoren.
Daher ist das einwandfreie Funktionieren eines Treibers mit einem CD-ROM-Laufwerk schon als ein gewisses Zeichen der Sicherheit anzusehen, da hierzu immerhin Gerätetypen unterschieden, Medienwechsel erkannt und Sektoren von 2 Kilobyte Größe verstanden werden müssen.
Da der SCSI-Standard sich nicht auf diskettenähnliche Peripherie beschränkt, wurde ein weiteres Gerätetreiberkommando definiert, das es erlaubt, »rohe« SCSI-Kommandos an Targets zu senden. In manchen Fällen ist es beispielsweise notwendig, Festplatten bestimmte Konfigurationskommandos zu schicken. Ein bekanntes Beispiel ist das Kommando zur sogenannten »Low-Level-Formatierung« einer Festplatte. Andere Gerätetypen, beispielsweise Bandlaufwerke und Scanner, sind ebenfalls nur direkt über die genormten SCSI-Kommandos zu steuern. Wenn der Gerätetreiber direkte SCSI-Kommandos unterstützt, heißt dies noch nicht, daß »ungewöhnliche« Gerätetypen nicht doch an anderer Stelle für Verwirrung sorgen können: Wie zuvor erwähnt, stellt die korrekte Initialisierung noch immer für viele Gerätetreiber ein Problem dar, wenn andere Peripheriegeräte als Festplatten am Bus angeschlossen sind und der Treiber keine Unterscheidung zwischen den verschiedenen SCSI-Gerätetypen trifft. Denn von einem Scanner läßt es sich schließlich nur schlecht booten.
Es soll aber nicht der Eindruck erweckt werden, alle Quellen der Inkompatibilität seien den Treiberprogrammierern anzulasten. Ein Problem des SCSI-Standards besteht auch darin, daß sich viele Hersteller nicht hundertprozentig an ihn halten oder Fehler in den Betriebssystemen (der »Firmware«) von Peripheriegeräten den Treiberprogrammierern das Leben schwer machen.
Übermittelt ein Initiator einem Target einen Befehl, fordert er hierzu nach einem genau definierten Protokoll den SCSI-Bus an. Ist erst einmal eine Verbindung zwischen Befehlsgeber und Befehlsempfänger aufgebaut, dann ist der SCSl-Bus »belegt«; er läßt sich also zu einem Zeitpunkt immer nur von einem Gerätepaar nutzen. Nun tritt bei manchen Kommandos bis zur deren Abschluß aber eine Verzögerung ein, etwa dadurch, daß der Schreib-/Lesekopf erst einmal zur richtigen Spur bewegt und Daten vom Medium gelesen werden müssen. Um während dieser Zeit den SCSl-Bus nicht unnötig in Beschlag zu nehmen, kann das Target den Initiator auffordern, den Bus freizugeben, um andere Kommando- und Datenübermittlungen zu ermöglichen. Diese Trennung einer Verbindung nennt man »Disconnect«. Sobald das Peripheriegerät in der Lage ist, die vom Initiator gewünschten Daten oder den Status einer länger andauernden Operation zu liefern, versucht es eine erneute Verbindung zum Auftraggeber herzustellen (Reconnect) und setzt so die Ausführung des Kommandos fort.
Durch diese Funktion können also gleichzeitig mehrere logische Verbindungen aktiv sein, die Bandbreite des SCSI-Busses wird also wesentlich besser genutzt. Gerade beim Sichern einer Festplatte auf Band macht sich dies positiv bemerkbar, da sich während des Aufzeichnens auf dem meist recht langsamen Bandlaufwerk schon weitere Daten von der Festplatte lesen lassen.
Dem ursprünglichen SCSI-Standard von 1986 - mittlerweile wird er auch als SCSI-1 bezeichnet - merkt man noch in vielem seine Abstammung vom Vorläufer SASI an. Dies äußert sich insbesondere darin, daß viele wichtige Kommandos noch nicht zum Pflichtumfang gehören. Ginge es nur nach diesem kleinsten gemeinsamen Nenner, so könnte ein Gerätetreiber beispielsweise nicht selbständig feststellen, um welche Art von Peripheriegerät es sich bei einem Target handelt und welche Kapazität oder Blockgröße eine Festplatte besitzt. Da die Selbstkonfigurierung eines SCSI-Systems jedoch wünschenswert ist und einheitliche Kommandos für bestimmte Gerätetypen deren Steuerung vereinfachen, einigte man sich mit dem Aufkommen komplexerer SCSI-Geräte auf eine Neufassung des SCSI-Standards: SCSI-2. SCSI-2 erweitert die Menge der standardisierten Kommandos, legt strengere Maßstäbe für das zu implementierende Minimum an, klärt Zweifelsfälle von SCSI-1 und beseitigt SASI-Ballast. Beispielsweise wurden Audio-Kommandos für CD-ROM-Laufwerke genormt, so daß sich Audio-CDs auf allen dazu geeigneten Laufwerke durch die gleichen SCSI-Befehle spielen lassen.
Dazu kommen zwei bedeutende Hardware-Erweiterungen: Durch »Fast SCSI«, eine Erweiterung des Protokolls für synchrone Datenübertragung, können nun maximal 10 Millionen Datenwörter pro Sekunde auf dem Bus übertragen werden, und »Wide SCSI« erlaubt anstelle der bisher üblichen 8 Datenbits pro Wort jetzt auch 16 und 32 Bits - klar, daß letzteres spezielle Anschlüsse und ein neues Kabel für den SCSI-Bus benötigt.
Was bedeutet es nun, wenn ein Hersteller Übereinstimmung mit dem SCSI-2-Standard für eines seiner Peripheriegeräte in Anspruch nimmt? In erster Linie sind mehr Kommandos und deren konformes Verhalten garantiert, so daß weniger Probleme beim Einrichten und Betrieb zu erwarten sind. Schneller oder effizienter als ein SCSI-1-Gerät ist es jedoch nur dann, wenn auch eine der beiden Hardware-Erweiterungen implementiert ist. Dies ist bisher jedoch üblicherweise nicht der Fall.
Und wie sieht es bei einem SCSI-2-Host-Adapter aus? Da SCSI-2 in fast allen Punkten eine Übermenge von SCSI-1 ist, ist das Prädikat »SCSI-2-kompatibel« nahezu wertlos, da es durch strengere Richtlinien die Arbeit des Treiber-Programmierers sogar erleichtert. Im Gegenteil: Unterstützte ein Host-Adapter ausschließlich SCSI-2, so wäre SCSI-1 -Peripherie möglicherweise gar nicht mehr lauffähig!
Und was hat SCSI-2 mit 16-Bit-Datenübertragung zu tun? Von obengenannter Wide-SCSI-Option abgesehen, rein gar nichts. So erweisen sich die Schlagworte »16-Bit-SCSI« und »SCSI-2« im Zusammenhang mit Host-Adaptern als reine Marketing-Phrasen, denn schließlich trifft der SCSI-Standard gar keine Aussagen über die Schnittstelle zwischen Host-Adapter und Rechner. Auch ein hundertprozentiger SCSI-2-Host-Adapter könnte die empfangenen Daten noch immer mit Hilfe des Prozessors Byte für Byte in den Hauptspeicher schaufeln.
Abschließend geht es um das leidige Thema Benchmarks, also um Verfahren zur Geschwindigkeitsbestimmung eines SCSI-Systems. Benchmark-Programme dienen dazu, die Geschwindigkeit eines SCSI-Systems zu messen. Die zu diesem Zweck ermittelten Zeiten für bestimmte Operationen sollen es ermöglichen, die Leistung von Konfigurationen zu vergleichen. Hauptproblem ist jedoch eben diese Vergleichbarkeit der erhaltenen Werte, denn es gibt verschiedene Ansatzpunkte für eine solche Messung, nämlich die Geschwindigkeiten auf den Ebenen von
Werte dieser drei Klassen werden in der Werbung und mitunter auch in Testberichten bunt durcheinandergewürfelt und sind in keiner Weise miteinander vergleichbar, oft nicht einmal dann, wenn sie der gleichen Kategorie angehören. Mancher Host-Adapter-Hersteller entwickelt sogar spezielle eigene Benchmarks, die dann erstaunlicherweise das eigene Produkt als das schnellste erscheinen lassen.
Es stellt üblicherweise kein Problem dar, die Geschwindigkeit einer Festplatte zu bestimmen, da man heutzutage leicht eine Kombination aus Rechner und Host-Adapter findet, die nicht zur begrenzenden Komponente des Tests wird. Ungleich schwerer ist es jedoch, die alleine aus der Hardware resultierende Spitzengeschwindigkeit eines SCSI-Host-Adapters zu bestimmen, da die Messung dieser maximalen Übertragungsrate ein hardwareabhängiges Programm erfordert, das sich nur bei genauer Kenntnis der Funktionsweise eines bestimmten SCSI-Host-Adapters schreiben läßt. Dazu kommt ein Target, das die Daten schnell genug übertragen kann, um die Ergebnisse nicht durch das Nadelöhr Festplatte zu verfälschen, denn eine Kombination aus Festplatte und Host-Adapter kann nicht schneller sein als seine langsamste Komponente: üblicherweise die Festplatte. Wollte man also unterschiedliche Host-Adapter miteinander vergleichen, so bräuchte man eine Festplatte, die schneller ist als der schnellste der zu testenden Host-Adapter. Durch Verwendung des in den meisten modernen Festplatten enthaltenen Pufferspeichers läßt sich dieser Wert jedoch auch mit durchschnittlichen Festplatten recht genau bestimmen, da derartige Übertragungen in den Platten-Cache keinen Verzögerungen durch das Medium selbst unterliegen.
Bei der Verwendung durchschnittlicher Festplatten macht sich eine hohe Spitzengeschwindigkeit kaum bemerkbar, wenn nur ein einziges Gerät angeschlossen ist, da diese Übertragungsrate bestenfalls für kurze Bursts in der Größe des Pufferspeichers erbracht werden kann. Bei mehreren gleichzeitig verwendeten Geräten kann eine hohe Bandbreite jedoch durchaus von Nutzen sein. Allerdings gibt es durchaus Festplatten, die bereits heute an die Grenzen von SCSI-1 kommen. Und bei dem gewohnten Preisverfall sind solche Geschwindigkeiten vielleicht in zwei Jahren nichts Außergewöhnliches mehr, so daß sich ein Host-Adapter mit entsprechenden Leistungsreserven möglicherweise doch bezahlt macht.
Wenngleich von der Geschwindigkeit einer Festplatte abhängig, so ist die Dauerübertragungsrate (»sustained data transfer rate«) auf Gerätetreiberebene doch eines der genauesten Meßverfahren. Sie gibt an, mit welcher Geschwindigkeit Daten gelesen werden können, wenn sie direkt über den Gerätetreiber angefordert werden. Trotzdem hängen die erhaltenen Werte von der Testkonfiguration ab:
Einen Schritt näher an den typischen Leistungsdaten, die man beim täglichen Arbeiten mit einem Rechner erfährt, sind Benchmarks, die ihre Tests anhand von DOS-Operationen durchführen, so etwa das Durchsuchen von Verzeichnissen sowie das Anlegen und Löschen von Dateien. Dazu kommt die Übertragungsgeschwindigkeit für Dateien.
Das Problem der DOS-Benchmarks besteht darin, daß sie - zusätzlich zu den bereits genannten - durch noch mehr Faktoren beeinflußt werden:
Daraus ergibt sich, daß ohne eine Angabe, wie ein bestimmter Benchmark-Wert zustande gekommen ist, dieser völlig wertlos ist. Das beste Verfahren, zwei SCSI-Host-Adapter zu vergleichen, besteht darin, sie in der exakt gleichen Konfiguration und mit der gleichen Software zu betreiben. Sicherlich wurden auch hier nicht alle Faktoren, die die Leistung eines SCSI-Systems ausmachen, genannt. So kann der Zuverlässigkeit des Herstellers, Service eines Händlers, Garantieleistungen und andere Extras, etwa Treiber für Emulatoren, durchaus ebenfalls die Kaufentscheidung beeinflussen. (uh)
Literatur:
[1] American National Standard for Information Systems - Small Computer System Interface (SCSI), ANSI X3.131-1986, American National Standards Institute, Inc.
Busy-Waiting
Verfahren, das Eintreten eines externen Ereignisses zu erkennen. Hierbei prüft der Gerätetreiber durch dauernde Abfrage von Registern, ob sich ein externer Zustand ändert. Gegensatz: Interrupt.
ACSI
Atari Computer System Interface. Ataris Eigenentwicklung einer DMA-Schnittstelle, die sich weitgehend an den SCSI-Standard anlehnt. Eine Besonderheit besteht darin, daß der 50polige SCSI-Bus auf 19 Leitungen reduziert wurde.
CCS
Common Command Set. Zwischenschritt zwischen SCSI-1 und SCSI-2, um sich bis zur Verabschiedung von SCSI-2 auf einen Standard für dringend benötigte neue Kommandos zu einigen und Zweifelsfälle in SCSI-1 zu klären.
Controller
Adapter zwischen Festplatten-Hardware (oder der Hardware eines anderen SCSI-Targets) und dem SCSI-Bus, der auf die über den Bus erhaltenen SCSI-Befehle reagiert und sie in die hardware-spezifischen Signale konvertiert; meist eine integrierte Platine auf der Unterseite einer Festplatte. Der Begriff ist weder SCSI- noch Festplatten-spezifisch: Eine AT-Festplatte und ein SCSI-Bandlaufwerk verfügen demnach ebenfalls jeweils über einen Controller. Gegenstück: Host-Adapter.
Disconnect/Reconnect
Erwartet ein Peripheriegerät nach Erhalt eines Kommandos (oder zu einem späteren Zeitpunkt vor Abschluß desselben) eine längere Verzögerung, bis es in der Lage ist, Daten oder Statusinformationen zu senden oder zu empfangen - etwa, wenn erst eine Neupositionierung des Schreib-/Lesekopfs notwendig ist -, so kann es sich beim Auftraggeber (Initiator) abmelden und so den SCSI-Bus für andere Geräte freigeben. Bei Bereitschaft meldet sich das Target dann selbständig zurück.