次の方法で共有


SCSI コンプライアンス テスト 2.0 (ロゴ)

この自動テストでは、オペレーティング システムでサポートされているブロック記憶装置 (RAID アダプターまたはディスク ターゲット) が、SCSI-3 プライマリ コマンド 3 (SPC-3) 以降と SCSI ブロック コマンド 2 (SBC-2) 以降の仕様で記述されている Small Computer System Interface (SCSI) 標準に完全に準拠していることを検証します。 これらの仕様を確認するには、「Technical Committee T10 SCSI Storage Interfaces」にアクセスしてください。

ブロック デバイスとオペレーティング システムでこれらの標準への遵守状況が確実に維持されていると、システムの堅牢さや信頼性の高さが向上します。 一部のブロック デバイスは SCSI 転送を使用していない場合がありますが、オペレーティング システムは SCSI コマンドを使用してそれらのデバイスと通信します (RAID セットの一部ではない個々の ATA ディスク ドライブを除く)。

このテストでは、SCSI パススルー要求 (IOCTL_SCSI_PASS_THROUGH) を使用し、SCSI コマンド記述子ブロック (CDB) を構成してデバイスに送信します。 このテストでは、コマンドの結果を評価して遵守状況を検証します。

Note

   このテストを Storage RAID ハードウェア ベースの RAID (ストレージ アレイ) 申請の一部として実行し、ストレージ アレイがマルチパス I/O (MPIO) をサポートしている場合は、「フェールオーバーのみ」ポリシーを使用するように MPIO を構成し、すべての MPIO 対応ディスク用に同じアクティブ パスを使用するようにターゲットのストレージ ディスクを設定する必要があります。

このテストを Storage RAID ハードウェア ベースの RAID (ストレージ アレイ) 申請の一部として実行する場合は、LUN0 が最大サイズの非ブート LUN として構成されていることを確認してください。

 

テストの詳細

   
仕様
  • Device.Storage.Hd.ScsiProtocol.SpcCompliance
  • Device.Storage.Controller.Raid.BasicFunction
  • Device.Storage.Hd.ScsiProtocol.ReferenceSpec
  • Device.Storage.Hd.ScsiProtocol.SamCompliance
プラットフォーム
  • Windows 10、クライアント エディション (x86)
  • Windows 10、クライアント エディション (x64)
  • Windows Server 2016 (x64)
  • Windows 10、クライアント エディション (Arm64)
サポートされているリリース
  • Windows 10
  • Windows 10 バージョン 1511
  • Windows 10 Version 1607
  • Windows 10 Version 1703
  • Windows 10 バージョン 1709
  • Windows 10 バージョン 1803
  • Windows 10 Version 1809
  • Windows 10 バージョン 1903
  • Windows 10 への次の更新プログラム
予想される実行時間 (分) 5
カテゴリ 互換性
タイムアウト (分) 300
再起動が必要です false
特別な構成が必要です false
Type automatic

 

その他のドキュメント

この機能領域のテストには、前提条件、セットアップ、トラブルシューティング情報など、次のトピックに記載されている追加のドキュメントが含まれている場合があります。

テストの実行

テストを実行する前に、テストするストレージ コントローラーの種類に関するテスト要件の説明に従って、テストのセットアップを完了します。 詳細については、「ハード ディスク ドライブのテストの前提条件」を参照してください。

トラブルシューティング

HLK テストの失敗の一般的なトラブルシューティングについては、「Windows HLK テストの失敗のトラブルシューティング」を参照してください。

トラブルシューティングの情報については、「Device.Storage テストのトラブルシューティング」を参照してください。

また、このテストでは結果がログ ファイル Scsicompliance.wtl と Scsicompliance.wtl.txt に書き込まれます。 この結果を使用して、次のことを判断できます。

  • デバイスが SCSI 仕様に準拠しているかどうか

  • デバイスでサポートされているオプションの SCSI コマンド

合格するには、SCSI デバイスがすべての必須コマンドをサポートしており、これらのコマンドに完全に準拠している必要があります。 各コマンドで合格または失敗のしきい値が異なり、テストとログ ファイルで予想が明示的に指定されます。

オプションのコマンドもテストされます。 デバイスがオプションのコマンドをサポートしていて、そのコマンドが準拠していないことが判明した場合、テストは失敗します。 デバイスでオプションのコマンドがサポートされていない場合、テストは合格します。

Note

   このテストからエラーが発生する場合、ログファイルや、テスト中のドライバーの負荷により生成される停止エラーで問題を特定できます。

 

テスト中に、エラーが発生している LUN を削除するのに手間取る場合や、記憶域コントローラーから LUN を作成できない場合は、次の手順に従います。

  1. このテストを実行する前に、ストレージ デバイスが正常に動作することを確認します。 diskmgmt.msc を開き、ディスクを選択して、デバイスをオンラインにして初期化できることを確認します。

  2. Windows HLK テスト コンピューターを再起動します。

  3. SCSI 遵守状況テスト 2.0 を選択して再実行します。 このテストの前にいずれのテストも実行しないでください。

  4. 同じテスト クライアントおよび同じテスト記憶装置で SCSI 遵守状況テスト 2.0 (ロゴ) 以外の SCSI 遵守状況テストを実行します。 再度テストが失敗した場合は、記憶装置が正常に動作していることを確認します。 手順 3 と 4 中にテストが失敗した場合は、ログ記録の詳細レベルを 4 (最高レベルのテスト ログ記録) に設定して、失敗した個々のコマンドデータ ブロック (cdb) を一度に 1 つずつ実行します。 こうすると、送信されたデータと返されたデータがわかります。 複数の cdb の完了後にテストは失敗するがスタンドアロンで成功する場合があります。 この問題が発生した場合は、ファームウェアまたはテストに問題があります。

デバイスをリセットしたら、デバイスがバスから離脱し、以後コマンドが失敗する場合は、次の手順に従います。

  1. Windows HLK コントローラーからテスト バイナリ (Scsicompliance.exe) をコピーします。 このファイルは \\controllername\tests\[processorarchitectureofyourclient]\NTTEST\DriversTest\storage\wdk\ にあります

  2. Windows HLK コントローラーから wttlog.dll ファイルをコピーします。 このファイルは \\<controllername>\Tests\<processorarchitectureofyourclient >\wtt にあります

  3. これらの両方のファイルをテスト コンピューター上の別のフォルダーに置きます。

  4. コマンド プロンプトで、テスト バイナリが格納されているディレクトリから、コマンド Scsicompliance.exe /device <deviceID> /verbosity 4 /operation test /scenario <scenario> /CDB <failingcdbname> を入力します

    Note

       テスト ログ内の再現行を確認すると、DeviceID とシナリオの値を見つけることができます。 failingcdbname を検索するには、/? オプションを指定してテスト バイナリを実行します (scsicompliance.exe /?)。

     

  5. 同じディレクトリに戻り、結果を確認して、テストが失敗した原因を特定できるかどうかを検討します。

  6. 追加のヘルプが必要な場合は、txt ログと wtl ログを収集し、Microsoft カスタマーサポートとログを共有してください。

このテストを Windows Server 2003 に対して実行する場合は、ディスクまたは LUN が MPIO 擬似 LUN でないことを確認してください。 Windows Server 2003 では MPIO はサポートされていません。

詳細情報

次のコマンドが検証されます。

Note

   「参照」の詳細については、「Technical Committee T10 SCSI Storage Interfaces」の Web サイトを参照してください。

 

コマンド: Test Unit Ready

タイトル: TEST UNIT READY、基本検証テスト

説明: TEST UNIT READY コマンドは、論理ユニットの準備ができているかどうかを検査する手段です。 これは、自己テストに関する要求ではありません。 論理ユニットが CHECK CONDITION 状態を返さず、該当する媒体アクセス コマンドを受け入れることができる場合、このコマンドは GOOD 状態を返します。

参照: SCSI プライマリ コマンド 3 (SPC-3) リビジョン 23 (または公開済み) 仕様、セクション 6.33

予想: デバイスは GOOD (0x0) SCSI 状態を返すはずです

