SCSI-Compliance – Test 2.0 (LOGO)
Dieser automatisierte Test überprüft, ob ein Blockspeichergerät (RAID-Adapter oder Datenträgerziel), das vom Betriebssystem unterstützt wird, vollständig den SCSI-Standards (Small Computer System Interface) entspricht, die in den Spezifikationen „SCSI-3 Primary Commands-3“ (SPC-3) oder höher und „SCSI Block Commands-2“ (SBC-2) oder höher beschrieben werden. Zum Anzeigen dieser Spezifikationen wechseln Sie zu Technical Committee T10 SCSI Storage Interfaces.
Wenn Sie sicherstellen, dass das Blockgerät und das Betriebssystem diese Standards einhalten, erhalten Sie ein robusteres und zuverlässigeres System. Obwohl einige Blockgeräte möglicherweise keinen SCSI-Transport verwenden, kommuniziert das Betriebssystem mit ihnen über SCSI-Befehle (mit Ausnahme von einzelnen ATA-Datenträgern, die nicht Teil eines RAID-Sets sind).
Der Test verwendet SCSI-Passthrough-Anforderungen (IOCTL_SCSI_PASS_THROUGH) zum Erstellen und Senden von SCSI-Befehlsdeskriptorblöcken (CDBs) an das Gerät. Der Test bewertet die Ergebnisse der Befehle, um die Compliance zu überprüfen.
Hinweis
Wenn Sie diesen Test als Teil einer Speicher-RAID-Hardware-basierten RAID-Übermittlung (Speicherarray) ausführen und Ihr Speicherarray Multipfad-E/A unterstützt, müssen Sie Ihre Multipfad-E/A so konfigurieren, dass eine Nur-Failover-Richtlinie verwendet wird, und für den Zielspeicherdatenträger festlegen, dass für alle Multipfad-E/A-fähigen Datenträger derselbe aktive Pfad verwendet wird.
Wenn Sie diesen Test als Teil einer Speicher-RAID-Hardware-basierten RAID-Übermittlung (Speicherarray) ausführen, stellen Sie sicher, dass LUN0 als größte nicht für den Start erforderliche LUN konfiguriert ist.
Testdetails
Spezifikationen |
|
Plattformen |
|
Unterstützte Versionen |
|
Voraussichtliche Laufzeit (in Minuten) | 5 |
Kategorie | Kompatibilität |
Zeitüberschreitung (in Minuten) | 300 |
Neustart erforderlich | false |
Erfordert eine spezielle Konfiguration | false |
Typ | automatic |
Zusätzliche Dokumentation
Tests in diesem Funktionsbereich enthalten möglicherweise zusätzliche Dokumentation, einschließlich Informationen zu Voraussetzungen, Einrichtung und Fehlerbehebung, die in den folgenden Themen zu finden sind:
Ausführen des Tests
Bevor Sie den Test ausführen, schließen Sie die Testeinrichtung ab, die in den Testanforderungen für die Art von Speichercontroller beschrieben sind, die Sie testen. Weitere Informationen finden Sie unter Testvoraussetzungen für Festplattenlaufwerke.
Problembehandlung
Informationen zur allgemeinen Problembehandlung von HLK-Testfehlern finden Sie unter Problembehandlung von Windows HLK-Testfehlern.
Allgemeine Informationen zur Problembehandlung finden Sie unter Problembehandlung bei Device.Storage-Tests.
Außerdem schreibt der Test die Ergebnisse in die Protokolldateien Scsicompliance.wtl und Scsicompliance.wtl.txt. Sie können die Ergebnisse verwenden, um Folgendes zu bestimmen:
Ob ein Gerät mit der SCSI-Spezifikation kompatibel ist
Die optionalen SCSI-Befehle, die von einem Gerät unterstützt werden
Damit der Test erfolgreich ist, muss das SCSI-Gerät alle obligatorischen Befehle unterstützen und mit diesen vollständig konform sein. Jeder Befehl hat einen anderen Schwellenwert für „Erfolgreich“ oder „Fehlgeschlagen“, und die Erwartungen werden im Test und in der Protokolldatei explizit angegeben.
Optionale Befehle werden auch getestet. Wenn ein Gerät die optionalen Befehle unterstützt und festgestellt wird, dass die Befehle nicht konform sind, schlägt der Test fehl. Wenn das Gerät keine optionalen Befehle unterstützt, wird der Test erfolgreich abgeschlossen.
Hinweis
Fehler aus diesem Test treten durch Probleme auf, die in der Protokolldatei und in den Abbruchfehlern identifiziert werden, die durch die Belastung des zu testenden Treibers entstehen.
Wenn Sie während des Tests Probleme beim Entfernen einer fehlerhaften LUN haben oder keine LUN vom Speichercontroller erstellen können, gehen Sie folgendermaßen vor:
Stellen Sie vor der Ausführung dieses Tests sicher, dass das Speichergerät ordnungsgemäß funktioniert. Öffnen Sie diskmgmt.msc, wählen Sie den Datenträger aus, und stellen Sie sicher, dass Sie das Gerät online und initialisiert platzieren können.
Starten Sie den Windows HLK-Testcomputer neu.
Wählen Sie den SCSI-Compliancetest 2.0 aus, und führen Sie ihn erneut aus. Führen Sie davor keinen anderen Test aus.
Führen Sie den SCSI-Compliancetest (nicht den SCSI Compliance Test 2.0 (LOGO)) auf demselben Testclient und demselben Testspeichergerät aus. Wenn der Test noch mal fehlschlägt, überprüfen Sie, ob das Speichergerät ordnungsgemäß funktioniert. Wenn der Test in den Schritten 3 und 4 fehlschlägt, führen Sie die einzelnen fehlgeschlagenen Befehlsdatenblöcke (cdbs) nacheinander aus, wobei die Ausführlichkeitsstufe der Protokollierung auf 4 (die höchste Stufe der Testprotokollierung) eingestellt ist. Dadurch wird angezeigt, welche Daten gesendet und welche Daten zurückgesendet wurden. Ein Test kann fehlschlagen, nachdem mehrere Befehlsdatenblöcke abgeschlossen, aber eigenständig bestanden wurden. In diesem Fall liegt ein Problem in der Firmware oder im Test vor.
Wenn Sie ein Gerät zurücksetzen und dies dazu führt, dass das Gerät vom Bus abfällt und nachfolgende Befehle fehlschlagen, führen Sie die folgenden Schritte aus:
Kopieren Sie die Testbinärdatei (Scsicompliance.exe) vom Windows HLK-Controller. Diese Datei befindet sich unter \\controllername\tests\[processorarchitectureofyourclient]\NTTEST\DriversTest\storage\wdk\.
Kopieren Sie die Datei wttlog.dll vom Windows HLK-Controller. Diese Datei befindet sich unter \\<controllername>\Tests\<processorarchitectureofyourclient >\wtt
Legen Sie diese beiden Dateien in einem separaten Ordner auf dem Testcomputer ab.
Geben Sie in einer Eingabeaufforderung im Verzeichnis mit der Binärdatei den folgenden Befehl ein: Scsicompliance.exe /device deviceID <> /verbosity 4 /operation test /scenario <> /CDB <failingcdbname>
Hinweis
DeviceID- und Szenariowerte finden Sie in der Repro-Zeile im Testprotokoll. Den Wert von „failingcdbname“ finden Sie, indem Sie die Testbinärdatei mit der Option /? ausführen (scsicompliance.exe /?).
Wechseln Sie zurück in dasselbe Verzeichnis, und überprüfen Sie die Ergebnisse, um festzustellen, ob Sie den Grund für das Fehlschlagen des Tests ermitteln können.
Wenn Sie weitere Hilfe benötigen, sammeln Sie die txt- und wtl-Protokolle, und teilen Sie die Protokolle mit dem Microsoft-Kundendienst.
Wenn Sie diesen Test für Windows Server 2003 ausführen, stellen Sie sicher, dass die Datenträger oder LUNs nicht Multipfad-E/A-Pseudo-LUNs sind. Multipfad-E/A wird unter Windows Server 2003 nicht unterstützt.
Weitere Informationen
Die folgenden Befehle werden überprüft:
Hinweis
Weitere Informationen zur Referenz finden Sie auf der Website Technical Committee T10 SCSI Storage Interfaces.
Befehl: Test Unit Ready
Titel: Grundlegender Überprüfungstest TEST UNIT READY
Beschreibung: Mit dem Befehl TEST UNIT READY kann überprüft werden, ob die logische Einheit bereit ist. Dies ist keine Anforderung für einen Selbsttest. Wenn die logische Einheit einen entsprechenden Befehl für den Medienzugriff akzeptieren kann, ohne den Status CHECK CONDITION zurückzugeben, gibt dieser Befehl den Status GOOD zurück.
Referenz: Spezifikation SCSI Primary Commands - 3 (SPC-3) Revision 23 (oder veröffentlicht), Abschnitt 6.33
Erwartung: Das Gerät muss den SCSI-Status GOOD (0x0) zurückgeben.
Begründung: Dies ist ein obligatorischer SPC-3-/SPC-4-Befehl.
Befehl: Request Sense
Titel: Supporttest REQUEST SENSE (6)
Beschreibung: Prüft, ob der Befehl „Request Sense“ unterstützt wird, und gibt den Status GOOD zurück.
Referenz: Spezifikation SCSI Primary Commands - 3 (SPC-3) Revision 23 (oder veröffentlicht), Abschnitt 6.27
Erwartung: Das Gerät muss den SCSI-Status GOOD (0x0) zurückgeben.
Begründung: Dies ist ein obligatorischer SPC-3-/SPC-4-Befehl, und er wird vom Initiator verwendet, um Fehlererkennungsdaten für fehlgeschlagene Befehle abzurufen.
Titel: Test REQUEST SENSE (6) RESPONSE CODE
Beschreibung: Prüft, ob RESPONSE CODE 0x70, 0x71, 0x72 oder 0x73 ist
Referenz: Spezifikation SCSI Primary Commands - 3 (SPC-3) Revision 23 (oder veröffentlicht), Abschnitt 6.27
Erwartung: RESPONSE CODE == 0x70 oder RESPONSE CODE == 0x71 oder RESPONSE CODE == 0x72 oder RESPONSE CODE == 0x73
Titel: Test REQUEST SENSE (6) für Erkennungdatenlänge
Beschreibung: Prüft, ob die Länge der SENSE-Daten richtigt ist (übertragene Daten entsprechen der Datenlänge, die von der Befehlsantwort gemeldet wurde).
Referenz: Spezifikation SCSI Primary Commands - 3 (SPC-3) Revision 23 (oder veröffentlicht), Abschnitt 6.27
Erwartung: Zusätzliche Erkennungslänge <= Erkennungsdatengröße - 8.
Befehl: Read 6
Titel: Grundlegender Überprüfungstest READ (6)
Beschreibung: Das Gerät muss den SCSI-Status GOOD (0x0) und die ersten beiden Datenblöcke ordnungsgemäß zurückgeben. Dieser Test sendet zwei READ-Befehle, die zwei verschiedene, aber überlappende Datenblöcke lesen. Anschließend vergleicht er die überlappenden Daten. Er gibt „true“ zurück, wenn die überlappenden Daten zwischen den Lesevorgängen identisch sind (bedeutet, dass die beiden Befehle dieselben Daten ordnungsgemäß lesen).
Referenz: Spezifikation SCSI Block Commands - 2 (SBC-2) Revision 16 (oder veröffentlicht), Abschnitt 5.5
Erwartung: ScsiStatus == 0x0.
Begründung: Einige der Anwendungen verwenden weiterhin Read 6 und sind nicht zu Read 10 übergegangen. Daher wird überprüft, ob dieser Befehl implementiert ist, und die Tests werden fortgesetzt.
Titel: Sequenzieller Lesetest READ (6)
Beschreibung: Das Gerät muss 1.000 sequenzielle Blöcke von Daten ordnungsgemäß lesen. Dieser Test sendet den Befehl 1.000 Mal, wobei 1.024 Bytes Daten sequenziell ab einer zufälligen Blockadresse gelesen werden.
Referenz: Spezifikation SCSI Block Commands - 2 (SBC-2) Revision 16 (oder veröffentlicht), Abschnitt 5.5
Erwartung: Alle READ (6)-Befehle sind erfolgreich.
Titel: Zufälliger Lesetest READ (6)
Beschreibung: Das Gerät muss 1.000 zufällige Blöcke von Daten ordnungsgemäß lesen. Dieser Test sendet den Befehl 1.000 Mal, wobei Daten an einer zufälligen logischen Blockadresse gelesen werden.
Referenz: Spezifikation SCSI Block Commands - 2 (SBC-2) Revision 16 (oder veröffentlicht), Abschnitt 5.5
Erwartung: Alle READ (6)-Befehle sind erfolgreich.
Titel: Test READ (6) Read-With-Disk-Cache-Cleared
Beschreibung: Das Gerät muss Daten nach dem Löschen des 12-MB-Datenträgercaches ordnungsgemäß zurückgeben. Dieser Test liest zunächst 12 MB sequenzielle Daten zur späteren Überprüfung. Anschließend wird der Datenträgercache durch Lesen von zufälligen 12 MB Daten gelöscht. Schließlich liest er die gleichen 12 MB sequenziellen Daten, um zu sehen, ob die Daten mit dem ersten Lesevorgang identisch sind.
Referenz: Spezifikation SCSI Block Commands - 2 (SBC-2) Revision 16 (oder veröffentlicht), Abschnitt 5.5
Erwartung: Die 12 MB Daten, die gelesen werden, nachdem der Cache gelöscht wurde, sind richtig.
Befehl: Write 6
Titel: Grundlegender Funktionstest WRITE (6)
Beschreibung: Der Befehl schreibt einen Datenblock ordnungsgemäß auf das Gerät. Dieser Test vergleicht die Daten, die geschrieben werden sollen, und die von READ nach dem Schreibvorgang zurückgegebenen Daten. Wenn die Daten identisch sind, bedeutet dies, dass der Befehl WRITE die Daten ordnungsgemäß auf den Datenträger schreibt.
Referenz: Spezifikation SCSI Block Commands - 2 (SBC-2) Revision 16 (oder veröffentlicht), Abschnitt 5.24
Erwartung: ScsiStatus == 0x0.
Begründung: Einige der Anwendungen verwenden weiterhin Write 6 und sind nicht zu Write 10 übergegangen. Daher wird überprüft, ob dieser Befehl implementiert ist, und die Tests werden fortgesetzt.
Titel: Sequenzieller Schreibtest WRITE (6)
Beschreibung: Der Befehl schreibt 1.000 sequenzielle Datenblöcke ordnungsgemäß. Dieser Test sendet den Befehl 1.000 Mal, wobei Daten sequenziell ab einer zufälligen logischen Blockadresse geschrieben werden.
Referenz: Spezifikation SCSI Block Commands - 2 (SBC-2) Revision 16 (oder veröffentlicht), Abschnitt 5.24
Erwartung: Alle WRITE (6)-Befehle sind erfolgreich.
Titel: Zufälliger Schreibtest WRITE (6)
Beschreibung: Der Befehl schreibt 1.000 zufällige Datenblöcke ordnungsgemäß. Dieser Test sendet den Befehl WRITE 1.000 Mal, wobei Daten an einer zufälligen logischen Blockadresse geschrieben werden.
Referenz: Spezifikation SCSI Block Commands - 2 (SBC-2) Revision 16 (oder veröffentlicht), Abschnitt 5.24
Erwartung: Alle WRITE (6)-Befehle sind erfolgreich.
Titel: Test WRITE (6) Write-With-Disk-Cache-Disabled
Beschreibung: Der Befehl schreibt 12 MB Daten ordnungsgemäß mit deaktiviertem Cache. Dieser Test schreibt 12 MB Daten auf Datenträger. Anschließend liest er dieselben 12 MB Daten, die gerade geschrieben wurden, um zu überprüfen, ob die gerade geschriebenen Daten richtig sind.
Referenz: Spezifikation SCSI Block Commands - 2 (SBC-2) Revision 16 (oder veröffentlicht), Abschnitt 5.24
Erwartung: Die 12 MB Daten werden ordnungsgemäß geschrieben.
Titel: Test WRITE (6) Write-With-Disk-Cache-Enabled
Beschreibung: Der Befehl schreibt 12 MB Daten ordnungsgemäß mit aktiviertem Cache. Dieser Test schreibt 12 MB Daten auf Datenträger. Anschließend sendet er den Befehl SYNCHRONIZE CACHE (10), um die logische Blockadresse im Cache mit denen des Datenträgers zu synchronisieren. Schließlich liest er dieselben 12 MB Daten, die gerade geschrieben wurden, um zu überprüfen, ob die gerade geschriebenen Daten richtig sind.
Referenz: Spezifikation SCSI Block Commands - 2 (SBC-2) Revision 16 (oder veröffentlicht), Abschnitt 5.24
Erwartung: Die 12 MB Daten werden ordnungsgemäß geschrieben.
Befehl: Inquiry
Titel: Grundlegender Überprüfungstest INQUIRY
Beschreibung: Das Gerät muss den SCSI-Status GOOD (0x0) und Daten mit einer Größe von kleiner als oder gleich 255 Bytes als Reaktion auf den Befehl INQUIRY zurückgeben, bei dem das Feld ALLOCATION LENGTH auf 255 Bytes (0xFF) festgelegt ist. Das Feld ALLOCATION LENGTH gibt die maximale Anzahl von Bytes an, die ein Anwendungsclient für zurückgegebene Daten zugewiesen hat.
Referenz: Spezifikation SCSI Primary Commands - 3 (SPC-3) Revision 23 (oder veröffentlicht), Abschnitt 6.4
Erwartung: Das Gerät muss den SCSI-Status GOOD (0x0) und Daten mit einer Größe von kleiner als oder gleich 255 Bytes zurückgeben.
Titel: Test INQUIRY für Fehler, wenn das Feld PAGE CODE ungleich 0 und EVPD=0 ist.
Beschreibung: Prüft, ob ein Fehler zurückgegeben wird, wenn das Feld PAGE CODE ungleich 0 und EVPD=0 ist. Prüft, ob ein Fehler zurückgegeben wird, wenn das Feld PAGE CODE ungleich 0 und EVPD=0 ist.
Referenz: Spezifikation SCSI Primary Commands - 3 (SPC-3) Revision 23 (oder veröffentlicht), Abschnitt 6.4
Erwartung: ScsiStatus == 0x2, CHECK CONDITION. ScsiStatus == 0x2, CHECK CONDITION.
Titel: INQUIRY mit Abruf von Standardanfragedaten.
Beschreibung: Prüft, ob Standardanfragedaten abgerufen werden können. Prüft, ob Standardanfragedaten abgerufen werden können.
Referenz: Spezifikation SCSI Primary Commands - 3 (SPC-3) Revision 23 (oder veröffentlicht), Abschnitt 6.4
Erwartung: ScsiStatus == 0x0, GOOD.
Titel: INQUIRY mit Überprüfung der Größe von Standardanfragedaten.
Beschreibung: INQUIRY-Standarddaten müssen mindestens 36 Bytes enthalten.
Referenz: Spezifikation SCSI Primary Commands - 3 (SPC-3) Revision 23 (oder veröffentlicht), Abschnitt 6.4
Erwartung: Datenübertragungslänge >= 36 Bytes.
Titel: INQUIRY mit Test des Felds für den Gerätetyp
Beschreibung: Prüft das Feld für den Gerätetyp, um sicherzustellen, dass es sich um ein Direktzugriffsgerät handelt.
Referenz: Spezifikation SCSI Primary Commands - 3 (SPC-3) Revision 23 (oder veröffentlicht), Abschnitt 6.4
Erwartung: Gerätetyp == 0x0, Direktzugriffsgerät.
Titel: INQUIRY mit Test des Felds für den Peripheriequalifizierer.
Beschreibung: Prüfen des Felds für den Peripheriequalifizierer.
Referenz: Spezifikation SCSI Primary Commands - 3 (SPC-3) Revision 23 (oder veröffentlicht), Abschnitt 6.4
Erwartung: Feld für Peripheriequalifizierer == 0
Titel: INQUIRY mit Test des Felds VERSION
Beschreibung: Das Gerät muss ein gültiges VERSION-Feld mit 0x4, 0x5 oder 0x6 zurückgeben.
Referenz: Spezifikation SCSI Primary Commands - 3 (SPC-3) Revision 23 (oder veröffentlicht), Abschnitt 6.4
Erwartung: VERSION ist 0x4 (SPC-2) oder höher für Nicht-SCSI-Bustyp, und VERSION ist 0x3 (SPC) oder höher für den SCSI-Bustyp.
Titel: INQUIRY mit Überprüfung von RESPONSE DATA FORMAT.
Beschreibung: Prüft, ob RESPONSE DATA FORMAT == 2 ist.
Referenz: Spezifikation SCSI Primary Commands - 3 (SPC-3) Revision 23 (oder veröffentlicht), Abschnitt 6.4
Erwartung: RESPONSE DATA FORMAT == 2.
Titel: INQUIRY mit Überprüfung der zusätzlichen Länge.
Beschreibung: Prüft, ob das Feld für die zusätzliche Länge richtig ist.
Referenz: Spezifikation SCSI Primary Commands - 3 (SPC-3) Revision 23 (oder veröffentlicht), Abschnitt 6.4
Erwartung: Feld für zusätzliche Länge == Gesamtdatengröße - 5
Titel: INQUIRY mit Überprüfung des Felds VENDOR IDENTIFICATION.
Beschreibung: Prüft, ob das Feld VENDOR IDENTIFICATION gültige ASCII-Elemente enthält.
Referenz: Spezifikation SCSI Primary Commands - 3 (SPC-3) Revision 23 (oder veröffentlicht), Abschnitt 6.4
Erwartung: Das Feld VENDOR IDENTIFICATION enthält gültige ASCII-Elemente.
Titel: INQUIRY mit Überprüfung des Felds PRODUCT IDENTIFICATION.
Beschreibung: Prüft, ob das Feld PRODUCT IDENTIFICATION gültige ASCII-Elemente enthält.
Referenz: Spezifikation SCSI Primary Commands - 3 (SPC-3) Revision 23 (oder veröffentlicht), Abschnitt 6.4
Erwartung: Das Feld PRODUCT IDENTIFICATION enthält gültige ASCII-Elemente.
Titel: INQUIRY mit Überprüfung des Felds PRODUCT REVISION LEVEL.
Beschreibung: Prüft, ob das Feld PRODUCT REVISION LEVEL gültige ASCII-Elemente enthält.
Referenz: Spezifikation SCSI Primary Commands - 3 (SPC-3) Revision 23 (oder veröffentlicht), Abschnitt 6.4
Erwartung: Das Feld PRODUCT REVISION LEVEL enthält gültige ASCII-Elemente.
Titel: INQUIRY mit Test der Daten zur Befehlsunterstützung.
Beschreibung: Das Gerät muss das HiSup-Bit in den Standardanfragedaten festlegen.
Referenz: Spezifikation SCSI Architecture Model - 3 (SAM-3) Revision 14 (oder höher), Abschnitt 4.9.2
Erwartung: Das HiSup-Bit ist in den Standardanfragedaten festgelegt.
Titel: INQUIRY mit Überprüfung auf unterstützte wichtige Produktseiten.
Beschreibung: Prüft, ob wichtige Produktseiten unterstützt werden.
Referenz: Spezifikation SCSI Primary Commands - 3 (SPC-3) Revision 23 (oder veröffentlicht), Abschnitt 6.4.4
Erwartung: Die Liste der unterstützten wichtigen Produktdatenseiten wird zurückgegeben.
Titel: INQUIRY mit Test des Zugriffs auf die einzelnen unterstützten wichtigen Produktdatenseiten.
Beschreibung: Versuch, auf die einzelnen unterstützten wichtigen Produktdatenseiten zuzugreifen.
Referenz: Spezifikation SCSI Primary Commands - 3 (SPC-3) Revision 23 (oder veröffentlicht), Abschnitt 6.4.4
Erwartung: Jede unterstützte Seite ist zugänglich (bis zu 255 Bytes).
Titel: INQUIRY mit Versuch für Seite 0x80 für Seriennummer der Einheit.
Beschreibung: Prüft, ob Seite 0x80 für die Seriennummer der Einheit unterstützt wird und ein gültiger ASCII-Wert ist.
Referenz: Spezifikation SCSI Primary Commands - 3 (SPC-3) Revision 23 (oder veröffentlicht), Abschnitt 7.6.10
Erwartung: ScsiStatus == 0x0, und Ergebnis ist gültiger ASCII-Wert.
Titel: INQUIRY mit Versuch für Seite 0x83 für Geräteidentifizierung.
Beschreibung: Prüft, ob Seite 0x83 für die Geräteidentifizierung unterstützt wird.
Referenz: Spezifikation SCSI Primary Commands - 3 (SPC-3) Revision 23 (oder veröffentlicht), Abschnitt 7.6.3
Erwartung: ScsiStatus == 0x0.
Titel: INQUIRY mit Überprüfung der Identifikationsdeskriptoren auf der VPD-Seite 0x83.
Beschreibung: Prüft, ob Identifikationsdeskriptoren aussagekräftige Daten enthalten.
Referenz: Spezifikation SCSI Primary Commands - 3 (SPC-3) Revision 23 (oder veröffentlicht), Abschnitt 7.6.3
Erwartung: Alle Deskriptoren sind konform und enthalten aussagekräftige Daten.
Titel: INQUIRY mit Überprüfung der Versionsdeskriptoren.
Beschreibung: Prüft, ob Versionsdeskriptoren konform sind.
Referenz: Spezifikation SCSI Primary Commands - 3 (SPC-3) Revision 23 (oder veröffentlicht), Abschnitt 6.4
Erwartung: Versionsdeskriptoren sind vorhanden.
Befehl: Mode Select 6
Titel: Grundlegender Test MODE SELECT (6)
Beschreibung: Prüft, ob ein einfacher MODE SELECT-Befehl mit PF und SP == 0 übergeben wird
Referenz: Spezifikation SCSI Primary Commands - 3 (SPC-3) Revision 23 (oder veröffentlicht), Abschnitt 6.7
Erwartung: Das Gerät muss den SCSI-Status GOOD (0x0) zurückgeben.
Begründung: Der Speicherstapel verwendet die Cachemodusseite zum Aktivieren/Deaktivieren des Gerätecaches. Daher muss es möglich sein, mithilfe von „Mode Select“-Befehlen in Modusseiten zu schreiben.
Titel: MODE SELECT 6: MODE SENSE (6) mit Versuch, die Cachemodusseite abzurufen.
Beschreibung: Prüft, ob ein einfacher MODE SENSE-Befehl auf Seite Page 0x08 den Status GOOD zurückgibt.
Referenz: Spezifikation SCSI Primary Commands - 3 (SPC-3) Revision 23 (oder veröffentlicht), Abschnitt 6.7
Erwartung: Das Gerät muss den SCSI-Status GOOD (0x0) zurückgeben.
Titel: MODE SELECT 6: MODE SENSE (6) mit Überprüfung von „Parameters Savable“ (PS-Bit).
Beschreibung: Prüft, ob das „Parameters Savable“-Bit für die Cachemodusseite 1 ist.
Referenz: Spezifikation SCSI Primary Commands - 3 (SPC-3) Revision 23 (oder veröffentlicht), Abschnitt 6.7
Erwartung: PS == 1.
Titel: MODE SELECT 6: MODE SENSE (6) mit Überprüfung des Modusparameterheaders.
Beschreibung: Prüft, ob MediumType == 0 und BlockDescriptorLength == 0.
Referenz: Spezifikation SCSI Primary Commands - 3 (SPC-3) Revision 23 (oder veröffentlicht), Abschnitt 6.7
Erwartung: MediumType == 0x0 und BlockDescriptorLength == 0x0
Titel: MODE SELECT 6: MODE SENSE (6) mit Überprüfung der Länge der Cachemodusseite.
Beschreibung: Prüft, ob die Cachemodusseite 20 Bytes beträgt.
Referenz: Spezifikation SCSI Primary Commands - 3 (SPC-3) Revision 23 (oder veröffentlicht), Abschnitt 6.7
Erwartung: cachePageLength == 20 Bytes.
Titel: MODE SELECT 6: MODE SENSE (6) mit Abrufen von Änderungswerten.
Beschreibung: Speichern von änderungsfähigen Werten für die Cachemodusseite
Referenz: Spezifikation SCSI Primary Commands - 3 (SPC-3) Revision 23 (oder veröffentlicht), Abschnitt 6.7
Erwartung: Das Gerät muss den SCSI-Status GOOD (0x0) zurückgeben.
Titel: MODE SELECT 6: MODE SENSE (6) mit Abrufen von Standardwerten.
Beschreibung: Speichern von Standardwerten für die Cachemodusseite.
Referenz: Spezifikation SCSI Primary Commands - 3 (SPC-3) Revision 23 (oder veröffentlicht), Abschnitt 6.7
Erwartung: Das Gerät muss den SCSI-Status GOOD (0x0) zurückgeben.
Titel: MODE SELECT (6) mit WCE-Änderung.
Beschreibung: Anwenden von MODE SELECT auf WCE=0 für das Gerät.
Referenz: Spezifikation SCSI Primary Commands - 3 (SPC-3) Revision 23 (oder veröffentlicht), Abschnitt 6.7
Erwartung: Das Gerät muss den SCSI-Status GOOD (0x0) zurückgeben.
Titel: MODE SELECT 6: MODE SENSE (6) mit Überprüfung, ob WCE gelöscht wurde.
Beschreibung: Prüft, ob der vorherige MODE SELECT-Befehl tatsächlich die aktuellen Modusparameter geändert hat.
Referenz: Spezifikation SCSI Primary Commands - 3 (SPC-3) Revision 23 (oder veröffentlicht), Abschnitt 6.7
Erwartung: WCE ist gelöscht.
Titel: MODE SELECT 6: MODE SENSE (6) mit Überprüfung, ob gespeicherte Werte geändert wurden.
Beschreibung: Prüft, ob der vorherige MODE SELECT-Befehl tatsächlich die gespeicherten Modusparameter geändert hat.
Referenz: Spezifikation SCSI Primary Commands - 3 (SPC-3) Revision 23 (oder veröffentlicht), Abschnitt 6.7
Erwartung: Gespeicherte Werte wurden geändert.
Titel: MODE SELECT (6) mit Festlegung von WCE
Beschreibung: Anwenden von MODE SELECT zum Festlegen von WCE.
Referenz: Spezifikation SCSI Primary Commands - 3 (SPC-3) Revision 23 (oder veröffentlicht), Abschnitt 6.7
Erwartung: Das Gerät muss den SCSI-Status GOOD (0x0) zurückgeben.
Titel: MODE SELECT 6: MODE SENSE (6) mit Überprüfung, ob WCE festgelegt wurde.
Beschreibung: Prüft, ob der vorherige MODE SELECT-Befehl tatsächlich WCE festgelegt hat.
Referenz: Spezifikation SCSI Primary Commands - 3 (SPC-3) Revision 23 (oder veröffentlicht), Abschnitt 6.7
Erwartung: Aktuelle Werte wurden festgelegt.
Titel: MODE SELECT (6) mit Versuch, die ursprünglichen Werte wiederherzustellen.
Beschreibung: Testet, ob MODE SELECT die Werte von Cachemodusseiten auf ihre ursprünglichen Werte zurücksetzen kann.
Referenz: Spezifikation SCSI Primary Commands - 3 (SPC-3) Revision 23 (oder veröffentlicht), Abschnitt 6.7
Erwartung: Das Gerät muss den SCSI-Status GOOD (0x0) zurückgeben.
Titel: MODE SELECT 6: MODE SENSE (6) mit Überprüfung, ob Werte wiederhergestellt wurden.
Beschreibung: Prüft, ob die Werte der Cachemodusseite wiederhergestellt wurden.
Referenz: Spezifikation SCSI Primary Commands - 3 (SPC-3) Revision 23 (oder veröffentlicht), Abschnitt 6.7
Erwartung: Aktuelle Werte entsprechen Standardwerten.
Befehl: Mode Sense 6
Titel: Grundlegender Test MODE SENSE (6)
Beschreibung: Prüft, ob ein einfacher MODE SENSE-Befehl auf Seite Page 0x3f den Status GOOD zurückgibt.
Referenz: Spezifikation SCSI Primary Commands - 3 (SPC-3) Revision 23 (oder veröffentlicht), Abschnitt 6.9
Erwartung: Das Gerät muss den SCSI-Status GOOD (0x0) zurückgeben.
Begründung: Der Speicherstapel verwendet die Cachemodusseite zum Aktivieren/Deaktivieren des Gerätecaches. Daher muss es möglich sein, mithilfe von „Mode Sense“-Befehlen in Modusseiten zu lesen.
Titel: MODE SENSE (6) mit Überprüfung der Größe von zurückgegebenen Daten.
Beschreibung: Prüft, ob wir eine Mindestmenge an Daten erhalten (d. h. mindestens den MODE PARAMETER HEADER).
Referenz: Spezifikation SCSI Primary Commands - 3 (SPC-3) Revision 23 (oder veröffentlicht), Abschnitt 6.9
Erwartung: Datenübertragungslänge >= 4 Bytes.
Titel: MODE SENSE (6) mit Überprüfung von MODE PARAMETER HEADER
Beschreibung: Prüft, ob die Längeninformationen von MODE PARAMETER HEADER gültig sind.
Referenz: Spezifikation SCSI Primary Commands - 3 (SPC-3) Revision 23 (oder veröffentlicht), Abschnitt 6.9
Erwartung: ModeDataLength = Datenübertragungslänge - 1 = -1 Bytes.
Titel: MODE SENSE (6) mit Test von DBD-Bit (Blockdeskriptoren deaktivieren).
Beschreibung: Test, der sicherstellt, dass beim Festlegen des DBD-Bits keine Blockdeskriptoren zurückgegeben werden.
Referenz: Spezifikation SCSI Primary Commands - 3 (SPC-3) Revision 23 (oder veröffentlicht), Abschnitt 6.9
Erwartung: Blockdeskriptorlänge = 0
Titel: MODE SENSE (6) mit Test der neuen Datenlänge beim Festlegen des DBD-Bits.
Beschreibung: : Testet, ob die neue Datenlänge der alten Datenlänge minus Blockdeskriptorlänge entspricht.
Referenz: Spezifikation SCSI Primary Commands - 3 (SPC-3) Revision 23 (oder veröffentlicht), Abschnitt 6.9
Erwartung: Neue Datenlänge = alte Datenlänge
Titel: MODE SENSE (6) mit Vergleich von MODE PAGE-Daten vor und nach dem Festlegen des DBD-Bits
Beschreibung: Testet, ob die Seitendaten vor und nach dem Festlegen des DBD-Bits identisch sind.
Referenz: Spezifikation SCSI Primary Commands - 3 (SPC-3) Revision 23 (oder veröffentlicht), Abschnitt 6.9
Erwartung: Seitendaten stimmen überein.
Titel: MODE SENSE (6) mit Test des Felds für das Seitensteuerelement
Beschreibung: Testet verschiedene Werte des Felds für das Seitensteuerelement und erzwingt die Größe der zurückgegebenen Daten.
Referenz: Spezifikation SCSI Primary Commands - 3 (SPC-3) Revision 23 (oder veröffentlicht), Abschnitt 6.9
Erwartung: Die Datenlänge für jeden PC-Wert ist korrekt.
Titel: MODE SENSE (6) mit Scannen aller Modusseiten.
Beschreibung: Prüft Daten der Modusseite 0x3f, um unterstützte Modusseiten zu untersuchen.
Referenz: Spezifikation SCSI Primary Commands - 3 (SPC-3) Revision 23 (oder veröffentlicht), Abschnitt 6.9
Erwartung: Unterstützte Modusseiten zu finden: Modusseite für Informationsausnahmesteuerung und Cachemodusseite.
Titel: MODE SENSE (6) zum Sicherstellen, dass obligatorische Modusseiten unterstützt werden
Beschreibung: Prüft, ob erforderliche Modusseiten in MODE PAGE 0x3f vorhanden sind
Referenz: Spezifikation SCSI Primary Commands - 3 (SPC-3) Revision 23 (oder veröffentlicht), Abschnitt 6.9
Erwartung: Mindestens Zwischenspeicherungs- und Informations ausnahmeseiten werden unterstützt.
Titel: MODE SENSE (6) zum Überprüfen einzelner Modusseiten
Beschreibung: Tests, um sicherzustellen, dass jede einzelne Modusseite zugänglich ist und dass die Parameter korrekt sind
Referenz: Spezifikation SCSI Primary Commands - 3 (SPC-3) Revision 23 (oder veröffentlicht), Abschnitt 6.9
Erwartung: Seiten sollten zurückgegeben werden, und die Header sollten konform sein.
Titel: MODE SENSE (6) mit Überprüfung der Modusseite für Informationsausnahmen
Beschreibung: Sicherstellen, dass die Modusseite für Informationsausnahmen konform ist
Referenz: Spezifikation SCSI Primary Commands - 3 (SPC-3) Revision 23 (oder veröffentlicht), Abschnitt 6.9
Erwartung: Modusseite für den Leistungszustand wird unterstützt
Titel: MODE SENSE (6) mit Überprüfung der Modusseite für Informationsausnahmen
Beschreibung: Sicherstellen, dass die Modusseite für Informationsausnahmen konform ist
Referenz: Spezifikation SCSI Primary Commands - 3 (SPC-3) Revision 23 (oder veröffentlicht), Abschnitt 6.9
Erwartung: Modusseite für den Leistungszustand wird unterstützt
Titel: MODUS SENSE (6) mit Überprüfung der Modusseite für den Leistungszustand.
Beschreibung: Sicherstellen, dass die Modusseite für den Leistungszustand konform ist
Referenz: Spezifikation SCSI Primary Commands - 3 (SPC-3) Revision 23 (oder veröffentlicht), Abschnitt 6.9
Erwartung: Die Modusseite für Informationsausnahmen wird unterstützt.
Titel: MODUS SENSE (6) mit Überprüfung der Cachemodusseite.
Beschreibung: Sicherstellen, dass die Cachemodusseite konform ist.
Referenz: Spezifikation SCSI Primary Commands - 3 (SPC-3) Revision 23 (oder veröffentlicht), Abschnitt 6.9
Erwartung: Die Cachemodusseite wird unterstützt.
Titel: MODE SENSE (6) mit Überprüfung der gerätespezifischen Parameter
Beschreibung: Damit wird getestet, ob die gerätespezifischen Parameter unterstützt werden.
Referenz: Spezifikation SCSI Primary Commands - 3 (SPC-3) Revision 23 (oder veröffentlicht), Abschnitt 6.9
Erwartung: nichts.
Befehl: Read Capacity 10
Titel: Grundlegender Überprüfungstest READ CAPACITY (10)
Beschreibung: Das Gerät muss den SCSI-Status GOOD (0x0) und 8 Bytes Parameterdaten zurückgeben, die das Kapazitäts- und Medienformat des Blockgeräts für den Datenpuffer beschreiben.
Referenz: Spezifikation SCSI Block Commands - 2 (SBC-2) Revision 16 (oder veröffentlicht), Abschnitt 5.10
Erwartung: Das Gerät muss den SCSI-Status GOOD (0x0) zurückgeben.
Begründung: Dieser Befehl ist für Formatierungsvorgänge und Initialisierung erforderlich.
Befehl: Read 10
Titel: Grundlegender Funktionstest READ (10)
Beschreibung: Der Befehl liest die ersten beiden Datenblöcke richtig. Dieser Test sendet zwei READ-Befehle, die zwei verschiedene, aber überlappende Datenblöcke lesen. Anschließend vergleicht er die überlappenden Daten. Er gibt „true“ zurück, wenn die überlappenden Daten zwischen den Lesevorgängen identisch sind (bedeutet, dass die beiden Befehle dieselben Daten ordnungsgemäß lesen).
Referenz: Spezifikation SCSI Block Commands - 2 (SBC-2) Revision 16 (oder veröffentlicht), Abschnitt 5.6
Erwartung: SCSI-Status == 0x0.
Begründung: Wird verwendet, um Daten vom Gerät zu lesen.
Titel: Sequenzieller Lesetest READ (10)
Beschreibung: Der Befehl liest 1.000 sequenzielle Datenblöcke ordnungsgemäß. Dieser Test sendet den Befehl 1.000 Mal, wobei Daten sequenziell ab einer zufälligen logischen Blockadresse gelesen werden.
Referenz: Spezifikation SCSI Block Commands - 2 (SBC-2) Revision 16 (oder veröffentlicht), Abschnitt 5.6
Erwartung: Alle READ(10)-Befehle sind erfolgreich.
Titel: Zufälliger Lesetest READ (10)
Beschreibung: Der Befehl liest 1.000 zufällige Datenblöcke ordnungsgemäß. Dieser Test sendet den Befehl 1.000 Mal, wobei Daten an einer zufälligen logischen Blockadresse gelesen werden.
Referenz: Spezifikation SCSI Block Commands - 2 (SBC-2) Revision 16 (oder veröffentlicht), Abschnitt 5.6
Erwartung: Alle READ(10)-Befehle sind erfolgreich.
Titel: Test READ (10) Read-With-Disk-Cache-Cleared
Beschreibung: Der Befehl liest 12 MB Daten richtig, wobei der Datenträgercache gelöscht wurde. Dieser Test liest zunächst 12 MB sequenzielle Daten zur späteren Überprüfung. Anschließend wird der Datenträgercache durch Lesen von zufälligen 12 MB Daten gelöscht. Schließlich liest er die gleichen 12 MB sequenziellen Daten, um zu sehen, ob die Daten mit dem ersten Lesevorgang identisch sind.
Referenz: Spezifikation SCSI Block Commands - 2 (SBC-2) Revision 16 (oder veröffentlicht), Abschnitt 5.6
Erwartung: Die 12 MB Daten, die gelesen werden, nachdem der Cache gelöscht wurde, sind richtig.
Befehl: Write 10
Titel: Grundlegender Funktionstest WRITE (10)
Beschreibung: Der Befehl schreibt einen Datenblock ordnungsgemäß auf das Gerät. Dieser Test vergleicht die Daten, die geschrieben werden sollen, und die von READ nach dem Schreibvorgang zurückgegebenen Daten. Wenn die Daten identisch sind, bedeutet dies, dass der Befehl WRITE die Daten ordnungsgemäß auf den Datenträger schreibt.
Referenz: Spezifikation SCSI Block Commands - 2 (SBC-2) Revision 16 (oder veröffentlicht), Abschnitt 5.25
Erwartung: ScsiStatus == 0x0.
Begründung: Wird verwendet, um Daten auf das Gerät zu schreiben.
Titel: Sequenzieller Schreibtest WRITE (10)
Beschreibung: Der Befehl schreibt 1.000 sequenzielle Datenblöcke ordnungsgemäß. Dieser Test sendet den Befehl 1.000 Mal, wobei Daten sequenziell ab einer zufälligen logischen Blockadresse geschrieben werden.
Referenz: Spezifikation SCSI Block Commands - 2 (SBC-2) Revision 16 (oder veröffentlicht), Abschnitt 5.25
Erwartung: Alle WRITE (10)-Befehle sind erfolgreich.
Titel: Zufälliger Schreibtest WRITE (10)
Beschreibung: Der Befehl schreibt 1.000 zufällige Datenblöcke ordnungsgemäß. Dieser Test sendet den Befehl WRITE 1.000 Mal, wobei Daten an einer zufälligen logischen Blockadresse geschrieben werden.
Referenz: Spezifikation SCSI Block Commands - 2 (SBC-2) Revision 16 (oder veröffentlicht), Abschnitt 5.25
Erwartung: Alle WRITE (10)-Befehle sind erfolgreich.
Titel: Test WRITE (10) Write-With-Disk-Cache-Disabled
Beschreibung: Der Befehl schreibt 12 MB Daten ordnungsgemäß mit deaktiviertem Cache. Dieser Test schreibt 12 MB Daten auf Datenträger. Anschließend liest er dieselben 12 MB Daten, die gerade geschrieben wurden, um zu überprüfen, ob die gerade geschriebenen Daten richtig sind.
Referenz: Spezifikation SCSI Block Commands - 2 (SBC-2) Revision 16 (oder veröffentlicht), Abschnitt 5.25
Erwartung: Die 12 MB Daten werden ordnungsgemäß geschrieben.
Titel: Test WRITE (10) Write-With-Disk-Cache-Enabled
Beschreibung: Der Befehl schreibt 12 MB Daten ordnungsgemäß mit aktiviertem Cache. Dieser Test schreibt 12 MB Daten auf Datenträger. Anschließend sendet er den Befehl SYNCHRONIZE CACHE (10), um die logische Blockadresse im Cache mit denen des Datenträgers zu synchronisieren. Schließlich liest er dieselben 12 MB Daten, die gerade geschrieben wurden, um zu überprüfen, ob die gerade geschriebenen Daten richtig sind.
Referenz: Spezifikation SCSI Block Commands - 2 (SBC-2) Revision 16 (oder veröffentlicht), Abschnitt 5.25
Erwartung: Die 12 MB Daten werden ordnungsgemäß geschrieben.
Titel: FUA-Test WRITE (10)
Beschreibung: Der Befehl schreibt Daten ordnungsgemäß auf Datenträger mit aktiviertem Cache und FUA (Force Unit Access).
Referenz: Spezifikation SCSI Block Commands - 2 (SBC-2) Revision 16 (oder veröffentlicht), Abschnitt 5.25.
Erwartung: Daten werden ordnungsgemäß auf den Datenträger mit aktiviertem FUA geschrieben. Prüfsummen aller WRITE (10) sind richtig.
Titel: Supporttest VERIFY (10)
Beschreibung: Prüft, ob das Gerät den VERIFY (10)-Befehl unterstützt. Dieser Test gibt einen einfachen VERIFY (10)-Befehl aus und überprüft, ob der Rückgabecode 0x2 ist (d. h. nicht unterstützt).
Referenz: Spezifikation SCSI Block Commands - 3 (SBC-3) Revision 27 (oder veröffentlicht), Abschnitt 5.28.
Erwartung: Der SCSI-Status ist 0x0 (GOOD).
Titel: Länge-0-Test VERIFY (10)
Beschreibung: Der Test sendet den VERIFY (10)-Befehl, bei dem sowohl LOGICAL BLOCK ADDRESS als auch VERIFICATION LENGTH auf 0 festgelegt ist. Basierend auf der Spezifikation gibt das auf null festgelegte Feld VERIFICATION LENGTH an, dass keine logischen Blöcke überprüft werden sollen. Diese Bedingung gilt nicht als Fehler.
Referenz: Spezifikation SCSI Block Commands - 3 (SBC-3) Revision 27 (oder veröffentlicht), Abschnitt 5.28.
Erwartung: Der SCSI-Status ist 0x0 (GOOD).
Titel: Zufälliger LBA-Test VERIFY (10)
Beschreibung: Der Test sendet den VERIFY (10)-Befehl mit VERIFICATION LENGTH = 1 und einer randomisierten LOGICAL BLOCK ADDRESS (zufällig zwischen 0 und letzter LBA).
Referenz: Spezifikation SCSI Block Commands - 3 (SBC-3) Revision 27 (oder veröffentlicht), Abschnitt 5.28.
Erwartung: Der SCSI-Status ist 0x0 (GOOD).
Titel: Test VERIFY (10) zur Kapazitätsüberschreitung
Beschreibung: Der Test sendet den VERIFY (10)-Befehl mit VERIFICATION LENGTH = 2 und einer auf die letzte LBA festgelegten LOGICAL BLOCK ADDRESS.
Referenz: Spezifikation SCSI Block Commands - 3 (SBC-3) Revision 27 (oder veröffentlicht), Abschnitt 5.28.
Erwartung: Der SCSI-Status ist 0x2 (CHECK CONDITION).
Befehl: Mode Select 10
Titel: Grundlegender Test MODE SELECT (10)
Beschreibung: Prüft, ob ein einfacher MODE SELECT-Befehl mit PF und SP == 0 übergeben wird
Referenz: Spezifikation SCSI Primary Commands - 3 (SPC-3) Revision 23 (oder veröffentlicht), Abschnitt 6.8
Erwartung: Das Gerät muss den SCSI-Status GOOD (0x0) zurückgeben.
Begründung: Mode Select 6 ist obligatorisch, und Mode Select 10 ist optional und würde getestet, wenn implementiert.
Titel: MODE SELECT 10: MODE SENSE (10) mit Versuch, die Cachemodusseite abzurufen.
Beschreibung: Prüft, ob ein einfacher MODE SENSE-Befehl auf Seite Page 0x08 den Status GOOD zurückgibt.
Referenz: Spezifikation SCSI Primary Commands - 3 (SPC-3) Revision 23 (oder veröffentlicht), Abschnitt 6.8
Erwartung: Das Gerät muss den SCSI-Status GOOD (0x0) zurückgeben.
Titel: MODE SELECT 10: MODE SENSE (10) mit Überprüfung von „Parameters Savable“ (PS-Bit).
Beschreibung: Prüft, ob das „Parameters Savable“-Bit für die Cachemodusseite 1 ist.
Referenz: Spezifikation SCSI Primary Commands - 3 (SPC-3) Revision 23 (oder veröffentlicht), Abschnitt 6.8
Erwartung: PS == 1.
Titel: MODE SELECT 10: MODE SENSE (10) mit Überprüfung des Modusparameterheaders.
Beschreibung: Prüft, ob MediumType == 0 und BlockDescriptorLength == 0.
Referenz: Spezifikation SCSI Primary Commands - 3 (SPC-3) Revision 23 (oder veröffentlicht), Abschnitt 6.8
Erwartung: MediumType == 0x0 und BlockDescriptorLength == 0x0
Titel: MODE SELECT 10: MODE SENSE (10) mit Überprüfung der Länge der Cachemodusseite.
Beschreibung: Prüft, ob die Cachemodusseite 20 Bytes beträgt.
Referenz: Spezifikation SCSI Primary Commands - 3 (SPC-3) Revision 23 (oder veröffentlicht), Abschnitt 6.8
Erwartung: cachePageLength == 20 Bytes.
Titel: MODE SELECT 10: MODE SENSE (10) mit Abrufen von Änderungswerten.
Beschreibung: Speichern von änderungsfähigen Werten für die Cachemodusseite
Referenz: Spezifikation SCSI Primary Commands - 3 (SPC-3) Revision 23 (oder veröffentlicht), Abschnitt 6.8
Erwartung: Das Gerät muss den SCSI-Status GOOD (0x0) zurückgeben.
Titel: MODE SELECT 10: MODE SENSE (10) mit Abrufen von Standardwerten.
Beschreibung: Speichern von Standardwerten für die Cachemodusseite.
Referenz: Spezifikation SCSI Primary Commands - 3 (SPC-3) Revision 23 (oder veröffentlicht), Abschnitt 6.8
Erwartung: Das Gerät muss den SCSI-Status GOOD (0x0) zurückgeben.
Titel: MODE SELECT (10) mit WCE-Änderung.
Beschreibung: Anwenden von MODE SELECT auf WCE=0 für das Gerät.
Referenz: Spezifikation SCSI Primary Commands - 3 (SPC-3) Revision 23 (oder veröffentlicht), Abschnitt 6.8
Erwartung: Das Gerät muss den SCSI-Status GOOD (0x0) zurückgeben.
Titel: MODE SELECT 10: MODE SENSE (10) mit Überprüfung, ob WCE gelöscht wurde.
Beschreibung: Prüft, ob der vorherige MODE SELECT-Befehl tatsächlich die aktuellen Modusparameter geändert hat.
Referenz: Spezifikation SCSI Primary Commands - 3 (SPC-3) Revision 23 (oder veröffentlicht), Abschnitt 6.8
Erwartung: WCE ist gelöscht.
Titel: MODE SELECT 10: MODE SENSE (10) mit Überprüfung, ob gespeicherte Werte geändert wurden.
Beschreibung: Prüft, ob der vorherige MODE SELECT-Befehl tatsächlich die gespeicherten Modusparameter geändert hat.
Referenz: Spezifikation SCSI Primary Commands - 3 (SPC-3) Revision 23 (oder veröffentlicht), Abschnitt 6.8
Erwartung: Gespeicherte Werte wurden geändert.
Titel: MODE SELECT (10) mit Festlegung von WCE
Beschreibung: Anwenden von MODE SELECT zum Festlegen von WCE.
Referenz: Spezifikation SCSI Primary Commands - 3 (SPC-3) Revision 23 (oder veröffentlicht), Abschnitt 6.8
Erwartung: Das Gerät muss den SCSI-Status GOOD (0x0) zurückgeben.
Titel: MODE SELECT 10: MODE SENSE (10) mit Überprüfung, ob WCE festgelegt wurde.
Beschreibung: Prüft, ob der vorherige MODE SELECT-Befehl tatsächlich WCE festgelegt hat.
Referenz: Spezifikation SCSI Primary Commands - 3 (SPC-3) Revision 23 (oder veröffentlicht), Abschnitt 6.8
Erwartung: Aktuelle Werte wurden festgelegt.
Titel: MODE SELECT (10) mit Versuch, die ursprünglichen Werte wiederherzustellen.
Beschreibung: Testet, ob MODE SELECT die Werte von Cachemodusseiten auf ihre ursprünglichen Werte zurücksetzen kann.
Referenz: Spezifikation SCSI Primary Commands - 3 (SPC-3) Revision 23 (oder veröffentlicht), Abschnitt 6.8
Erwartung: Das Gerät muss den SCSI-Status GOOD (0x0) zurückgeben.
Titel: MODE SELECT 10: MODE SENSE (10) mit Überprüfung, ob Werte wiederhergestellt wurden.
Beschreibung: Prüft, ob die Werte der Cachemodusseite wiederhergestellt wurden.
Referenz: Spezifikation SCSI Primary Commands - 3 (SPC-3) Revision 23 (oder veröffentlicht), Abschnitt 6.8
Erwartung: Aktuelle Werte entsprechen Standardwerten.
Befehl: Mode Sense 10
Titel: Grundlegender Test MODE SENSE (10)
Beschreibung: Prüft, ob ein einfacher MODE SENSE10-Befehl auf Seite 0x3f den Status GOOD zurückgibt.
Referenz: Spezifikation SCSI Primary Commands - 3 (SPC-3) Revision 23 (oder veröffentlicht), Abschnitt 6.10
Erwartung: Das Gerät muss den SCSI-Status GOOD (0x0) zurückgeben.
Begründung: Mode Sense 6 ist obligatorisch, und Mode Sense 10 ist optional und würde getestet, wenn implementiert.
Titel: MODE SENSE (10) mit Überprüfung der Größe von zurückgegebenen Daten.
Beschreibung: Prüft, ob wir eine Mindestmenge an Daten erhalten (d. h. mindestens den MODE PARAMETER HEADER).
Referenz: Spezifikation SCSI Primary Commands - 3 (SPC-3) Revision 23 (oder veröffentlicht), Abschnitt 6.10
Erwartung: Datenübertragungslänge >= 8 Bytes
Titel: MODE SENSE (10) mit Überprüfung von MODE PARAMETER HEADER
Beschreibung: Prüft, ob die Längeninformationen von MODE PARAMETER HEADER gültig sind.
Referenz: Spezifikation SCSI Primary Commands - 3 (SPC-3) Revision 23 (oder veröffentlicht), Abschnitt 6.10
Erwartung: ModeDataLength = Datenübertragungslänge - 2 = -2 Bytes.
Titel: MODE SENSE (10) mit Test von DBD-Bit (Blockdeskriptoren deaktivieren).
Beschreibung: Test, der sicherstellt, dass beim Festlegen des DBD-Bits keine Blockdeskriptoren zurückgegeben werden.
Referenz: Spezifikation SCSI Primary Commands - 3 (SPC-3) Revision 23 (oder veröffentlicht), Abschnitt 6.10
Erwartung: Blockdeskriptorlänge = 0
Titel: MODE SENSE (10) mit Vergleich von MODE PAGE-Daten vor und nach dem Festlegen des DBD-Bits
Beschreibung: Testet, ob die Seitendaten vor und nach dem Festlegen des DBD-Bits identisch sind.
Referenz: Spezifikation SCSI Primary Commands - 3 (SPC-3) Revision 23 (oder veröffentlicht), Abschnitt 6.10
Erwartung: Seitendaten stimmen überein.
Titel: MODE SENSE (10) mit Test des Felds für das Seitensteuerelement
Beschreibung: Testet verschiedene Werte des Felds für das Seitensteuerelement und erzwingt die Größe der zurückgegebenen Daten.
Referenz: Spezifikation SCSI Primary Commands - 3 (SPC-3) Revision 23 (oder veröffentlicht), Abschnitt 6.10
Erwartung: Die Datenlänge für jeden PC-Wert ist richtig, und PC=0 und PC=2 geben den Status GOOD zurück.
Befehl: Read 16
Titel: Supporttest READ (16)
Beschreibung: Prüft, ob das Gerät den READ (16)-Befehl unterstützt. Dieser Test gibt einen einfachen READ (16)-Befehl aus und überprüft, ob der Rückgabecode 0x2 ist (d. h. nicht unterstützt).
Referenz: Spezifikation SCSI Block Commands - 2 (SBC-2) Revision 16 (oder veröffentlicht), Abschnitt 5.8
Erwartung: Der SCSI-Status ist 0x0.
Titel: Grundlegender Funktionstest READ (16)
Beschreibung: Der Befehl liest die ersten beiden Datenblöcke richtig. Dieser Test sendet zwei READ-Befehle, die zwei verschiedene, aber überlappende Datenblöcke lesen. Anschließend vergleicht er die überlappenden Daten. Er gibt „true“ zurück, wenn die überlappenden Daten zwischen den Lesevorgängen identisch sind (bedeutet, dass die beiden Befehle dieselben Daten ordnungsgemäß lesen).
Referenz: Spezifikation SCSI Block Commands - 2 (SBC-2) Revision 16 (oder veröffentlicht), Abschnitt 5.8
Erwartung: Der SCSI-Status ist 0x0.
Begründung: Wenn das Gerät 64-Bit-LBA ist, ist Read 16 obligatorisch, um den gesamten Datenträger zu lesen. Andernfalls wird es implementiert.
Titel: Sequenzieller Lesetest READ (16)
Beschreibung: Das Gerät muss 1.000 sequenzielle Blöcke von Daten ordnungsgemäß lesen. Dieser Test sendet den Befehl 1.000 Mal, wobei Daten sequenziell ab einer zufälligen logischen Blockadresse gelesen werden.
Referenz: Spezifikation SCSI Block Commands - 2 (SBC-2) Revision 16 (oder veröffentlicht), Abschnitt 5.8
Erwartung: Alle READ (16)-Befehle sind erfolgreich.
Titel: Zufälliger Lesetest READ (16)
Beschreibung: Der Befehl liest 1.000 zufällige Datenblöcke ordnungsgemäß. Dieser Test sendet den Befehl READ (16) 1.000 Mal, wobei Daten an einer zufälligen logischen Blockadresse gelesen werden.
Referenz: Spezifikation SCSI Block Commands - 2 (SBC-2) Revision 16 (oder veröffentlicht), Abschnitt 5.8
Erwartung: Alle READ (16)-Befehle sind erfolgreich.
Titel: Test READ (16) Read-With-Disk-Cache-Cleared
Beschreibung: Der Befehl liest 12 MB Daten richtig, wobei der Datenträgercache gelöscht wurde. Dieser Test liest zunächst 12 MB sequenzielle Daten zur späteren Überprüfung. Anschließend wird der Datenträgercache durch Lesen von zufälligen 12 MB Daten gelöscht. Schließlich liest er die gleichen 12 MB sequenziellen Daten, um zu sehen, ob die Daten mit dem ersten Lesevorgang identisch sind.
Referenz: Spezifikation SCSI Block Commands - 2 (SBC-2) Revision 16 (oder veröffentlicht), Abschnitt 5.8
Erwartung: Die 12 MB Daten, die gelesen werden, nachdem der Cache gelöscht wurde, sind richtig.
Befehl: Write 16
Titel: Supporttest WRITE (16)
Beschreibung: Prüft, ob das Gerät den Befehl unterstützt. Dieser Test gibt einen einfachen WRITE (16)-Befehl aus und überprüft, ob der Rückgabecode 0x2 ist (Check Condition).
Referenz: Spezifikation SCSI Block Commands - 2 (SBC-2) Revision 16 (oder veröffentlicht), Abschnitt 5.27
Erwartung: ScsiStatus == 0x0.
Titel: Grundlegender Funktionstest WRITE (16)
Beschreibung: Der Befehl schreibt einen Datenblock ordnungsgemäß auf das Gerät. Dieser Test vergleicht die Daten, die geschrieben werden sollen, und die von READ nach dem Schreibvorgang zurückgegebenen Daten. Wenn die Daten identisch sind, bedeutet dies, dass der Befehl WRITE die Daten ordnungsgemäß auf den Datenträger schreibt.
Referenz: Spezifikation SCSI Block Commands - 2 (SBC-2) Revision 16 (oder veröffentlicht), Abschnitt 5.27
Erwartung: ScsiStatus == 0x0.
Begründung: Wenn das Gerät 64-Bit-LBA ist, ist Write 16 obligatorisch, um den gesamten Datenträger zu schreiben. Andernfalls wird es implementiert.
Titel: Sequenzieller Schreibtest WRITE (16)
Beschreibung: Der Befehl schreibt 1.000 sequenzielle Datenblöcke ordnungsgemäß. Dieser Test sendet den Befehl 1.000 Mal, wobei Daten sequenziell ab einer zufälligen logischen Blockadresse geschrieben werden.
Referenz: Spezifikation SCSI Block Commands - 2 (SBC-2) Revision 16 (oder veröffentlicht), Abschnitt 5.27
Erwartung: Alle WRITE (16)-Befehle sind erfolgreich.
Titel: Zufälliger Schreibtest WRITE (16)
Beschreibung: Der Befehl schreibt 1.000 zufällige Datenblöcke ordnungsgemäß. Dieser Test sendet den Befehl WRITE 1.000 Mal, wobei Daten an einer zufälligen logischen Blockadresse geschrieben werden.
Referenz: Spezifikation SCSI Block Commands - 2 (SBC-2) Revision 16 (oder veröffentlicht), Abschnitt 5.27
Erwartung: Alle WRITE (16)-Befehle sind erfolgreich.
Titel: Test WRITE (16) Write-With-Disk-Cache-Disabled
Beschreibung: Der Befehl schreibt 12 MB Daten ordnungsgemäß mit deaktiviertem Cache. Dieser Test schreibt 12 MB Daten auf Datenträger. Anschließend liest er dieselben 12 MB Daten, die gerade geschrieben wurden, um zu überprüfen, ob die gerade geschriebenen Daten richtig sind.
Referenz: Spezifikation SCSI Block Commands - 2 (SBC-2) Revision 16 (oder veröffentlicht), Abschnitt 5.27
Erwartung: Die 12 MB Daten werden ordnungsgemäß geschrieben.
Titel: Test WRITE (16) Write-With-Disk-Cache-Enabled
Beschreibung: Der Befehl schreibt 12 MB Daten ordnungsgemäß mit aktiviertem Cache. Dieser Test schreibt 12 MB Daten auf Datenträger. Anschließend sendet er den Befehl SYNCHRONIZE CACHE (10), um die logische Blockadresse im Cache mit denen des Datenträgers zu synchronisieren. Schließlich liest er dieselben 12 MB Daten, die gerade geschrieben wurden, um zu überprüfen, ob die gerade geschriebenen Daten richtig sind.
Referenz: Spezifikation SCSI Block Commands - 2 (SBC-2) Revision 16 (oder veröffentlicht), Abschnitt 5.27
Erwartung: Die von den WRITEs zurückgegebenen 12 MB Daten sind richtig.
Titel: Supporttest VERIFY (16)
Beschreibung: Prüft, ob das Gerät den VERIFY (16)-Befehl unterstützt. Dieser Test gibt einen einfachen VERIFY (16)-Befehl aus und überprüft, ob der Rückgabecode 0x2 ist (d. h. nicht unterstützt).
Referenz: Spezifikation SCSI Block Commands - 3 (SBC-3) Revision 27 (oder veröffentlicht), Abschnitt 5.30.
Erwartung: Der SCSI-Status ist 0x0 (GOOD).
Titel: Länge-0-Test VERIFY (16)
Beschreibung: Der Test sendet den VERIFY (16)-Befehl, bei dem sowohl LOGICAL BLOCK ADDRESS als auch VERIFICATION LENGTH auf 0 festgelegt ist. Basierend auf der Spezifikation gibt das auf null festgelegte Feld VERIFICATION LENGTH an, dass keine logischen Blöcke überprüft werden sollen. Diese Bedingung gilt nicht als Fehler.
Referenz: Spezifikation SCSI Block Commands - 3 (SBC-3) Revision 27 (oder veröffentlicht), Abschnitt 5.30.
Erwartung: Der SCSI-Status ist 0x0 (GOOD).
Titel: Zufälliger LBA-Test VERIFY (16)
Beschreibung: Der Test sendet den VERIFY (16)-Befehl mit VERIFICATION LENGTH = 1 und einer randomisierten LOGICAL BLOCK ADDRESS (zufällig zwischen 0 und letzter LBA).
Referenz: Spezifikation SCSI Block Commands - 3 (SBC-3) Revision 27 (oder veröffentlicht), Abschnitt 5.30.
Erwartung: Der SCSI-Status ist 0x0 (GOOD).
Titel: Test VERIFY (16) zur Kapazitätsüberschreitung
Beschreibung: Der Test sendet den VERIFY (16)-Befehl mit VERIFICATION LENGTH = 2 und einer auf die letzte LBA festgelegten LOGICAL BLOCK ADDRESS.
Referenz: Spezifikation SCSI Block Commands - 3 (SBC-3) Revision 27 (oder veröffentlicht), Abschnitt 5.30.
Erwartung: Der SCSI-Status ist 0x2 (CHECK CONDITION).
Befehl: Report LUNS
Titel: Grundlegender Überprüfungstest REPORT LUNS
Beschreibung: Versucht, die LUN 0 zu finden, die dem DUT entspricht, und den Befehl REPORT LUNS auszuführen. Dieser Test sendet nur REPORT LUNS an LUN 0 an die aktuelle Zieladresse gemäß SAM-3. Dieser Test gibt nur eine Anforderung aus, bei der SELECT REPORT gemäß SPC-3 auf 0 festgelegt ist.
Referenz: Spezifikation SCSI Primary Commands - 3 (SPC-3) Revision 23 (oder veröffentlicht), Abschnitt 6.21
Erwartung: Das Gerät muss den SCSI-Status GOOD (0x0) und Daten mit einer Größe von kleiner als oder gleich 255 Bytes zurückgeben.
Begründung: REPORT LUNS wird verwendet, um LUNs zu ermitteln, die auf dem Gerät vorhanden sind. Er ist obligatorisch für UAS. BOT verwendet stattdessen den für USB-Klassen spezifischen Befehl GetMaxLun. Dies ist also optional für BOT-Geräte. Obwohl wir die Implementierung dieses CDB überprüfen und diesen Befehl testen, wenn er implementiert ist.
Titel: Test REPORT LUNS LUN0
Beschreibung: Dieser Test sendet nur REPORT LUNS an LUN 0 an die aktuelle Zieladresse gemäß SAM-3. Dieser Test gibt nur eine Anforderung aus, bei der SELECT REPORT gemäß SPC-3 auf 0 festgelegt ist.
Referenz: Spezifikation SCSI Primary Commands - 3 (SPC-3) Revision 23 (oder veröffentlicht), Abschnitt 6.21
Erwartung: Das Gerät muss den SCSI-Status GOOD (0x0) und Daten mit einer Größe von kleiner als oder gleich 255 Bytes zurückgeben.
Titel: Test REPORT LUNS für gültige Daten
Beschreibung: Dieser Test sendet nur REPORT LUNS an LUN 0 an die aktuelle Zieladresse gemäß SAM-3. Dieser Test gibt nur eine Anforderung aus, bei der SELECT REPORT gemäß SPC-3 auf 0 festgelegt ist.
Referenz: Spezifikation SCSI Primary Commands - 3 (SPC-3) Revision 23 (oder veröffentlicht), Abschnitt 6.21
Erwartung: Jede gemeldete LUN verwendet einzelstufige Zahlen, die auf <= 255 beschränkt sind.
Befehl: Read Capacity 16
Titel: Test READ CAPACITY (16) für Zuweisungslänge
Beschreibung: Das Gerät muss den SCSI-Status GOOD (0x0) zurückgeben, obwohl die Zuweisungslänge auf 0 festgelegt ist.
Referenz: Spezifikation SCSI Block Commands - 2 (SBC-2) Revision 16 (oder veröffentlicht), Abschnitt 5.11
Erwartung: Das Gerät muss den SCSI-Status GOOD (0x0) zurückgeben.
Begründung: Dieser Befehl ist für Formatierungsvorgänge und Initialisierung erforderlich.
Titel: Grundlegender Überprüfungstest READ CAPACITY (16)
Beschreibung: Das Gerät muss den SCSI-Status GOOD (0x0) und 8 Bytes Parameterdaten zurückgeben, die das Kapazitäts- und Medienformat des Blockgeräts für den Datenpuffer beschreiben.
Referenz: Spezifikation SCSI Block Commands - 2 (SBC-2) Revision 16 (oder veröffentlicht), Abschnitt 5.11
Erwartung: Das Gerät muss den SCSI-Status GOOD (0x0) zurückgeben.
Titel: Kapazitätstest READ CAPACITY (16)
Beschreibung: Sendet einen READ CAPACITY-Befehl, um die gemeldete Blockadresse zu überprüfen. Wenn die Blockadresse größer als der READ CAPACITY 10-Grenzwert ist, stellen Sie sicher, dass die READ CAPACITY 10-Blockadresse auf 0xFFFF_FFFF festgelegt ist.
Referenz: Spezifikation SCSI Block Commands - 2 (SBC-2) Revision 16 (oder veröffentlicht), Abschnitt 5.11
Erwartung: Für Blockadressen, die größer sind, als READ CAPACITY 10 beschreiben kann, wird die READ CAPACITY 10-Blockadresse auf 0xFFFF_FFFF festgelegt.
Befehl: Start Stop Unit
Titel: Grundlegender Test 1 START STOP UNIT
Beschreibung: Sendet StartStopUnit mit IMMED=0, LOEJ=0, START=0, Auslaufen von Laufwerk
Referenz: Spezifikation SCSI Block Commands - 2 (SBC-2) Revision 16 (oder veröffentlicht), Abschnitt 5.17
Erwartung: Das Gerät muss den SCSI-Status GOOD (0x0) zurückgeben.
Begründung: Dieser Befehl ist erforderlich, um die Datenintegrität im Hinblick auf Änderungen des Stromzustands und die Trennung vom Bus sicherzustellen.
Titel: Grundlegender Test 2 START STOP UNIT
Beschreibung: Sendet StartStopUnit mit IMMED=0, LOEJ=0, START=1, Hochlaufen von Laufwerk
Referenz: Spezifikation SCSI Block Commands - 2 (SBC-2) Revision 16 (oder veröffentlicht), Abschnitt 5.17
Erwartung: Das Gerät muss den SCSI-Status GOOD (0x0) zurückgeben.
Titel: Grundlegender Test 3 START STOP UNIT
Beschreibung: Sendet StartStopUnit mit IMMED=1, LOEJ=0, START=0, Auslaufen von Laufwerk
Referenz: Spezifikation SCSI Block Commands - 2 (SBC-2) Revision 16 (oder veröffentlicht), Abschnitt 5.17
Erwartung: Das Gerät muss den SCSI-Status GOOD (0x0) zurückgeben.
Titel: Grundlegender Test 4 START STOP UNIT
Beschreibung: Sendet StartStopUnit mit IMMED=1, LOEJ=0, START=1, Hochlaufen von Laufwerk
Referenz: Spezifikation SCSI Block Commands - 2 (SBC-2) Revision 16 (oder veröffentlicht), Abschnitt 5.17
Erwartung: Das Gerät muss den SCSI-Status GOOD (0x0) zurückgeben.
Befehlssyntax
Befehl | Beschreibung |
---|---|
Scsicompliance.exe |
Die Optionen für den Test werden unten aufgeführt. |
/device |
Das Gerät, auf dem der Test ausgeführt werden soll. Example: /Device <physischer Gerätepfad> |
/operation |
Der auszuführende Vorgang. Beispiel: /Operation Test |
/scenario |
Das zu testende Feature. Beispiel: /Scenario Common |
/verbosity |
Der Grad der Ausführlichkeit der Protokollierung. Größere Werte verursachen eine ausführlichere Ausgabe. Beispiel: /Verbosity 4 |
Hinweis
Geben Sie /? ein, um die Befehlszeilenhilfe für diese Testbinärdatei anzuzeigen.
Dateiliste
Datei | Standort |
---|---|
Scsicompliance.exe |
<[testbinroot]>\nttest\driverstest\storage\wdk\nttest\ |
Parameter
Parametername | Parameterbeschreibung |
---|---|
DiskDeviceObjLink | Gerätepfad des zu testenden Datenträgers EX: \\.\disk0 |
WDKDeviceID | Instanzpfad des zu testenden Geräts |
LoggingVerbosity | LoggingVerbosity: Ausführlichkeit der Protokollierung. Die Stufen sind kumulativ. 0 = Anweisungen und Ergebnisse. 1 = Details (Standard). 2 = CDBs, Daten und Sensorinformationen. 3 = Debug- und detaillierte Modusseiteninformationen. 4 = Speicherauslastung |
ScenarioId | Name des Szenariotests. |
LLU_NetAccessOnly | Benutzerkonto für den Zugriff auf die Testdateifreigabe. |
LLU_LclAdminUsr | Benutzerkonto zum Ausführen des Tests. |
OperationId | |
Destruktiv | (0,1) 0=Passiv, 1=Destruktiv |