SCSI-Treiber-Erweiterung

Eine kleine Schwachstelle der SCSI-Treiber-Schnittstelle ist die Beschränkung auf 8 LUNs (SCSI-Untereinheiten) pro Gerät, obwohl SCSI-2 und neuer (nicht aber ACSI) 32 LUNs erlauben. Mit RaSCSI lassen sich leicht Geräte mit mehr als 8 LUNs einrichten.
Mit einer kleinen, abwärtskompatiblen Erweiterung der SCSI-Treiber-Schnittstelle lässt sich die LUN-Beschränkung aufheben. Dies wurde mit einer Betaversion von HDDRIVER getestet. Voraussichtlich wird es eine offizielle Version von HDDRIVER geben, die dieses Feature unterstützt.

SCSI-Treiber-Erweiterung

Der Screenshot zeigt zwei SCSI-Geräte mit einer LUN > 7: Die RaSCSI-Host-Dienste (ID 4, LUN 15) und einen SCSI-Drucker (ID 4, LUN 31).

Technische Details

Die Bits 8-12 im flags-Feld der In- und Out-Aufrufe enthalten die komplette LUN (0-31). Ob ein SCSI-Treiber dieses Feature unterstützt wird in Bit 6 des Feature-Vektors für den jeweiligen Bus codiert. Der Aufrufer setzt Bit 6 im flags-Feld um zu signalisieren, dass die erweiterte LUN-Information verfügbar ist. Die SCSI-Treiber-Spezifikation erläutert alle Datenstrukturen und Aufrufe im Detail.
Gemäß SCSI-2-Standard (oder neuer) wird das Target mit einer IDENTIFY-Nachricht über die LUN informiert. Dies tut HDDRIVER grundsätzlich, d. h. auch mit der öffentlichen Version.

Liste der vorhandenen LUNs

Bei Geräten mit potentiell zahlreichen LUNs ist es oft nützlich, die Liste der vorhandenen LUNs vom Gerät anzufordern. Dies vermeidet unnötige Zugriffe auf nicht existierende Geräte. Hierzu existiert das SCSI-Kommando REPORT LUNS, s. SPC-2 (SCSI Primary Commands) oder neuer. Die RaSCSI-Client-Tools liefern ein Beispiel.