根拠: これは必須の SPC-3/SPC-4 コマンドです。

コマンド: Request Sense

タイトル: REQUEST SENSE (6)、サポート テスト

説明: Request Sense コマンドがサポートされていて、GOOD 状態を返すかどうかを検査して確認します。

参照: SCSI プライマリ コマンド 3 (SPC-3) リビジョン 23 (または公開済み) 仕様、セクション 6.27

予想: デバイスは GOOD (0x0) SCSI 状態を返すはずです

根拠: このコマンドは、SPC-3/SPC-4 では必須で、失敗したコマンドのエラー Sense データを取得するために開始者が使用します。

タイトル: REQUEST SENSE (6)、RESPONSE CODE テスト

説明: RESPONSE CODE が 0x70、0x71、0x72、または 0x73 のいずれかであることを検証します

参照: SCSI プライマリ コマンド 3 (SPC-3) リビジョン 23 (または公開済み) 仕様、セクション 6.27

予想: RESPONSE CODE == 0x70 または RESPONSE CODE == 0x71 または RESPONSE CODE == 0x72 または RESPONSE CODE == 0x73

タイトル: REQUEST SENSE (6)、Sense データ長テスト

説明: SENSE データの長さが正しいか検証します (転送されるデータは、コマンド応答で報告されるデータ長と一致します)。

参照: SCSI プライマリ コマンド 3 (SPC-3) リビジョン 23 (または公開済み) 仕様、セクション 6.27

予想: 追加の Sense Length <= Sense データ サイズ - 8。

コマンド: Read 6

タイトル: READ (6)、基本的な検証テスト

説明: デバイスは GOOD (0x0) SCSI 状態と最初の 2 つのデータ ブロックを正しく返す必要があります。 このテストでは、2 種類の重複したデータ ブロックを読み取る 2 つの READ コマンドを送信します。 続いて、重複したデータを比較します。 このコマンドは、読み取り操作間で重複データが同じである (2 つのコマンドが同じデータを正しく読み取っていることを暗示する) 場合に true を返します。

参照: SCSI ブロック コマンド 2 (SBC-2) リビジョン 16 (または公開済み) 仕様、セクション 5.5

予想: ScsiStatus == 0x0。

根拠: 一部のアプリケーションでは Read 6 が引き続き使用されており、Read 10 に切り替えられていません。 したがって、このコマンドが実装されて続行されているかどうかをテストで検査します。

タイトル: READ (6)、順次読み取りテスト

説明: デバイスは 1000 の順次データ ブロックを正しく読み取る必要があります。 このテストでは、コマンドを 1000 回送信し、ランダムなブロック アドレスから順次 1024 バイトのデータを読み取ります。

参照: SCSI ブロック コマンド 2 (SBC-2) リビジョン 16 (または公開済み) 仕様、セクション 5.5

予想: すべての READ (6) コマンドが成功します。

タイトル: READ (6)、ランダム読み取りテスト

説明: デバイスは 1000 のランダム データ ブロックを正しく読み取る必要があります。 このテストでは、コマンドを 1000 回送信し、ランダムな論理ブロック アドレスでデータを読み取ります。

参照: SCSI ブロック コマンド 2 (SBC-2) リビジョン 16 (または公開済み) 仕様、セクション 5.5

予想: すべての READ (6) コマンドが成功します。

タイトル: READ (6)、ディスク キャッシュ クリア読み取りのテスト

説明: デバイスは、12MB のディスク キャッシュのクリア後に、データを正しく返す必要があります。 このテストでは、後で検証するために、最初に 12 MB の順次データを読み取ります。 続いて、12 MB のランダム データを読み取って、ディスク キャッシュをクリアします。 最後に、同じ 12 MB の順次データを読み取って、このデータが最初に読み取ったデータと同じかどうかを確認します。

参照: SCSI ブロック コマンド 2 (SBC-2) リビジョン 16 (または公開済み) 仕様、セクション 5.5

予想: キャッシュのクリア後に読み取られた 12 MB のデータは正しいです。

コマンド: Write 6

タイトル: WRITE (6)、基本的な機能テスト

説明: このコマンドは、1 つのデータ ブロックをデバイスに正しく書き込みます。このテストでは、書き込もうとしているデータと、書き込み操作後に READ により返されるデータを比較します。 データが同じである場合は、WRITE コマンドによってデータがディスクに正しく書き込まれていることを暗示しています。

参照: SCSI ブロック コマンド 2 (SBC-2) リビジョン 16 (または公開済み) 仕様、セクション 5.24

予想: ScsiStatus == 0x0。

根拠: 一部のアプリケーションでは Write 6 が引き続き使用されており、Write 10 に切り替えられていません。 したがって、このコマンドが実装されて続行されているかどうかをテストで検査します。

タイトル: WRITE (6)、順次書き込みテスト

説明: このコマンドは、1000 の順次データ ブロックを正しく書き込みます。このテストでは、コマンドを 1000 回送信し、ランダム論理ブロック アドレスから順次データを書き込みます。

参照: SCSI ブロック コマンド 2 (SBC-2) リビジョン 16 (または公開済み) 仕様、セクション 5.24

予想: すべての WRITE (6) コマンドが成功します。

タイトル: WRITE (6)、ランダム書き込みテスト

説明: このコマンドは、1000 のランダム データ ブロックを正しく書き込みます。このテストでは、WRITE コマンドを 1000 回送信し、ランダム論理ブロック アドレスでデータを書き込みます。

参照: SCSI ブロック コマンド 2 (SBC-2) リビジョン 16 (または公開済み) 仕様、セクション 5.24

予想: すべての WRITE (6) コマンドが成功します。

タイトル: WRITE (6)、ディスク キャッシュ無効化書き込みのテスト

説明: このコマンドは、キャッシュを無効にして 12 MB のデータを正しく書き込みます。このテストでは、12 MB のデータがディスクに書き込まれます。 続いて、書き込まれたばかりのデータと同じ 12 MB のデータを読み取って、書き込まれたばかりのデータが正しいことを検証します。

参照: SCSI ブロック コマンド 2 (SBC-2) リビジョン 16 (または公開済み) 仕様、セクション 5.24

予想: 12 MB のデータは正しく書き込まれます。

タイトル: WRITE (6)、ディスク キャッシュ有効化書き込みのテスト

説明: このコマンドは、キャッシュを有効にして 12 MB のデータを正しく書き込みます。このテストでは、12 MB のデータがディスクに書き込まれます。 続いて、SYNCHRONIZE CACHE (10) コマンドを送信して、キャッシュ内の論理ブロック アドレスとディスク内のアドレスを同期します。 最後に、書き込まれたばかりのデータと同じ 12 MB のデータを読み取って、書き込まれたばかりのデータが正しいことを検証します。

参照: SCSI ブロック コマンド 2 (SBC-2) リビジョン 16 (または公開済み) 仕様、セクション 5.24

予想: 12 MB のデータは正しく書き込まれます。

コマンド: Inquiry

タイトル: INQUIRY、基本的な検証テスト

説明: ALLOCATION LENGTH フィールドが 255 (0xFF) バイトに設定された INQUIRY コマンドに応じて、デバイスは GOOD (0x0) SCSI 状態と 255 バイト以下のサイズのデータを返す必要があります。 ALLOCATION LENGTH フィールドは、アプリケーション クライアントが割り当てた、返されるデータの最大バイト数を指定します。

参照: SCSI プライマリ コマンド 3 (SPC-3) リビジョン 23 (または公開済み) 仕様、セクション 6.4

予想: デバイスは、GOOD (0x0) SCSI 状態と、255 バイト以下のサイズのデータを返すはずです。

タイトル: INQUIRY、PAGE CODE フィールドが 0 以外で EVPD = 0 の場合のエラーに関するテスト。

説明: PAGE CODE フィールドが 0 以外で EVPD = 0 の場合にエラーが返されるか検査します。 PAGE CODE フィールドが 0 以外で EVPD = 0 の場合にエラーが返されるか検査します。

参照: SCSI プライマリ コマンド 3 (SPC-3) リビジョン 23 (または公開済み) 仕様、セクション 6.4

予想: ScsiStatus == 0x2、CHECK CONDITION。 ScsiStatus == 0x2、CHECK CONDITION。

タイトル: INQUIRY、標準の照会データの取得。

説明: 標準の照会データを取得できるかどうかを検査します。 標準の照会データを取得できるかどうかを検査します。

参照: SCSI プライマリ コマンド 3 (SPC-3) リビジョン 23 (または公開済み) 仕様、セクション 6.4

予想: ScsiStatus == 0x0、GOOD。

タイトル: INQUIRY、標準の照会データのサイズの検査。

説明: 標準の INQUIRY データには 36 バイト以上含まれている必要があります。

参照: SCSI プライマリ コマンド 3 (SPC-3) リビジョン 23 (または公開済み) 仕様、セクション 6.4

予想: Data Transfer Length >= 36 バイト。

タイトル: INQUIRY、デバイスの種類フィールドのテスト

説明: デバイスの種類フィールドを検査して、直接アクセス デバイスであることを確認します。

参照: SCSI プライマリ コマンド 3 (SPC-3) リビジョン 23 (または公開済み) 仕様、セクション 6.4

予想: デバイスの種類 == 0x0、直接アクセス デバイス。

タイトル: INQUIRY、末端修飾子フィールドのテスト。

説明: 末端修飾子フィールドを検査します。

参照: SCSI プライマリ コマンド 3 (SPC-3) リビジョン 23 (または公開済み) 仕様、セクション 6.4

予想: 末端修飾子フィールド == 0

タイトル: INQUIRY、VERSION フィールドのテスト

説明: デバイスは、0x4、0x5、または 0x6 の有効な VERSION フィールドを返す必要があります

参照: SCSI プライマリ コマンド 3 (SPC-3) リビジョン 23 (または公開済み) 仕様、セクション 6.4

予想: 種類が SCSI バスでない場合 VERSION は 0x4 (SPC-2) 以降で、種類が SCSI バスの場合 VERSION は 0x3 (SPC) 以降です。

タイトル: INQUIRY、RESPONSE DATA FORMAT の検査。

説明: RESPONSE DATA FORMAT == 2 か検査します。

参照: SCSI プライマリ コマンド 3 (SPC-3) リビジョン 23 (または公開済み) 仕様、セクション 6.4

予想: RESPONSE DATA FORMAT == 2。

タイトル: INQUIRY、追加の長さの検査。

説明: 追加長フィールドが正しいか検査します。

参照: SCSI プライマリ コマンド 3 (SPC-3) リビジョン 23 (または公開済み) 仕様、セクション 6.4

予想: 追加長フィールド == 合計データ サイズ - 5

タイトル: INQUIRY、VENDOR IDENTIFICATION フィールドの検査。

説明: VENDOR IDENTIFICATION フィールドに有効な ASCII が含まれているか検査します。

参照: SCSI プライマリ コマンド 3 (SPC-3) リビジョン 23 (または公開済み) 仕様、セクション 6.4

予想: VENDOR IDENTIFICATION フィールドには有効な ASCII が含まれています。

タイトル: INQUIRY、PRODUCT IDENTIFICATION フィールドの検査。

説明: PRODUCT IDENTIFICATION フィールドに有効な ASCII が含まれているか検査します。

参照: SCSI プライマリ コマンド 3 (SPC-3) リビジョン 23 (または公開済み) 仕様、セクション 6.4

予想: PRODUCT IDENTIFICATION フィールドには有効な ASCII が含まれています。

タイトル: INQUIRY、PRODUCT REVISION LEVEL フィールドの検査。

説明: PRODUCT REVISION LEVEL フィールドに有効な ASCII が含まれているか検査します。

参照: SCSI プライマリ コマンド 3 (SPC-3) リビジョン 23 (または公開済み) 仕様、セクション 6.4

予想: PRODUCT REVISION LEVEL フィールドには有効な ASCII が含まれています。

タイトル: INQUIRY、コマンド サポート データ テスト。

説明: デバイスは、標準照会データ内で HiSup ビットを設定する必要があります。

参照: SCSI アーキテクチャ モデル 3 (SAM-3) リビジョン 14 (またはそれ以降) 仕様、セクション 4.9.2

予想: 標準照会データ内で HiSup ビットが設定されます。

タイトル: INQUIRY、サポートされている重要な製品ページに関する検査。

説明: 重要な製品ページがサポートされているかどうかを検査します。

参照: SCSI プライマリ コマンド 3 (SPC-3) リビジョン 23 (または公開済み) 仕様、セクション 6.4.4

予想: サポートされている重要な製品データ ページの一覧が返されます。

タイトル: INQUIRY、サポートされている重要な各製品データ ページへのアクセスのテスト。

説明: サポートされている重要な各製品データ ページへのアクセスを試みます。

参照: SCSI プライマリ コマンド 3 (SPC-3) リビジョン 23 (または公開済み) 仕様、セクション 6.4.4

予想: サポートされている各ページにアクセスできます (最大 255 バイト)。

タイトル: INQUIRY、ユニット シリアル番号ページ 0x80 の試行。

説明: ユニット シリアル番号ページ 0x80 がサポートされており、有効な ASCII かどうかを検査します。

参照: SCSI プライマリ コマンド 3 (SPC-3) リビジョン 23 (または公開済み) 仕様、セクション 7.6.10

予想: ScsiStatus == 0x0、結果は有効な ASCII。

タイトル: INQUIRY、デバイス識別ページ 0x83 の試行。

説明: デバイス識別ページ 0x83 がサポートされているかどうかを検査します。

参照: SCSI プライマリ コマンド 3 (SPC-3) リビジョン 23 (または公開済み) 仕様、セクション 7.6.3

予想: ScsiStatus == 0x0。

タイトル: INQUIRY、VPD ページ 0x83 内の識別記述子の検査。

説明: 識別記述子に意味のあるデータが含まれているか検査します。

参照: SCSI プライマリ コマンド 3 (SPC-3) リビジョン 23 (または公開済み) 仕様、セクション 7.6.3

予想: すべての記述子が準拠しており、意味のあるデータが含まれています。

タイトル: INQUIRY、バージョン記述子の検査。

説明: バージョン記述子が準拠しているかどうかを検査して確認します。

参照: SCSI プライマリ コマンド 3 (SPC-3) リビジョン 23 (または公開済み) 仕様、セクション 6.4

予想: バージョン記述子が存在します。

コマンド: Mode Select 6

タイトル: MODE SELECT (6)、基本テスト

説明: シンプルな MODE SELECT コマンド (PF == 0、SP == 0) が成功するかどうかを検査して確認します

参照: SCSI プライマリ コマンド 3 (SPC-3) リビジョン 23 (または公開済み) 仕様、セクション 6.7

予想: デバイスは GOOD (0x0) SCSI 状態を返すはずです

根拠: ストレージ スタックはキャッシュ モード ページを使用してデバイスのキャッシュをオン/オフにします。 そのため、Mode Select コマンドを使用してモード ページに書き込む機能が必要です。

タイトル: MODE SELECT 6: MODE SENSE (6)、キャッシュ モード ページの取得の試行。

説明: ページ 0x08 に対してシンプルな MODE SENSE コマンドを実行すると GOOD 状態が返されるかどうかを検査して確認します。

参照: SCSI プライマリ コマンド 3 (SPC-3) リビジョン 23 (または公開済み) 仕様、セクション 6.7

予想: デバイスは GOOD (0x0) SCSI 状態を返すはずです

タイトル: MODE SELECT 6: MODE SENSE (6)、Parameter Savable (PS ビット) の検査。

説明: キャッシュ モード ページの Parameter Savable ビットが 1 かどうかを検査して確認します。

参照: SCSI プライマリ コマンド 3 (SPC-3) リビジョン 23 (または公開済み) 仕様、セクション 6.7

予想: PS == 1。

タイトル: MODE SELECT 6: MODE SENSE (6)、モード パラメーター ヘッダーの検査

説明: MediumType == 0 および BlockDescriptorLength == 0 か検証します。

参照: SCSI プライマリ コマンド 3 (SPC-3) リビジョン 23 (または公開済み) 仕様、セクション 6.7

予想: MediumType == 0x0 および BlockDescriptorLength == 0x0

タイトル: MODE SELECT 6: MODE SENSE (6)、キャッシュ モード ページ長の検査。

説明: キャッシュ モード ページが 20 バイトか検査します。

参照: SCSI プライマリ コマンド 3 (SPC-3) リビジョン 23 (または公開済み) 仕様、セクション 6.7

予想: cachePageLength == 20 バイト。

タイトル: MODE SELECT 6: MODE SENSE (6)、変更可能値の取得。

説明: キャッシュ モード ページの変更可能値を保存します

参照: SCSI プライマリ コマンド 3 (SPC-3) リビジョン 23 (または公開済み) 仕様、セクション 6.7

予想: デバイスは GOOD (0x0) SCSI 状態を返すはずです

タイトル: MODE SELECT 6: MODE SENSE (6)、既定値の取得。

説明: キャッシュ モード ページの既定値を保存します。

参照: SCSI プライマリ コマンド 3 (SPC-3) リビジョン 23 (または公開済み) 仕様、セクション 6.7

予想: デバイスは GOOD (0x0) SCSI 状態を返すはずです

タイトル: MODE SELECT (6)、WCE の変更。

説明: デバイスを対象に WCE=0 になるように MODE SELECT を適用します。

参照: SCSI プライマリ コマンド 3 (SPC-3) リビジョン 23 (または公開済み) 仕様、セクション 6.7

予想: デバイスは GOOD (0x0) SCSI 状態を返すはずです

タイトル: MODE SELECT 6: MODE SENSE (6)、WCE がクリアされていることの検査。

説明: 前の MODE SELECT コマンドが現在のモード パラメーターを実際に変更したか検査します。

参照: SCSI プライマリ コマンド 3 (SPC-3) リビジョン 23 (または公開済み) 仕様、セクション 6.7

予想: WCE はクリアされます。

タイトル: MODE SELECT 6: MODE SENSE (6)、保存値が変更されていることの検査。

説明: 前の MODE SELECT コマンドが保存済みのモード パラメーターを実際に変更したか検査します。

参照: SCSI プライマリ コマンド 3 (SPC-3) リビジョン 23 (または公開済み) 仕様、セクション 6.7

予想: 保存値が変更されています。

タイトル: MODE SELECT (6)、WCE の設定

説明: WCE を設定するように MODE SELECT を適用します。

参照: SCSI プライマリ コマンド 3 (SPC-3) リビジョン 23 (または公開済み) 仕様、セクション 6.7

予想: デバイスは GOOD (0x0) SCSI 状態を返すはずです

タイトル: MODE SELECT 6: MODE SENSE (6)、WCE が設定されていることの検査。

説明: 前の MODE SELECT コマンドが WCE を実際に設定したか検査します。

参照: SCSI プライマリ コマンド 3 (SPC-3) リビジョン 23 (または公開済み) 仕様、セクション 6.7

予想: 現在の値が設定されています。

タイトル: MODE SELECT (6)、元の値を復元する試行。

説明: MODE SELECT がキャッシュ モード ページ値を元の値に戻せるかテストします。

参照: SCSI プライマリ コマンド 3 (SPC-3) リビジョン 23 (または公開済み) 仕様、セクション 6.7

予想: デバイスは GOOD (0x0) SCSI 状態を返すはずです

タイトル: MODE SELECT 6: MODE SENSE (6)、値が復元されたことの検証。

説明: キャッシュ モード ページ内の値が復元されたか検査します。

参照: SCSI プライマリ コマンド 3 (SPC-3) リビジョン 23 (または公開済み) 仕様、セクション 6.7

予想: 現在の値は既定値と等しくなっています。

コマンド: Mode Sense 6

タイトル: MODE SENSE (6)、基本テスト

説明: ページ 0x3f に対してシンプルな MODE SENSE コマンドを実行すると GOOD 状態が返されるかどうかを検査して確認します

参照: SCSI プライマリ コマンド 3 (SPC-3) リビジョン 23 (または公開済み) 仕様、セクション 6.9

予想: デバイスは GOOD (0x0) SCSI 状態を返すはずです

根拠: ストレージ スタックは、キャッシュ モード ページを使用してデバイスのキャッシュをオン/オフにします。 そのため、Mode Sense コマンドを使用してモード ページに対して読み取る機能が必要です。

タイトル: MODE SENSE (6)、返されるデータのサイズの検査。

説明: 最小量のデータ (つまり、少なくとも MODE PARAMETER HEADER) を受け取るか検査します。

参照: SCSI プライマリ コマンド 3 (SPC-3) リビジョン 23 (または公開済み) 仕様、セクション 6.9

予想: Data Transfer Length >= 4 バイト

タイトル: MODE SENSE (6)、MODE PARAMETER HEADER の検査

説明: MODE PARAMETER HEADER の長さの情報が有効か検査します。

参照: SCSI プライマリ コマンド 3 (SPC-3) リビジョン 23 (または公開済み) 仕様、セクション 6.9

予想: ModeDataLength = Data Transfer Length - 1 = -1 バイト。

タイトル: MODE SENSE (6)、DBD (ブロック記述子の無効化) ビットのテスト。

説明: DBD ビットが設定されるとブロック記述子が返されないかテストして確認します。

参照: SCSI プライマリ コマンド 3 (SPC-3) リビジョン 23 (または公開済み) 仕様、セクション 6.9

予想: ブロック記述子の長さ = 0

タイトル: MODE SENSE (6)、DBD ビットが設定されている際の新しいデータ長のテスト。

説明: : 新しいデータ長が、古いデータ長からブロック記述子の長さを減算した値と等しくなるかテストします。

参照: SCSI プライマリ コマンド 3 (SPC-3) リビジョン 23 (または公開済み) 仕様、セクション 6.9

予想: 新しいデータ長 = 古いデータ長

タイトル: MODE SENSE (6)、DBD ビットが設定される前後の MODE PAGE データの比較

説明: DBD ビットが設定される前と後のページ データが同じかテストします。

参照: SCSI プライマリ コマンド 3 (SPC-3) リビジョン 23 (または公開済み) 仕様、セクション 6.9

予想: ページ データは一致します

タイトル: MODE SENSE (6)、ページ コントロール フィールドのテスト

説明: ページ コントロール フィールドのさまざまな値をテストし、返されるデータのサイズを強制的に適用します。

参照: SCSI プライマリ コマンド 3 (SPC-3) リビジョン 23 (または公開済み) 仕様、セクション 6.9

予想: PC の値ごとのデータ長は正しいです。

タイトル: MODE SENSE (6)、すべてのモード ページのスキャン。

説明: モードページ 0x3f のデータを検査し、サポートされているモード ページを調べます。

参照: SCSI プライマリ コマンド 3 (SPC-3) リビジョン 23 (または公開済み) 仕様、セクション 6.9

予想: サポートされているモード ページの検索目的で実行: 情報例外コントロール モードページとキャッシュ モード ページ。

タイトル: MODE SENSE (6)、必須モード ページがサポートされていることの確認

説明: MODE PAGE 0x3f に必須のモード ページが存在するか検査します

参照: SCSI プライマリ コマンド 3 (SPC-3) リビジョン 23 (または公開済み) 仕様、セクション 6.9

予想: 少なくともキャッシュ ページと情報例外ページがサポートされています。

タイトル: MODE SENSE (6)、個々のモード ページの検査

説明: 個々のモード ページにアクセスできるか、およびパラメーターが正しいかテストして確認します

参照: SCSI プライマリ コマンド 3 (SPC-3) リビジョン 23 (または公開済み) 仕様、セクション 6.9

予想: ページが返され、ヘッダーが準拠しているはずです

タイトル: MODE SENSE (6)、情報例外モード ページの検査

説明: 情報例外モード ページが準拠していることを確認します

参照: SCSI プライマリ コマンド 3 (SPC-3) リビジョン 23 (または公開済み) 仕様、セクション 6.9

予想: 電源状態モード ページがサポートされています

タイトル: MODE SENSE (6)、情報例外モード ページの検査

説明: 情報例外モード ページが準拠していることを確認します

参照: SCSI プライマリ コマンド 3 (SPC-3) リビジョン 23 (または公開済み) 仕様、セクション 6.9

予想: 電源状態モード ページがサポートされています

タイトル: MODE SENSE (6)、電源状態モード ページの検査。

説明: 電源状態モード ページが準拠していることを確認します

参照: SCSI プライマリ コマンド 3 (SPC-3) リビジョン 23 (または公開済み) 仕様、セクション 6.9

予想: 情報例外モード ページはサポートされています

タイトル: MODE SENSE (6)、キャッシュ モード ページの検査。

説明: キャッシュ モード ページが準拠していることを確認します。

参照: SCSI プライマリ コマンド 3 (SPC-3) リビジョン 23 (または公開済み) 仕様、セクション 6.9

予想: キャッシュ モード ページはサポートされています。

タイトル: MODE SENSE (6)、デバイス固有のパラメーターの検査

説明: デバイス固有のパラメーターがサポートされているかテストして確認します。

参照: SCSI プライマリ コマンド 3 (SPC-3) リビジョン 23 (または公開済み) 仕様、セクション 6.9

予想: サポートされていません。

コマンド: Read Capacity 10

タイトル: READ CAPACITY (10)、基本的な検証テスト

説明: デバイスは、GOOD (0x0) SCSI 状態と、ブロック デバイスの容量とメディア形式をバッファー内のデータに記述する 8 バイトのパラメーター データを返す必要があります。

参照: SCSI ブロック コマンド 2 (SBC-2) リビジョン 16 (または公開済み) 仕様、セクション 5.10

予想: デバイスは GOOD (0x0) SCSI 状態を返すはずです

根拠: このコマンドは、フォーマット操作と初期化に必要です。

コマンド: Read 10

タイトル: READ (10)、基本的な機能テスト

説明: このコマンドは、最初の 2 つのデータ ブロックを正しく読み取ります。このテストでは、2 種類の重複したデータ ブロックを読み取る 2 つの READ コマンドを送信します。 続いて、重複したデータを比較します。 このコマンドは、読み取り操作間で重複データが同じである (2 つのコマンドが同じデータを正しく読み取っていることを暗示する) 場合に true を返します。

参照: SCSI ブロック コマンド 2 (SBC-2) リビジョン 16 (または公開済み) 仕様、セクション 5.6

予想: Scsi Status == 0x0。

根拠: デバイスからのデータの読み取りに使用されます。

タイトル: READ (10)、順次読み取りテスト

説明: コマンドは、1000 の順次データ ブロックを正しく読み取ります。このテストでは、コマンドを 1000 回送信し、ランダム論理ブロック アドレスから順次データを読み取ります。

参照: SCSI ブロック コマンド 2 (SBC-2) リビジョン 16 (または公開済み) 仕様、セクション 5.6

予測: すべての READ (10) コマンドが成功します。

タイトル: READ (10)、ランダム読み取りテスト

説明: このコマンドは、1000 のランダム データ ブロックを正しく読み取ります。このテストでは、コマンドを 1000 回送信し、ランダム論理ブロック アドレスでデータを読み取ります。

参照: SCSI ブロック コマンド 2 (SBC-2) リビジョン 16 (または公開済み) 仕様、セクション 5.6

予測: すべての READ (10) コマンドが成功します。

タイトル: READ (10)、ディスク キャッシュ クリア読み取りのテスト

説明: このコマンドは、ディスク キャッシュをクリアして 12 MB のデータを正しく読み取ります。このテストでは、後で検証するために、最初に 12 MB の順次データを読み取ります。 続いて、12 MB のランダム データを読み取って、ディスク キャッシュをクリアします。 最後に、同じ 12 MB の順次データを読み取って、このデータが最初に読み取ったデータと同じかどうかを確認します。

参照: SCSI ブロック コマンド 2 (SBC-2) リビジョン 16 (または公開済み) 仕様、セクション 5.6

予想: キャッシュのクリア後に読み取られた 12 MB のデータは正しいです。

コマンド: Write 10

タイトル: WRITE (10)、基本的な機能テスト

説明: このコマンドは、1 つのデータ ブロックをデバイスに正しく書き込みます。このテストでは、書き込もうとしているデータと、書き込み操作後に READ により返されるデータを比較します。 データが同じである場合は、WRITE コマンドによってデータがディスクに正しく書き込まれていることを暗示しています。

参照: SCSI ブロック コマンド 2 (SBC-2) リビジョン 16 (または公開済み) 仕様、セクション 5.25

予想: ScsiStatus == 0x0。

根拠: デバイスへのデータの書き込みに使用されます。

タイトル: WRITE (10)、順次書き込みテスト

説明: このコマンドは、1000 の順次データ ブロックを正しく書き込みます。このテストでは、コマンドを 1000 回送信し、ランダム論理ブロック アドレスから順次データを書き込みます。

参照: SCSI ブロック コマンド 2 (SBC-2) リビジョン 16 (または公開済み) 仕様、セクション 5.25

予想: すべての WRITE (10) コマンドが成功します。

タイトル: WRITE (10)、ランダム書き込みテスト

説明: このコマンドは、1000 のランダム データ ブロックを正しく書き込みます。このテストでは、WRITE コマンドを 1000 回送信し、ランダム論理ブロック アドレスでデータを書き込みます。

参照: SCSI ブロック コマンド 2 (SBC-2) リビジョン 16 (または公開済み) 仕様、セクション 5.25

予想: すべての WRITE (10) コマンドが成功します。

タイトル: WRITE (10)、ディスク キャッシュ無効化書き込みのテスト

説明: このコマンドは、キャッシュを無効にして 12 MB のデータを正しく書き込みます。このテストでは、12 MB のデータがディスクに書き込まれます。 続いて、書き込まれたばかりのデータと同じ 12 MB のデータを読み取って、書き込まれたばかりのデータが正しいことを検証します。

参照: SCSI ブロック コマンド 2 (SBC-2) リビジョン 16 (または公開済み) 仕様、セクション 5.25

予想: 12 MB のデータは正しく書き込まれます

タイトル: WRITE (10)、ディスク キャッシュ有効化書き込みのテスト

説明: このコマンドは、キャッシュを有効にして 12 MB のデータを正しく書き込みます。このテストでは、12 MB のデータがディスクに書き込まれます。 続いて、SYNCHRONIZE CACHE (10) コマンドを送信して、キャッシュ内の論理ブロック アドレスとディスク内のアドレスを同期します。 最後に、書き込まれたばかりのデータと同じ 12 MB のデータを読み取って、書き込まれたばかりのデータが正しいことを検証します。

参照: SCSI ブロック コマンド 2 (SBC-2) リビジョン 16 (または公開済み) 仕様、セクション 5.25

予想: 12 MB のデータは正しく書き込まれます。

タイトル: WRITE (10)、FUA テスト

説明: このコマンドは、キャッシュと FUA (強制ユニット アクセス) をオンにして、データをディスクに正しく書き込みます。

参照: SCSI ブロック コマンド 2 (SBC-2) リビジョン 16 (または公開済み) 仕様、セクション 5.25。

予想: FUA がオンになり、ディスクにデータが正しく書き込まれます。 すべての WRITE (10) のチェックサムは正しいです。

タイトル: VERIFY (10)、サポート テスト

説明: デバイスが VERIFY (10) コマンドをサポートしているか検証します。 このテストでは、シンプルな VERIFY (10) コマンドを発行し、リターン コードが 0x2 (サポートされていないことを意味する) かどうかを検査します。

参照: SCSI ブロック コマンド 3 (SBC-3) リビジョン 27 (または公開済み) 仕様、セクション 5.28。

予想: SCSI の状態は 0x0 (GOOD) です。

タイトル: VERIFY (10)、ゼロ長テスト

説明: このテストでは、LOGICAL BLOCK ADDRESS と VERIFICATION LENGTH の両方が 0 に設定された VERIFY (10) コマンドが送信されます。 仕様に基づいて、VERIFICATION LENGTH フィールドが 0 に設定されていると、論理ブロックが検証されなくなることが指定されます。 この条件は、エラーとは見なされません。

参照: SCSI ブロック コマンド 3 (SBC-3) リビジョン 27 (または公開済み) 仕様、セクション 5.28。

予想: SCSI の状態は 0x0 (GOOD) です。

タイトル: VERIFY (10)、ランダム LBA テスト

説明: このテストでは、VERIFICATION LENGTH = 1 にし、LOGICAL BLOCK ADDRESS をランダム化 (0 から最後の LBA までの間でランダム) して、VEIRFY (10) コマンドを送信します。

参照: SCSI ブロック コマンド 3 (SBC-3) リビジョン 27 (または公開済み) 仕様、セクション 5.28。

予想: SCSI の状態は 0x0 (GOOD) です。

タイトル: VERIFY (10)、容量超過テスト

説明: このテストでは、VERIFICATION LENGTH = 2 にし、LOGICAL BLOCK ADDRESS を最後の LBA に設定して、VEIRFY (10) コマンドを送信します。

参照: SCSI ブロック コマンド 3 (SBC-3) リビジョン 27 (または公開済み) 仕様、セクション 5.28。

予想: SCSI の状態は 0x2 (CHECK CONDITION) です。

コマンド: Mode Select 10

タイトル: MODE SELECT (10)、基本テスト

説明: シンプルな MODE SELECT コマンド (PF == 0、SP == 0) が成功するかどうかを検査して確認します

参照: SCSI プライマリ コマンド 3 (SPC-3) リビジョン 23 (または公開済み) 仕様、セクション 6.8

予想: デバイスは GOOD (0x0) SCSI 状態を返すはずです

根拠: Mode Select 6 は必須ですが、Mode Select 10 はオプションで、実装されている場合はテストされます。

タイトル: MODE SELECT 10: MODE SENSE (10)、キャッシュ モード ページの取得の試行。

説明: ページ 0x08 に対してシンプルな MODE SENSE コマンドを実行すると GOOD 状態が返されるかどうかを検査して確認します。

参照: SCSI プライマリ コマンド 3 (SPC-3) リビジョン 23 (または公開済み) 仕様、セクション 6.8

予想: デバイスは GOOD (0x0) SCSI 状態を返すはずです

タイトル: MODE SELECT 10: MODE SENSE (10)、Parameter Savable (PS ビット) の検査。

説明: キャッシュ モード ページの Parameter Savable ビットが 1 かどうかを検査して確認します。

参照: SCSI プライマリ コマンド 3 (SPC-3) リビジョン 23 (または公開済み) 仕様、セクション 6.8

予想: PS == 1。

タイトル: MODE SELECT 10: MODE SENSE (10)、モード パラメーター ヘッダーの検査

説明: MediumType == 0 および BlockDescriptorLength == 0 か検証します。

参照: SCSI プライマリ コマンド 3 (SPC-3) リビジョン 23 (または公開済み) 仕様、セクション 6.8

予想: MediumType == 0x0 および BlockDescriptorLength == 0x0

タイトル: MODE SELECT 10: MODE SENSE (10)、キャッシュ モード ページ長の検査。

説明: キャッシュ モード ページが 20 バイトか検査します。

参照: SCSI プライマリ コマンド 3 (SPC-3) リビジョン 23 (または公開済み) 仕様、セクション 6.8

予想: cachePageLength == 20 バイト。

タイトル: MODE SELECT 10: MODE SENSE (10)、変更可能値の取得。

説明: キャッシュ モード ページの変更可能値を保存します

参照: SCSI プライマリ コマンド 3 (SPC-3) リビジョン 23 (または公開済み) 仕様、セクション 6.8

予想: デバイスは GOOD (0x0) SCSI 状態を返すはずです

タイトル: MODE SELECT 10: MODE SENSE (10)、既定値の取得。

説明: キャッシュ モード ページの既定値を保存します。

参照: SCSI プライマリ コマンド 3 (SPC-3) リビジョン 23 (または公開済み) 仕様、セクション 6.8

予想: デバイスは GOOD (0X0) SCSI 状態を返すはずです

タイトル: MODE SELECT (10)、WCE の変更。

説明: デバイスを対象に WCE=0 になるように MODE SELECT を適用します。

参照: SCSI プライマリ コマンド 3 (SPC-3) リビジョン 23 (または公開済み) 仕様、セクション 6.8

予想: デバイスは GOOD (0x0) SCSI 状態を返すはずです

タイトル: MODE SELECT 10: MODE SENSE (10)、WCE がクリアされていることの検査。

説明: 前の MODE SELECT コマンドが現在のモード パラメーターを実際に変更したか検査します。

参照: SCSI プライマリ コマンド 3 (SPC-3) リビジョン 23 (または公開済み) 仕様、セクション 6.8

予想: : WCE はクリアされます。

タイトル: MODE SELECT 10: MODE SENSE (10)、保存値が変更されていることの検査。

説明: 前の MODE SELECT コマンドが保存済みのモード パラメーターを実際に変更したか検査します。

参照: SCSI プライマリ コマンド 3 (SPC-3) リビジョン 23 (または公開済み) 仕様、セクション 6.8

予想: 保存値が変更されています。

タイトル: MODE SELECT (10)、WCE の設定

説明: WCE を設定するように MODE SELECT を適用します。

参照: SCSI プライマリ コマンド 3 (SPC-3) リビジョン 23 (または公開済み) 仕様、セクション 6.8

予想: デバイスは GOOD (0x0) SCSI 状態を返すはずです

タイトル: MODE SELECT 10: MODE SENSE (10)、WCE が設定されていることの検査。

説明: 前の MODE SELECT コマンドが WCE を実際に設定したか検査します。

参照: SCSI プライマリ コマンド 3 (SPC-3) リビジョン 23 (または公開済み) 仕様、セクション 6.8

予想: 現在の値が設定されています。

タイトル: MODE SELECT (10)、元の値を復元する試行。

説明: MODE SELECT がキャッシュ モード ページ値を元の値に戻せるかテストします

参照: SCSI プライマリ コマンド 3 (SPC-3) リビジョン 23 (または公開済み) 仕様、セクション 6.8

予想: デバイスは GOOD (0x0) SCSI 状態を返すはずです

タイトル: MODE SELECT 10: MODE SENSE (10)、値が復元されたことの検証。

説明: キャッシュ モード ページ内の値が復元されたか検査します。

参照: SCSI プライマリ コマンド 3 (SPC-3) リビジョン 23 (または公開済み) 仕様、セクション 6.8

予想: 現在の値は既定値と等しくなっています。

コマンド: Mode Sense 10

タイトル: MODE SENSE (10)、基本テスト

説明: ページ 0x3f に対してシンプルな MODE SENSE10 コマンドを実行すると GOOD 状態が返されるかどうかを検査して確認します

参照: SCSI プライマリ コマンド 3 (SPC-3) リビジョン 23 (または公開済み) 仕様、セクション 6.10

予想: デバイスは GOOD (0x0) SCSI 状態を返すはずです

根拠: Mode Sense 6 は必須ですが、Mode Sense 10 はオプションで、実装されている場合はテストされます。

タイトル: MODE SENSE (10)、返されるデータのサイズの検査。

説明: 最小量のデータ (つまり、少なくとも MODE PARAMETER HEADER) を受け取るか検査します。

参照: SCSI プライマリ コマンド 3 (SPC-3) リビジョン 23 (または公開済み) 仕様、セクション 6.10

予想: Data Transfer Length >= 8 バイト

タイトル: MODE SENSE (10)、MODE PARAMETER HEADER の検査

説明: MODE PARAMETER HEADER の長さの情報が有効か検査します。

参照: SCSI プライマリ コマンド 3 (SPC-3) リビジョン 23 (または公開済み) 仕様、セクション 6.10

予想: ModeDataLength = Data Transfer Length - 2 = -2 バイト。

タイトル: MODE SENSE (10)、DBD (ブロック記述子の無効化) ビットのテスト。

説明: DBD ビットが設定されるとブロック記述子が返されないかテストして確認します。

参照: SCSI プライマリ コマンド 3 (SPC-3) リビジョン 23 (または公開済み) 仕様、セクション 6.10

予想: ブロック記述子の長さ = 0

タイトル: MODE SENSE (10)、DBD ビットが設定される前後の MODE PAGE データの比較

説明: DBD ビットが設定される前と後のページ データが同じかテストします。

参照: SCSI プライマリ コマンド 3 (SPC-3) リビジョン 23 (または公開済み) 仕様、セクション 6.10

予想: ページ データは一致します

タイトル: MODE SENSE (10)、ページ コントロール フィールドのテスト

説明: ページ コントロール フィールドのさまざまな値をテストし、返されるデータのサイズを強制的に適用します。

参照: SCSI プライマリ コマンド 3 (SPC-3) リビジョン 23 (または公開済み) 仕様、セクション 6.10

予想: PC の値ごとのデータ長が正しく、PC=0 と PC=2 が GOOD 状態を返します。

コマンド: Read 16

タイトル: READ (16)、サポート テスト

説明: デバイスが READ (16) コマンドをサポートしているか検証します。このテストでは、シンプルな READ (16) コマンドを発行し、リターン コードが 0x2 (サポートされていないことを意味する) かどうか検査します。

参照: SCSI ブロック コマンド 2 (SBC-2) リビジョン 16 (または公開済み) 仕様、セクション 5.8

予想: SCSI の状態は 0x0 です。

タイトル: READ (16)、基本的な機能テスト

説明: このコマンドは、最初の 2 つのデータ ブロックを正しく読み取ります。このテストでは、2 種類の重複したデータ ブロックを読み取る 2 つの READ コマンドを送信します。 続いて、重複したデータを比較します。 このコマンドは、読み取り操作間で重複データが同じである (2 つのコマンドが同じデータを正しく読み取っていることを暗示する) 場合に true を返します。

参照: SCSI ブロック コマンド 2 (SBC-2) リビジョン 16 (または公開済み) 仕様、セクション 5.8

予想: SCSI の状態は 0x0 です。

根拠: デバイスが 64 ビット LBA の場合、ディスク全体を読み取るには Read 16 が必須です。 64 ビット LBA 以外の場合は、実装されている場合に行われます。

タイトル: READ (16)、順次読み取りテスト

説明: デバイスは 1000 の順次データ ブロックを正しく読み取る必要があります。 このテストでは、コマンドを 1000 回送信し、ランダムな論理ブロック アドレスから順次データを読み取ります。

参照: SCSI ブロック コマンド 2 (SBC-2) リビジョン 16 (または公開済み) 仕様、セクション 5.8

予測: すべての READ (16) コマンドが成功します。

タイトル: READ (16)、ランダム読み取りテスト

説明: このコマンドは、1000 のランダム データ ブロックを正しく読み取ります。このテストでは、READ (16) コマンドを 1000 回送信し、ランダム論理ブロック アドレスでデータを読み取ります。

参照: SCSI ブロック コマンド 2 (SBC-2) リビジョン 16 (または公開済み) 仕様、セクション 5.8

予測: すべての READ (16) コマンドが成功します。

タイトル: READ (16)、ディスク キャッシュ クリア読み取りのテスト

説明: このコマンドは、ディスク キャッシュをクリアして 12 MB のデータを正しく読み取ります。このテストでは、後で検証するために、最初に 12 MB の順次データを読み取ります。 続いて、12 MB のランダム データを読み取って、ディスク キャッシュをクリアします。 最後に、同じ 12 MB の順次データを読み取って、このデータが最初に読み取ったデータと同じかどうかを確認します。

参照: SCSI ブロック コマンド 2 (SBC-2) リビジョン 16 (または公開済み) 仕様、セクション 5.8

予想: キャッシュのクリア後に読み取られた 12 MB のデータは正しいです。

コマンド: Write 16

タイトル: WRITE (16)、サポート テスト

説明: デバイスがこのコマンドをサポートしているか検査します。このテストでは、シンプルな WRITE (16) コマンドを発行し、リターン コードが 0x2 (条件の確認) かどうか検査します。

参照: SCSI ブロック コマンド 2 (SBC-2) リビジョン 16 (または公開済み) 仕様、セクション 5.27

予想: ScsiStatus == 0x0。

タイトル: WRITE (16)、基本的な機能テスト

説明: このコマンドは、1 つのデータ ブロックをデバイスに正しく書き込みます。このテストでは、書き込もうとしているデータと、書き込み操作後に READ により返されるデータを比較します。 データが同じである場合は、WRITE コマンドによってデータがディスクに正しく書き込まれていることを暗示しています。

参照: SCSI ブロック コマンド 2 (SBC-2) リビジョン 16 (または公開済み) 仕様、セクション 5.27

予想: : ScsiStatus == 0x0。

根拠: デバイスが 64 ビット LBA の場合、ディスク全体で書き込むには Write 16 が必須です。 64 ビット LBA 以外の場合は、実装されている場合に行われます。

タイトル: WRITE (16)、順次書き込みテスト

説明: このコマンドは、1000 の順次データ ブロックを正しく書き込みます。このテストでは、コマンドを 1000 回送信し、ランダム論理ブロック アドレスから順次データを書き込みます。

参照: SCSI ブロック コマンド 2 (SBC-2) リビジョン 16 (または公開済み) 仕様、セクション 5.27

予想: すべての WRITE (16) コマンドが成功します。

タイトル: WRITE (16)、ランダム書き込みテスト

説明: このコマンドは、1000 のランダム データ ブロックを正しく書き込みます。このテストでは、WRITE コマンドを 1000 回送信し、ランダム論理ブロック アドレスでデータを書き込みます。

参照: SCSI ブロック コマンド 2 (SBC-2) リビジョン 16 (または公開済み) 仕様、セクション 5.27

予想: すべての WRITE (16) コマンドが成功します。

タイトル: WRITE (16)、ディスク キャッシュ無効化書き込みのテスト

説明: このコマンドは、キャッシュを無効にして 12 MB のデータを正しく書き込みます。このテストでは、12 MB のデータがディスクに書き込まれます。 続いて、書き込まれたばかりのデータと同じ 12 MB のデータを読み取って、書き込まれたばかりのデータが正しいことを検証します。

参照: SCSI ブロック コマンド 2 (SBC-2) リビジョン 16 (または公開済み) 仕様、セクション 5.27

予想: 12 MB のデータは正しく書き込まれます。

タイトル: WRITE (16)、ディスク キャッシュ有効化書き込みのテスト

説明: このコマンドは、キャッシュを有効にして 12 MB のデータを正しく書き込みます。このテストでは、12 MB のデータがディスクに書き込まれます。 続いて、SYNCHRONIZE CACHE (10) コマンドを送信して、キャッシュ内の論理ブロック アドレスとディスク内のアドレスを同期します。 最後に、書き込まれたばかりのデータと同じ 12 MB のデータを読み取って、書き込まれたばかりのデータが正しいことを検証します。

参照: SCSI ブロック コマンド 2 (SBC-2) リビジョン 16 (または公開済み) 仕様、セクション 5.27

予想: WRITE によって返される 12 MB のデータは正しいです。

タイトル: VERIFY (16)、サポート テスト

説明: デバイスが VERIFY (16) コマンドをサポートしているか検証します。 このテストでは、シンプルな VERIFY (16) コマンドを発行し、リターン コードが 0x2 (サポートされていないことを意味する) かどうかを検査します。

参照: SCSI ブロック コマンド 3 (SBC-3) リビジョン 27 (または公開済み) 仕様、セクション 5.30。

予想: SCSI の状態は 0x0 (GOOD) です。

タイトル: VERIFY (16)、ゼロ長テスト

説明: このテストでは、LOGICAL BLOCK ADDRESS と VERIFICATION LENGTH の両方が 0 に設定された VERIFY (16) コマンドが送信されます。 仕様に基づいて、VERIFICATION LENGTH フィールドが 0 に設定されていると、論理ブロックが検証されなくなることが指定されます。 この条件は、エラーとは見なされません。

参照: SCSI ブロック コマンド 3 (SBC-3) リビジョン 27 (または公開済み) 仕様、セクション 5.30。

予想: SCSI の状態は 0x0 (GOOD) です。

タイトル: VERIFY (16)、ランダム LBA テスト

説明: このテストでは、VERIFICATION LENGTH = 1 にし、LOGICAL BLOCK ADDRESS をランダム化 (0 から最後の LBA までの間でランダム) して、VERIFY (16) コマンドを送信します。

参照: SCSI ブロック コマンド 3 (SBC-3) リビジョン 27 (または公開済み) 仕様、セクション 5.30。

予想: SCSI の状態は 0x0 (GOOD) です。

タイトル: VERIFY (16)、容量超過テスト

説明: このテストでは、VERIFICATION LENGTH = 2 にし、LOGICAL BLOCK ADDRESS を最後の LBA に設定して、VEIRFY (16) コマンドを送信します。

参照: SCSI ブロック コマンド 3 (SBC-3) リビジョン 27 (または公開済み) 仕様、セクション 5.30。

予想: SCSI の状態は 0x2 (CHECK CONDITION) です。

コマンド: Report LUNS

タイトル: REPORT LUNS、基本的な検証テスト

説明: D.U.T. に対応する LUN 0 の検索と、REPORT LUNS コマンドの実行を試みます。 このテストでは、SAM-3 ごとに現在のターゲット アドレスの LUN 0 にのみ REPORT LUNS が送信されます。 このテストでは、SPC-3 ごとに SELECT REPORT が 0 に設定された要求のみが発行されます。

参照: SCSI プライマリ コマンド 3 (SPC-3) リビジョン 23 (または公開済み) 仕様、セクション 6.21

予想: デバイスは、GOOD (0x0) SCSI 状態と、255 バイト以下のサイズのデータを返すはずです。

根拠: Report LUNS は、デバイス上に存在する LUN を検出するために使用されます。 UAS では必須です。 BOT では、代わりに GetMaxLun USB クラス固有のコマンドが使用されます。 そのため、BOT デバイスではオプションです。 とはいえ、この CDB の実装を検査し、実装されている場合はこのコマンドをテストします。

タイトル: REPORT LUNS、LUN0 テスト

説明: このテストでは、SAM-3 ごとに現在のターゲット アドレスの LUN 0 にのみ REPORT LUNS が送信されます。このテストでは、SPC-3 ごとに SELECT REPORT が 0 に設定された要求のみが発行されます。

参照: SCSI プライマリ コマンド 3 (SPC-3) リビジョン 23 (または公開済み) 仕様、セクション 6.21

予想: デバイスは、GOOD (0x0) SCSI 状態と、255 バイト以下のサイズのデータを返すはずです。

タイトル: REPORT LUNS データ有効テスト

説明: このテストでは、SAM-3 ごとに現在のターゲット アドレスの LUN 0 にのみ REPORT LUNS が送信されます。このテストでは、SPC-3 ごとに SELECT REPORT が 0 に設定された要求のみが発行されます。

参照: SCSI プライマリ コマンド 3 (SPC-3) リビジョン 23 (または公開済み) 仕様、セクション 6.21

予想: 報告された各 LUN では、<= 255 に制限された単一レベルの番号が使用されています。

コマンド: Read Capacity 16

タイトル: READ CAPACITY (16)、割り当て長テスト

説明: 割り当ての長さが 0 値に設定されている場合でも、デバイスは GOOD (0x0) SCSI 状態を返す必要があります

参照: SCSI ブロック コマンド 2 (SBC-2) リビジョン 16 (または公開済み) 仕様、セクション 5.11

予想: デバイスは GOOD (0x0) SCSI 状態を返すはずです

根拠: このコマンドは、フォーマット操作と初期化に必要です。

タイトル: READ CAPACITY (16)、基本的な検証テスト

説明: デバイスは、GOOD (0x0) SCSI 状態と、ブロック デバイスの容量とメディア形式をバッファー内のデータに記述する 8 バイトのパラメーター データを返す必要があります。

参照: SCSI ブロック コマンド 2 (SBC-2) リビジョン 16 (または公開済み) 仕様、セクション 5.11

予想: デバイスは GOOD (0x0) SCSI 状態を返すはずです

タイトル: READ CAPACITY (16)、容量テスト

説明: READ CAPACITY コマンドを送信して、報告されたブロック アドレスを検査します。 ブロック アドレスが READ CAPACITY 10 の制限を超える場合、READ CAPACITY 10 ブロック アドレスが 0xFFFF_FFFF に設定されていることを確認します。

参照: SCSI ブロック コマンド 2 (SBC-2) リビジョン 16 (または公開済み) 仕様、セクション 5.11

予想: READ CAPACITY 10 を超えるブロック アドレスを記述できる場合、READ CAPACITY 10 ブロック アドレスは 0xFFFF_FFFF に設定されています。

コマンド: Start Stop Unit

タイトル: START STOP UNIT、基本テスト 1

説明: IMMED=0、LOEJ=0、START=0、スピンダウン ドライブで StartStopUnit を送信します

参照: SCSI ブロック コマンド 2 (SBC-2) リビジョン 16 (または公開済み) 仕様、セクション 5.17

予想: デバイスは GOOD (0x0) SCSI 状態を返すはずです

根拠: このコマンドは、電源状態が変化してバスから切断されてもデータの整合性を確保するために必要です。

タイトル: START STOP UNIT、基本テスト 2

説明: IMMED=0、LOEJ=0、START=1、スピンアップ ドライブで StartStopUnit を送信します

参照: SCSI ブロック コマンド 2 (SBC-2) リビジョン 16 (または公開済み) 仕様、セクション 5.17

予想: デバイスは GOOD (0x0) SCSI 状態を返すはずです

タイトル: START STOP UNIT、基本テスト 3

説明: IMMED=1、LOEJ=0、START=0、スピンダウン ドライブで StartStopUnit を送信します

参照: SCSI ブロック コマンド 2 (SBC-2) リビジョン 16 (または公開済み) 仕様、セクション 5.17

予想: デバイスは GOOD (0x0) SCSI 状態を返すはずです

タイトル: START STOP UNIT、基本テスト 4

説明: IMMED=1、LOEJ=0、START=1、スピンアップ ドライブで StartStopUnit を送信します

参照: SCSI ブロック コマンド 2 (SBC-2) リビジョン 16 (または公開済み) 仕様、セクション 5.17

予想: デバイスは GOOD (0x0) SCSI 状態を返すはずです

コマンド構文

コマンド 説明

Scsicompliance.exe

テスト用のオプションを以下に示します

/device

テストを実行するデバイス

例: /Device <physical device path>

/operation

実行する操作。

例: /Operation Test

/scenario

テスト対象の機能。

例: /Scenario Common

/verbosity

ログ記録の詳細レベル。 値を大きくすると、さらに詳細な出力になります。

例: /Verbosity 4

Note

   このテスト バイナリのコマンドライン ヘルプを表示するには、「/?」と入力します。

 

ファイル一覧

ファイル 場所

Scsicompliance.exe

<[testbinroot]>\nttest\driverstest\storage\wdk\nttest\

 

パラメーター

パラメーター名 パラメーターの説明
DiskDeviceObjLink テストするディスクのデバイス パス。例: \\.\disk0
WDKDeviceID テストするデバイスのインスタンス パス
LoggingVerbosity LoggingVerbosity: ログ記録の詳細。 レベルは累積的です。 0 = アサーションと結果。 1 = 詳細 (既定値)。 2 = CDB、データ、検出情報。 3 = デバッグと詳細モード ページの情報。 4 = メモリ使用量
ScenarioId シナリオのテスト名。
LLU_NetAccessOnly テスト ファイル共有にアクセスするためのユーザー アカウントです。
LLU_LclAdminUsr テストを実行するためのユーザー アカウント。
OperationId
Destructive (0、1) 0 = パッシブ、1 = 破壊的