Machine: Build=9200.00 Platform=AMD64 OS=Windows 8.1 Enterprise ServicePack="" Version=6.3 BuildLab="winblue_gdr" BuildDate=140330-1035 Language=English (US) (REDMOND) Config=n/a Starting SCSICompliance test 2.0.20100428 Operation test Scenario NVMe Running Scenario... Attempting to validate if test device is safe. Test device has signature 0x380abc58. DevicePath \\.\C: System Partition spans PhysicalDrive0 System disk has signature 0xbffe5. System Partition = \. Checking for EFI system partition. Test device is ok to test. Sending SCSI command to device. Read Capacity 10 Command: 25 00 00 00 00 00 00 00 00 00 DeviceIoControl SUCCEEDED. SCSI status: 0x00 (GOOD) Sense bytes: 0x00 Data bytes: 0x8 00 04 08 0C --------------------------------------------------------------- 000 5B84FFFF 00000200 00000000 00000000 [............... == DONE ============================================================== max lba from rc10 = 0x5b84ffff sector size from rc10 = 512 bytes cdb 0 policy 16 cdb 3 policy 32 cdb 8 policy 32 cdb 10 policy 32 cdb 18 policy 16 cdb 21 policy 32 cdb 26 policy 32 cdb 27 policy 16 cdb 37 policy 16 cdb 40 policy 16 cdb 42 policy 16 cdb 53 policy 16 cdb 66 policy 16 cdb 77 policy 16 cdb 85 policy 32 cdb 90 policy 32 cdb 136 policy 16 cdb 138 policy 16 cdb 160 policy 16 cdb 162 policy 16 cdb 181 policy 16 cdb 158 policy 16 Checking for implementation of RequestSense CDB Sending SCSI command to device. Request Sense 10 Command: 03 00 00 00 ff 00 DeviceIoControl SUCCEEDED. SCSI status: 0x00 (GOOD) Sense bytes: 0x00 Data bytes: 0x12 00 04 08 0C --------------------------------------------------------------- 000 70000000 0000000A 00000000 00000000 p............... 010 00000000 00000000 00000000 00000000 ................ == DONE ============================================================== SCSI status is 0x0. Sense Code is 0x0. Additional Sense Code is 0x0. Additional Sense Code Qualifier is 0x0. Checking for implementation of Read6 CDB SCSI status is 0x0. Sense Code is 0x0. Additional Sense Code is 0x0. Additional Sense Code Qualifier is 0x0. Checking for implementation of Write6 CDB SCSI status is 0x0. Sense Code is 0x0. Additional Sense Code is 0x0. Additional Sense Code Qualifier is 0x0. Sending SCSI command to device. Mode Sense 6 Command: 1a 00 3f 00 ff 00 DeviceIoControl SUCCEEDED. SCSI status: 0x00 (GOOD) Sense bytes: 0x00 Data bytes: 0x60 00 04 08 0C --------------------------------------------------------------- 000 5F000008 00FFFFFF 00000200 08120000 _............... 010 00000000 00000000 00000000 00000000 ................ 020 0A0A0612 00400000 FFFF0000 1A260000 .....@.......&.. 030 00000000 00000000 00000000 00000000 ................ 040 00000000 00000000 00000000 00000000 ................ 050 00000000 1C0A0000 00000000 00000000 ................ == DONE ============================================================== SCSI status is 0x0. Sense Code is 0x0. Additional Sense Code is 0x0. Additional Sense Code Qualifier is 0x0. Sending SCSI command to device. Mode Sense 6 Command: 1a 00 3f 00 ff 00 DeviceIoControl SUCCEEDED. SCSI status: 0x00 (GOOD) Sense bytes: 0x00 Data bytes: 0x60 00 04 08 0C --------------------------------------------------------------- 000 5F000008 00FFFFFF 00000200 08120000 _............... 010 00000000 00000000 00000000 00000000 ................ 020 0A0A0612 00400000 FFFF0000 1A260000 .....@.......&.. 030 00000000 00000000 00000000 00000000 ................ 040 00000000 00000000 00000000 00000000 ................ 050 00000000 1C0A0000 00000000 00000000 ................ == DONE ============================================================== SCSI status is 0x0. Sense Code is 0x0. Additional Sense Code is 0x0. Additional Sense Code Qualifier is 0x0. SCSI status is 0x0. Sense Code is 0x0. Additional Sense Code is 0x0. Additional Sense Code Qualifier is 0x0. Sending SCSI command to device. Mode Select 10 Command: 55 00 00 00 00 00 00 00 00 00 DeviceIoControl SUCCEEDED. SCSI status: 0x00 (GOOD) Sense bytes: 0x00 Data bytes: 0x0 == DONE ============================================================== SCSI status is 0x0. Sense Code is 0x0. Additional Sense Code is 0x0. Additional Sense Code Qualifier is 0x0. Sending SCSI command to device. Mode Sense 10 Command: 5a 00 3f 00 00 00 00 10 00 00 DeviceIoControl SUCCEEDED. SCSI status: 0x00 (GOOD) Sense bytes: 0x00 Data bytes: 0x64 00 04 08 0C --------------------------------------------------------------- 000 00620000 00000008 00FFFFFF 00000200 .b.............. 010 08120000 00000000 00000000 00000000 ................ 020 00000000 0A0A0612 00400000 FFFF0000 .........@...... 030 1A260000 00000000 00000000 00000000 .&.............. 040 00000000 00000000 00000000 00000000 ................ 050 00000000 00000000 1C0A0000 00000000 ................ 060 00000000 00000000 00000000 00000000 ................ == DONE ============================================================== SCSI status is 0x0. Sense Code is 0x0. Additional Sense Code is 0x0. Additional Sense Code Qualifier is 0x0. Checking for implementation of Read16 CDB SCSI status is 0x0. Sense Code is 0x0. Additional Sense Code is 0x0. Additional Sense Code Qualifier is 0x0. Checking for implementation of Write16 CDB SCSI status is 0x0. Sense Code is 0x0. Additional Sense Code is 0xd0. Additional Sense Code Qualifier is 0x55. Policy: REQUIRED Start: ASSERTION: TEST UNIT READY Basic Verification Test, TUID= Description: The TEST UNIT READY command provides a means to check if thelogical unit is ready. This is not a request for a self-test. If the logicalunit is able to accept an appropriate medium-access command without returningCHECK CONDITION status, this command shall return a GOOD status. Reference: SCSI Primary Commands - 4 (SPC-4) Revision 30 (or published) specification Section 6.37 http://www.t10.org/ftp/t10/drafts/spc4/spc4r30.pdf Expectation: The device must return GOOD (0x0) SCSI status Rationale: This is a mandatory SPC-3/SPC-4 command. Sending SCSI command to device. Test Unit Ready Command: 00 00 00 00 00 00 DeviceIoControl SUCCEEDED. SCSI status: 0x00 (GOOD) Sense bytes: 0x00 Data bytes: 0x0 == DONE ============================================================== Expect: Scsi Status is 0x0. Scsi Status is 0x0. End: Pass, ASSERTION: TEST UNIT READY Basic Verification Test, TUID=, Repro=scsicompliance.exe /device \\.\PhysicalDrive1 /verbosity 4 /scenario NVMe /operation test Policy: IF_IMPLEMENTED Unit test Policy: Test Implemented: CDB was detected to be implemented Start: ASSERTION: REQUEST SENSE (6) Support Test, TUID= Description: Checking to see if Request Sense Command is supported and returns GOOD status. Reference: SCSI Primary Commands - 4 (SPC-4) Revision 30 (or published) specification Section 6.26 http://www.t10.org/ftp/t10/drafts/spc4/spc4r30.pdf Expectation: The device must return GOOD (0x0) SCSI status Rationale: This command is mandatory in SPC-3/SPC-4 and is used by the initiator to retrieve error sense data for failed commands. Sending REQUEST SENSE (0x03) command to disk device. Sending SCSI command to device. Request Sense 10 Command: 03 00 00 00 ff 00 DeviceIoControl SUCCEEDED. SCSI status: 0x00 (GOOD) Sense bytes: 0x00 Data bytes: 0x12 00 04 08 0C --------------------------------------------------------------- 000 70000000 0000000A 00000000 00000000 p............... 010 00000000 00000000 00000000 04000000 ................ == DONE ============================================================== Expect: Scsi Status is 0x0. Scsi Status is 0x0. End: Pass, ASSERTION: REQUEST SENSE (6) Support Test, TUID=, Repro=scsicompliance.exe /device \\.\PhysicalDrive1 /verbosity 4 /scenario NVMe /operation test Policy: IF_IMPLEMENTED Unit test Policy: Test Implemented: CDB was detected to be implemented Start: ASSERTION: REQUEST SENSE (6) RESPONSE CODE Test, TUID= Description: Verify that RESPONSE CODE is either 0x70 or 0x71 or 0x72 or 0x73 Reference: SCSI Primary Commands - 4 (SPC-4) Revision 30 (or published) specification Section 6.26 http://www.t10.org/ftp/t10/drafts/spc4/spc4r30.pdf Expectation: RESPONSE CODE == 0x70 or RESPONSE CODE == 0x71 or RESPONSE CODE == 0x72 or RESPONSE CODE == 0x73 Checking RESPONSE CODE in sense buffer. RESPONSE CODE == 0x70. End: Pass, ASSERTION: REQUEST SENSE (6) RESPONSE CODE Test, TUID=, Repro=scsicompliance.exe /device \\.\PhysicalDrive1 /verbosity 4 /scenario NVMe /operation test Policy: IF_IMPLEMENTED Unit test Policy: Test Implemented: CDB was detected to be implemented Start: ASSERTION: REQUEST SENSE (6) Sense Data Length Test, TUID= Description: Verify that length of SENSE data is correct (data transferred matches data length reported by the command response). Reference: SCSI Primary Commands - 4 (SPC-4) Revision 30 (or published) specification Section 6.26 http://www.t10.org/ftp/t10/drafts/spc4/spc4r30.pdf Expectation: Additional Sense Length <= Sense data size - 8. Checking Additional Sense Length to ensure it's correctness. Additional Sense Length == 10. Command returned 18 bytes, expected 18 bytes. End: Pass, ASSERTION: REQUEST SENSE (6) Sense Data Length Test, TUID=, Repro=scsicompliance.exe /device \\.\PhysicalDrive1 /verbosity 4 /scenario NVMe /operation test Policy: IF_IMPLEMENTED Unit test Policy: Test Implemented: CDB was detected to be implemented Start: ASSERTION: REQUEST SENSE (6) Descriptor bit test, TUID= Description: Send Request Sense command with DESC=1, if device supports descriptor format sense data, it shall return sense data in that format. But if device doesn't support descriptor format sense data, receive appropriate error code Reference: SCSI Primary Commands - 4 (SPC-4) Revision 30 (or published) specification Section 6.26 http://www.t10.org/ftp/t10/drafts/spc4/spc4r30.pdf Expectation: Expect response code of 0x72 or 0x73 on success and CHECK condition with 5/24/0 in case of error Sending REQUEST SENSE (0x03) command to disk device with DESC bit set Sending SCSI command to device. Request Sense 10 Command: 03 01 00 00 ff 00 DeviceIoControl SUCCEEDED. SCSI status: 0x00 (GOOD) Sense bytes: 0x00 Data bytes: 0x10 00 04 08 0C --------------------------------------------------------------- 000 72000000 00000000 00000000 00000000 r............... == DONE ============================================================== Scsi Status is 0x0. Response code = 0x72 Descriptor format sense data supported End: Pass, ASSERTION: REQUEST SENSE (6) Descriptor bit test, TUID=, Repro=scsicompliance.exe /device \\.\PhysicalDrive1 /verbosity 4 /scenario NVMe /operation test Policy: IF_IMPLEMENTED Unit test Policy: Test Implemented: CDB was detected to be implemented Start: ASSERTION: READ (6) Basic Verification Test, TUID= Description: The device must return GOOD (0x0) SCSI status and the first two blocks of data correctly. This test sends two READ commands reading two different but overlapped blocks of data. Then, it compares the overlapped data. It returns true if the overlapped data is the same between the read operations (implying that the two commands read the same data correctly). Reference: SCSI Block Commands - 3 (SBC-3) Revision 26 (or published) specification Section 5.10 http://www.t10.org/ftp/t10/drafts/sbc3/sbc3r26.pdf Expectation: ScsiStatus == 0x0. Rationale: Some of the applications still use Read 6 and haven't transitioned into Read 10. Therefore we check if this command is implemented and proceed with testing. End: Pass, ASSERTION: READ (6) Basic Verification Test, TUID=, Repro=scsicompliance.exe /device \\.\PhysicalDrive1 /verbosity 4 /scenario NVMe /operation test Policy: IF_IMPLEMENTED Unit test Policy: Test Implemented: CDB was detected to be implemented Start: ASSERTION: READ (6) Sequential Read Test, TUID= Description: The device must read 1000 sequential blocks of data correctly. This test sends the command 1000 times, reading 1024 bytes of data sequentially starting at a random block address. Reference: SCSI Block Commands - 3 (SBC-3) Revision 26 (or published) specification Section 5.10 http://www.t10.org/ftp/t10/drafts/sbc3/sbc3r26.pdf Expectation: All READ (6) commands succeed. End: Pass, ASSERTION: READ (6) Sequential Read Test, TUID=, Repro=scsicompliance.exe /device \\.\PhysicalDrive1 /verbosity 4 /scenario NVMe /operation test Policy: IF_IMPLEMENTED Unit test Policy: Test Implemented: CDB was detected to be implemented Start: ASSERTION: READ (6) Random Read Test, TUID= Description: The device must read 1000 random blocks of data correctly. This test sends the command 1000 times, reading data at random logical block address. Reference: SCSI Block Commands - 3 (SBC-3) Revision 26 (or published) specification Section 5.10 http://www.t10.org/ftp/t10/drafts/sbc3/sbc3r26.pdf Expectation: All READ (6) commands succeed. End: Pass, ASSERTION: READ (6) Random Read Test, TUID=, Repro=scsicompliance.exe /device \\.\PhysicalDrive1 /verbosity 4 /scenario NVMe /operation test Policy: IF_IMPLEMENTED Unit test Policy: Test Implemented: CDB was detected to be implemented Start: ASSERTION: READ (6) Read-With-Disk-Cache-Cleared Test, TUID= Description: The device must return data correctly after clearing 12MB disk cache. This test first reads 12 MB sequential data for later verification. Then, it clears the disk cache by reading 12 MB random data. Finally, it reads the same 12 MB sequential data to see if the data is same as the one in first read. Reference: SCSI Block Commands - 3 (SBC-3) Revision 26 (or published) specification Section 5.10 http://www.t10.org/ftp/t10/drafts/sbc3/sbc3r26.pdf Expectation: The 12 MB data read after cache cleared is correct. Reading 32 blocks of sequential data for later verification... Clear the disk cache by reading 32 blocks of random data... Read the same 32 blocks of sequential data End: Pass, ASSERTION: READ (6) Read-With-Disk-Cache-Cleared Test, TUID=, Repro=scsicompliance.exe /device \\.\PhysicalDrive1 /verbosity 4 /scenario NVMe /operation test Policy: IF_IMPLEMENTED Unit test Policy: Test Implemented: CDB was detected to be implemented Start: ASSERTION: WRITE (6) Basic Functionality Test, TUID= Description: The command writes one block of data to device correctly.This test compares the data we want to write and the one returned by the READ after the write operation. If the data is the same, this implies that the WRITE command writes the data to disk correctly. Reference: SCSI Block Commands - 3 (SBC-3) Revision 26 (or published) specification Section 5.31 http://www.t10.org/ftp/t10/drafts/sbc3/sbc3r26.pdf Expectation: ScsiStatus == 0x0. Rationale: Some of the applications still use Write 6 and haven't transitioned into Write 10. Therefore we check if this command is implemented and proceed with testing. End: Pass, ASSERTION: WRITE (6) Basic Functionality Test, TUID=, Repro=scsicompliance.exe /device \\.\PhysicalDrive1 /verbosity 4 /scenario NVMe /operation test Policy: IF_IMPLEMENTED Unit test Policy: Test Implemented: CDB was detected to be implemented Start: ASSERTION: WRITE (6) Sequential Write Test, TUID= Description: The command writes 1000 sequential blocks of data correctly.This test sends the command 1000 times, writing data sequentially starting at a random logical block address. Reference: SCSI Block Commands - 3 (SBC-3) Revision 26 (or published) specification Section 5.31 http://www.t10.org/ftp/t10/drafts/sbc3/sbc3r26.pdf Expectation: All WRITE (6) commands succeed. End: Pass, ASSERTION: WRITE (6) Sequential Write Test, TUID=, Repro=scsicompliance.exe /device \\.\PhysicalDrive1 /verbosity 4 /scenario NVMe /operation test Policy: IF_IMPLEMENTED Unit test Policy: Test Implemented: CDB was detected to be implemented Start: ASSERTION: WRITE (6) Random Write Test, TUID= Description: The command writes 1000 random blocks of data correctly.This test sends the WRITE command 1000 times, writing data at random logical block address. Reference: SCSI Block Commands - 3 (SBC-3) Revision 26 (or published) specification Section 5.31 http://www.t10.org/ftp/t10/drafts/sbc3/sbc3r26.pdf Expectation: All WRITE (6) commands succeed. End: Pass, ASSERTION: WRITE (6) Random Write Test, TUID=, Repro=scsicompliance.exe /device \\.\PhysicalDrive1 /verbosity 4 /scenario NVMe /operation test Policy: IF_IMPLEMENTED Unit test Policy: Test Implemented: CDB was detected to be implemented Start: ASSERTION: WRITE (6) Write-With-Disk-Cache-Disabled Test, TUID= Description: The command writes 12 MB of data correctly with cache disabled.This test writes 12 MB of data to disk. Then, it reads the same 12 MB data that has just been written to verify that the data we just write are correct. Reference: SCSI Block Commands - 3 (SBC-3) Revision 26 (or published) specification Section 5.31 http://www.t10.org/ftp/t10/drafts/sbc3/sbc3r26.pdf Expectation: The 12 MB data are written correctly. Sending SCSI command to device. Mode Sense 6 Command: 1a 08 08 00 ff 00 DeviceIoControl SUCCEEDED. SCSI status: 0x00 (GOOD) Sense bytes: 0x00 Data bytes: 0x18 00 04 08 0C --------------------------------------------------------------- 000 17000000 08120000 00000000 00000000 ................ 010 00000000 00000000 00000000 00000000 ................ == DONE ============================================================== Sending SCSI command to device. Mode Sense 6 Command: 1a 08 48 00 ff 00 DeviceIoControl SUCCEEDED. SCSI status: 0x00 (GOOD) Sense bytes: 0x00 Data bytes: 0x18 00 04 08 0C --------------------------------------------------------------- 000 17000000 08120000 00000000 00000000 ................ 010 00000000 00000000 00000000 00000000 ................ == DONE ============================================================== Sense data indicates Write Cache setting is not changeable. Attempting anyways. Sending SCSI command to device. Mode Select 6 Command: 15 11 00 00 18 00 DeviceIoControl SUCCEEDED. SCSI status: 0x00 (GOOD) Sense bytes: 0x00 Data bytes: 0x18 00 04 08 0C --------------------------------------------------------------- 000 00000000 08120000 00000000 00000000 ................ 010 00000000 00000000 00000000 00000000 ................ == DONE ============================================================== Sending SCSI command to device. Mode Sense 6 Command: 1a 08 08 00 ff 00 DeviceIoControl SUCCEEDED. SCSI status: 0x00 (GOOD) Sense bytes: 0x00 Data bytes: 0x18 00 04 08 0C --------------------------------------------------------------- 000 17000000 08120000 00000000 00000000 ................ 010 00000000 00000000 00000000 00000000 ................ == DONE ============================================================== WRITE: WriteCacheSetting currently: 0x0. WRITE: Write Cache setting was succesfully changed. Writing 16 KB data sequentially to disk... Reading 16 KB data sequentially to disk... End: Pass, ASSERTION: WRITE (6) Write-With-Disk-Cache-Disabled Test, TUID=, Repro=scsicompliance.exe /device \\.\PhysicalDrive1 /verbosity 4 /scenario NVMe /operation test Policy: IF_IMPLEMENTED Unit test Policy: Test Implemented: CDB was detected to be implemented Start: ASSERTION: WRITE (6) Write-With-Disk-Cache-Enabled Test, TUID= Description: The command writes 12 MB of data correctly with cache enabled.This test writes 12 MB of data to disk. Then, it sends a SYNCHRONIZE CACHE (10) command to synchronize the logical block address in cache with the ones in disk. Finally, it will read the same 12 MB data that has just been written to verify that the data we just write are correct. Reference: SCSI Block Commands - 3 (SBC-3) Revision 26 (or published) specification Section 5.31 http://www.t10.org/ftp/t10/drafts/sbc3/sbc3r26.pdf Expectation: The 12 MB data are written correctly. Sending SCSI command to device. Mode Sense 6 Command: 1a 08 08 00 ff 00 DeviceIoControl SUCCEEDED. SCSI status: 0x00 (GOOD) Sense bytes: 0x00 Data bytes: 0x18 00 04 08 0C --------------------------------------------------------------- 000 17000000 08120000 00000000 00000000 ................ 010 00000000 00000000 B84768CA C327038C .........Gh..'.. == DONE ============================================================== Sending SCSI command to device. Mode Sense 6 Command: 1a 08 48 00 ff 00 DeviceIoControl SUCCEEDED. SCSI status: 0x00 (GOOD) Sense bytes: 0x00 Data bytes: 0x18 00 04 08 0C --------------------------------------------------------------- 000 17000000 08120000 00000000 00000000 ................ 010 00000000 00000000 B84768CA C327038C .........Gh..'.. == DONE ============================================================== Sense data indicates Write Cache setting is not changeable. Attempting anyways. Sending SCSI command to device. Mode Select 6 Command: 15 11 00 00 18 00 DeviceIoControl SUCCEEDED. SCSI status: 0x00 (GOOD) Sense bytes: 0x00 Data bytes: 0x18 00 04 08 0C --------------------------------------------------------------- 000 00000000 08120400 00000000 00000000 ................ 010 00000000 00000000 D3D13717 AFEC1C07 ..........7..... == DONE ============================================================== Sending SCSI command to device. Mode Sense 6 Command: 1a 08 08 00 ff 00 DeviceIoControl SUCCEEDED. SCSI status: 0x00 (GOOD) Sense bytes: 0x00 Data bytes: 0x18 00 04 08 0C --------------------------------------------------------------- 000 17000000 08120400 00000000 00000000 ................ 010 00000000 00000000 B84768CA C327038C .........Gh..'.. == DONE ============================================================== WRITE: WriteCacheSetting currently: 0x1. WRITE: Write Cache setting was succesfully changed. Writing 16 KB data sequentially to disk... Synchronize the data in cache with one in disk Sending SYNCHRONIZE CACHE (10) (0x35) command... Sending SCSI command to device. SYNCHRONIZE CACHE Command: 35 00 00 00 00 00 00 00 00 00 DeviceIoControl SUCCEEDED. SCSI status: 0x00 (GOOD) Sense bytes: 0x00 Data bytes: 0x0 == DONE ============================================================== Reading 16 KB data sequentially to disk... End: Pass, ASSERTION: WRITE (6) Write-With-Disk-Cache-Enabled Test, TUID=, Repro=scsicompliance.exe /device \\.\PhysicalDrive1 /verbosity 4 /scenario NVMe /operation test Policy: REQUIRED Start: ASSERTION: INQUIRY Basic Verification Test, TUID= Description: The device must return GOOD (0x0) SCSI status and data of size smaller than or equal to 255 bytes in response to the INQUIRY command with ALLOCATION LENGTH field set to 255 (0xFF) bytes. The ALLOCATION LENGTH field specifies the maximum number of bytes that an application client has allocated for returned data. Reference: SCSI Primary Commands - 4 (SPC-4) Revision 30 (or published) specification Section 6.4 http://www.t10.org/ftp/t10/drafts/spc4/spc4r30.pdf Expectation: The device must return GOOD (0x0) SCSI status and data of size smaller than or equal to 255 bytes. Sending SCSI command to device. INQUIRY Command: 12 00 00 00 ff 00 DeviceIoControl SUCCEEDED. SCSI status: 0x00 (GOOD) Sense bytes: 0x00 Data bytes: 0x24 00 04 08 0C --------------------------------------------------------------- 000 00000602 1F000002 4E564D65 20202020 ........NVMe 010 38394B54 46333230 3847334D 5331544C 89KTF3208G3MS1TL 020 32303220 F0003A4D 02000000 F0003A4D 202 ..:M......:M == DONE ============================================================== Returned data size is 0x24 bytes. End: Pass, ASSERTION: INQUIRY Basic Verification Test, TUID=, Repro=scsicompliance.exe /device \\.\PhysicalDrive1 /verbosity 4 /scenario NVMe /operation test Policy: REQUIRED Start: ASSERTION: INQUIRY Extended Verification Test, TUID= Description: Allocation length was 1 byte in SPC2 and 2 bytes in SPC3 and SPC4. When allocation length is set to more than 255 bytes, device must not return CHECK condition. Reference: SCSI Primary Commands - 4 (SPC-4) Revision 30 (or published) specification Section 6.4 http://www.t10.org/ftp/t10/drafts/spc4/spc4r30.pdf Expectation: The device must return GOOD (0x0) SCSI status. Sending SCSI command to device. INQUIRY Command: 12 00 00 01 ff 00 DeviceIoControl SUCCEEDED. SCSI status: 0x00 (GOOD) Sense bytes: 0x00 Data bytes: 0x24 00 04 08 0C --------------------------------------------------------------- 000 00000602 1F000002 4E564D65 20202020 ........NVMe 010 38394B54 46333230 3847334D 5331544C 89KTF3208G3MS1TL 020 32303220 F0003A4D 02000000 F0003A4D 202 ..:M......:M == DONE ============================================================== SCSI Status: 0x00 Returned data size is 0x24 bytes. End: Pass, ASSERTION: INQUIRY Extended Verification Test, TUID=, Repro=scsicompliance.exe /device \\.\PhysicalDrive1 /verbosity 4 /scenario NVMe /operation test Policy: REQUIRED Start: ASSERTION: INQUIRY Test for error when PAGE CODE field is nonzero and EVPD=0., TUID= Description: Checking that an error is returned when PAGE CODE field isnonzero and EVPD=0. Reference: SCSI Primary Commands - 4 (SPC-4) Revision 30 (or published) specification Section 6.4 http://www.t10.org/ftp/t10/drafts/spc4/spc4r30.pdf Expectation: ScsiStatus == 0x2, CHECK CONDITION. Sending SCSI command to device. INQUIRY Command: 12 00 ff 00 ff 00 DeviceIoControl SUCCEEDED. SCSI status: 0x02 (CHECK CONDITION) Sense bytes: 0x12 Data bytes: 0x0 Sense Info ------------------------------------------------------------- ErrorCode: 0x70 Valid: 0x0 SenseKey: 0x5 IncorrectLength: 0x0 EndOfMedia: 0x0 FileMark: 0x0 Information: 0x0 0 0 0 AdditionalSenseLength: 0xa CommandSpecificInformation: 0x0 0 0 0 AdditionalSenseCode: 0x24 AdditionalSenseCodeQualifier: 0x0 FieldReplaceableUnitCode: 0x0 SenseKeySpecific: 0x0 0 0 == DONE ============================================================== End: Pass, ASSERTION: INQUIRY Test for error when PAGE CODE field is nonzero and EVPD=0., TUID=, Repro=scsicompliance.exe /device \\.\PhysicalDrive1 /verbosity 4 /scenario NVMe /operation test Policy: REQUIRED Start: ASSERTION: INQUIRY Retrieving standard inquiry data., TUID= Description: Checking if we can retrieve standard inquiry data. Reference: SCSI Primary Commands - 4 (SPC-4) Revision 30 (or published) specification Section 6.4 http://www.t10.org/ftp/t10/drafts/spc4/spc4r30.pdf Expectation: ScsiStatus == 0x0, GOOD. Sending SCSI command to device. INQUIRY Command: 12 00 00 00 ff 00 DeviceIoControl SUCCEEDED. SCSI status: 0x00 (GOOD) Sense bytes: 0x00 Data bytes: 0x24 00 04 08 0C --------------------------------------------------------------- 000 00000602 1F000002 4E564D65 20202020 ........NVMe 010 38394B54 46333230 3847334D 5331544C 89KTF3208G3MS1TL 020 32303220 F0003A4D 02000000 F0003A4D 202 ..:M......:M == DONE ============================================================== End: Pass, ASSERTION: INQUIRY Retrieving standard inquiry data., TUID=, Repro=scsicompliance.exe /device \\.\PhysicalDrive1 /verbosity 4 /scenario NVMe /operation test Policy: REQUIRED Start: ASSERTION: INQUIRY Checking size of standard inquiry data., TUID= Description: Standard INQUIRY data shall contain at least 36 bytes. Reference: SCSI Primary Commands - 4 (SPC-4) Revision 30 (or published) specification Section 6.4 http://www.t10.org/ftp/t10/drafts/spc4/spc4r30.pdf Expectation: Data Transfer Length >= 36 bytes. Sending SCSI command to device. INQUIRY Command: 12 00 00 00 ff 00 DeviceIoControl SUCCEEDED. SCSI status: 0x00 (GOOD) Sense bytes: 0x00 Data bytes: 0x24 00 04 08 0C --------------------------------------------------------------- 000 00000602 1F000002 4E564D65 20202020 ........NVMe 010 38394B54 46333230 3847334D 5331544C 89KTF3208G3MS1TL 020 32303220 F0003A4D 02000000 F0003A4D 202 ..:M......:M == DONE ============================================================== End: Pass, ASSERTION: INQUIRY Checking size of standard inquiry data., TUID=, Repro=scsicompliance.exe /device \\.\PhysicalDrive1 /verbosity 4 /scenario NVMe /operation test Policy: REQUIRED Start: ASSERTION: INQUIRY Testing device type field., TUID= Description: Checking device type field to ensure it is a direct access device. Reference: SCSI Primary Commands - 4 (SPC-4) Revision 30 (or published) specification Section 6.4 http://www.t10.org/ftp/t10/drafts/spc4/spc4r30.pdf Expectation: Device Type == 0x0, Direct-access device. Device is a 0 device. Device is a Direct access block device device. End: Pass, ASSERTION: INQUIRY Testing device type field., TUID=, Repro=scsicompliance.exe /device \\.\PhysicalDrive1 /verbosity 4 /scenario NVMe /operation test Policy: REQUIRED Start: ASSERTION: INQUIRY Testing peripheral qualifier field., TUID= Description: Checking Peripheral Qualifier field. Reference: SCSI Primary Commands - 4 (SPC-4) Revision 30 (or published) specification Section 6.4 http://www.t10.org/ftp/t10/drafts/spc4/spc4r30.pdf Expectation: Peripheral qualifier field == 0. End: Pass, ASSERTION: INQUIRY Testing peripheral qualifier field., TUID=, Repro=scsicompliance.exe /device \\.\PhysicalDrive1 /verbosity 4 /scenario NVMe /operation test Policy: REQUIRED Start: ASSERTION: INQUIRY Check all fields of Inquiry Data, TUID= Description: Checking if Inquiry data response is meaningful Reference: SCSI Primary Commands - 4 (SPC-4) Revision 30 (or published) specification Section 6.4 http://www.t10.org/ftp/t10/drafts/spc4/spc4r30.pdf Expectation: Device returns meaningful data as defined in SCSI-NVME translation document Sending SCSI command to device. INQUIRY Command: 12 00 00 00 ff 00 DeviceIoControl SUCCEEDED. SCSI status: 0x00 (GOOD) Sense bytes: 0x00 Data bytes: 0x24 00 04 08 0C --------------------------------------------------------------- 000 00000602 1F000002 4E564D65 20202020 ........NVMe 010 38394B54 46333230 3847334D 5331544C 89KTF3208G3MS1TL 020 32303220 F0003A4D 02000000 F0003A4D 202 ..:M......:M == DONE ============================================================== Returned data size is 0x24 bytes. "DeviceTypeQualifier" = 0x0 "DeviceType" = 0x0 "RMB" = 0x0 "Version" = 0x6 "NormACA" = 0x0 "HISUP" = 0x0 "ResponseDataFormat" = 0x2 AdditionalLength = 0x1f "SCCS" = 0x0 "ACC" = 0x0 "TPGS" = 0x0 "3PC" = 0x0 Protect bit = 0 "EnclosureServices" = 0x0 "MultiPort" = 0x0 "Addr16" = 0x0 "Wide16Bit" = 0x0 "SYNC" = 0x0 "CMDQ" = 0x1 End: Pass, ASSERTION: INQUIRY Check all fields of Inquiry Data, TUID=, Repro=scsicompliance.exe /device \\.\PhysicalDrive1 /verbosity 4 /scenario NVMe /operation test Policy: REQUIRED Start: ASSERTION: INQUIRY Checking RESPONSE DATA FORMAT., TUID= Description: Checking that RESPONSE DATA FORMAT == 2. Reference: SCSI Primary Commands - 4 (SPC-4) Revision 30 (or published) specification Section 6.4 http://www.t10.org/ftp/t10/drafts/spc4/spc4r30.pdf Expectation: RESPONSE DATA FORMAT == 2. End: Pass, ASSERTION: INQUIRY Checking RESPONSE DATA FORMAT., TUID=, Repro=scsicompliance.exe /device \\.\PhysicalDrive1 /verbosity 4 /scenario NVMe /operation test Policy: REQUIRED Start: ASSERTION: INQUIRY Checking additional length., TUID= Description: Checking additional length field is correct. Reference: SCSI Primary Commands - 4 (SPC-4) Revision 30 (or published) specification Section 6.4 http://www.t10.org/ftp/t10/drafts/spc4/spc4r30.pdf Expectation: Additional Length field == Total Data size - 5 End: Pass, ASSERTION: INQUIRY Checking additional length., TUID=, Repro=scsicompliance.exe /device \\.\PhysicalDrive1 /verbosity 4 /scenario NVMe /operation test Policy: REQUIRED Start: ASSERTION: INQUIRY Checking VENDOR IDENTIFICATION field., TUID= Description: Checking that VENDOR IDENTIFICATION field contains valid ASCII. Reference: SCSI Primary Commands - 4 (SPC-4) Revision 30 (or published) specification Section 6.4 http://www.t10.org/ftp/t10/drafts/spc4/spc4r30.pdf Expectation: VENDOR IDENTIFICATION field contains valid ASCII. Sending SCSI command to device. INQUIRY Command: 12 00 00 00 ff 00 DeviceIoControl SUCCEEDED. SCSI status: 0x00 (GOOD) Sense bytes: 0x00 Data bytes: 0x24 00 04 08 0C --------------------------------------------------------------- 000 00000602 1F000002 4E564D65 20202020 ........NVMe 010 38394B54 46333230 3847334D 5331544C 89KTF3208G3MS1TL 020 32303220 F0003A4D 02000000 F0003A4D 202 ..:M......:M == DONE ============================================================== Returned data size is 0x24 bytes. VENDOR IDENTIFICATION field contains valid ASCII. INQUIRY: Checking NVMe to ensure validity. End: Pass, ASSERTION: INQUIRY Checking VENDOR IDENTIFICATION field., TUID=, Repro=scsicompliance.exe /device \\.\PhysicalDrive1 /verbosity 4 /scenario NVMe /operation test Policy: REQUIRED Start: ASSERTION: INQUIRY Checking PRODUCT IDENTIFICATION field., TUID= Description: Checking that PRODUCT IDENTIFICATION field contains valid ASCII. Reference: SCSI Primary Commands - 4 (SPC-4) Revision 30 (or published) specification Section 6.4 http://www.t10.org/ftp/t10/drafts/spc4/spc4r30.pdf Expectation: PRODUCT IDENTIFICATION field contains valid ASCII. PRODUCT IDENTIFICATION field contains valid ASCII. End: Pass, ASSERTION: INQUIRY Checking PRODUCT IDENTIFICATION field., TUID=, Repro=scsicompliance.exe /device \\.\PhysicalDrive1 /verbosity 4 /scenario NVMe /operation test Policy: REQUIRED Start: ASSERTION: INQUIRY Checking PRODUCT REVISION LEVEL field., TUID= Description: Checking that PRODUCT REVISION LEVEL field contains valid ASCII. Reference: SCSI Primary Commands - 4 (SPC-4) Revision 30 (or published) specification Section 6.4 http://www.t10.org/ftp/t10/drafts/spc4/spc4r30.pdf Expectation: PRODUCT REVISION LEVEL field contains valid ASCII. PRODUCT REVISION LEVEL field contains valid ASCII. End: Pass, ASSERTION: INQUIRY Checking PRODUCT REVISION LEVEL field., TUID=, Repro=scsicompliance.exe /device \\.\PhysicalDrive1 /verbosity 4 /scenario NVMe /operation test Policy: REQUIRED Start: ASSERTION: INQUIRY Checking for Supported Vital Product Pages., TUID= Description: Checking to see if Vital Product Pages are supported. Reference: SCSI Primary Commands - 4 (SPC-4) Revision 30 (or published) specification Section 7.8 http://www.t10.org/ftp/t10/drafts/spc4/spc4r30.pdf Expectation: List of Supported Vital Product Data Pages is returned. Sending SCSI command to device. INQUIRY Command: 12 01 00 00 ff 00 DeviceIoControl SUCCEEDED. SCSI status: 0x00 (GOOD) Sense bytes: 0x00 Data bytes: 0xa 00 04 08 0C --------------------------------------------------------------- 000 00000006 008083B0 B1B24D65 20202020 ..........Me == DONE ============================================================== Supported Vital Product Data Pages is returned. End: Pass, ASSERTION: INQUIRY Checking for Supported Vital Product Pages., TUID=, Repro=scsicompliance.exe /device \\.\PhysicalDrive1 /verbosity 4 /scenario NVMe /operation test Policy: REQUIRED Start: ASSERTION: INQUIRY Testing access to each supported Vital Product Data Page., TUID= Description: Attempting to access each supported Vital Product Data Page. Reference: SCSI Primary Commands - 4 (SPC-4) Revision 30 (or published) specification Section 7.8 http://www.t10.org/ftp/t10/drafts/spc4/spc4r30.pdf Expectation: Each supported page is accessible (up to 255 bytes). page length is 6. Sending SCSI command to device. INQUIRY Command: 12 01 00 00 ff 00 DeviceIoControl SUCCEEDED. SCSI status: 0x00 (GOOD) Sense bytes: 0x00 Data bytes: 0xa 00 04 08 0C --------------------------------------------------------------- 000 00000006 008083B0 B1B24D65 20202020 ..........Me == DONE ============================================================== Sending SCSI command to device. INQUIRY Command: 12 01 80 00 ff 00 DeviceIoControl SUCCEEDED. SCSI status: 0x00 (GOOD) Sense bytes: 0x00 Data bytes: 0x18 00 04 08 0C --------------------------------------------------------------- 000 00800014 30303034 5F413333 345F4444 ....0004_A334_DD 010 44385F20 2020202E 3847334D 5331544C D8_ .8G3MS1TL == DONE ============================================================== Sending SCSI command to device. INQUIRY Command: 12 01 83 00 ff 00 DeviceIoControl SUCCEEDED. SCSI status: 0x00 (GOOD) Sense bytes: 0x00 Data bytes: 0x18 00 04 08 0C --------------------------------------------------------------- 000 00830014 01020010 00000000 00000000 ................ 010 001517FF FF0AEB84 3847334D 5331544C ........8G3MS1TL == DONE ============================================================== Sending SCSI command to device. INQUIRY Command: 12 01 b0 00 ff 00 DeviceIoControl SUCCEEDED. SCSI status: 0x00 (GOOD) Sense bytes: 0x00 Data bytes: 0x40 00 04 08 0C --------------------------------------------------------------- 000 00B0003C 00000000 00000000 00000000 ...<............ 010 00000000 0000FFFF 00000100 00000000 ................ 020 00000000 00000000 00000000 00000000 ................ 030 00000000 00000000 00000000 00000000 ................ == DONE ============================================================== Sending SCSI command to device. INQUIRY Command: 12 01 b1 00 ff 00 DeviceIoControl SUCCEEDED. SCSI status: 0x00 (GOOD) Sense bytes: 0x00 Data bytes: 0x40 00 04 08 0C --------------------------------------------------------------- 000 00B1003C 00010000 00000000 00000000 ...<............ 010 00000000 00000000 00000000 00000000 ................ 020 00000000 00000000 00000000 00000000 ................ 030 00000000 00000000 00000000 00000000 ................ == DONE ============================================================== Sending SCSI command to device. INQUIRY Command: 12 01 b2 00 ff 00 DeviceIoControl SUCCEEDED. SCSI status: 0x00 (GOOD) Sense bytes: 0x00 Data bytes: 0x8 00 04 08 0C --------------------------------------------------------------- 000 00B20004 00840100 00000000 00000000 ................ == DONE ============================================================== End: Pass, ASSERTION: INQUIRY Testing access to each supported Vital Product Data Page., TUID=, Repro=scsicompliance.exe /device \\.\PhysicalDrive1 /verbosity 4 /scenario NVMe /operation test Policy: REQUIRED Start: ASSERTION: INQUIRY Attempting Unit Serial Number Page 0x80., TUID= Description: Checking if Unit Serial Number Page 0x80 is supported Reference: SCSI Primary Commands - 4 (SPC-4) Revision 30 (or published) specification Section 7.8.15 http://www.t10.org/ftp/t10/drafts/spc4/spc4r30.pdf Expectation: Device returns meaningful data as defined in SCSI-NVME translation document Sending SCSI command to device. INQUIRY Command: 12 01 80 00 ff 00 DeviceIoControl SUCCEEDED. SCSI status: 0x00 (GOOD) Sense bytes: 0x00 Data bytes: 0x18 00 04 08 0C --------------------------------------------------------------- 000 00800014 30303034 5F413333 345F4444 ....0004_A334_DD 010 44385F20 2020202E 00000000 00000000 D8_ ......... == DONE ============================================================== INQUIRY: Unit serial number page is supported. "Peripheral Qualifier" = 0x0 "Peripheral Device Type" = 0x0 "Page Code" = 0x80 Unit serial number is valid ASCII (0004_A334_DDD8_ .). Unit serial number has '_' and '.' at the right positions. End: Pass, ASSERTION: INQUIRY Attempting Unit Serial Number Page 0x80., TUID=, Repro=scsicompliance.exe /device \\.\PhysicalDrive1 /verbosity 4 /scenario NVMe /operation test Policy: REQUIRED Start: ASSERTION: INQUIRY Attempting Device identification Page 0x83., TUID= Description: Checking if Device identification Page 0x83 is supported. Reference: SCSI Primary Commands - 4 (SPC-4) Revision 30 (or published) specification Section 7.8.5 http://www.t10.org/ftp/t10/drafts/spc4/spc4r30.pdf Expectation: ScsiStatus == 0x0. Sending SCSI command to device. INQUIRY Command: 12 01 83 00 ff 00 DeviceIoControl SUCCEEDED. SCSI status: 0x00 (GOOD) Sense bytes: 0x00 Data bytes: 0x18 00 04 08 0C --------------------------------------------------------------- 000 00830014 01020010 00000000 00000000 ................ 010 001517FF FF0AEB84 3847334D 5331544C ........8G3MS1TL == DONE ============================================================== End: Pass, ASSERTION: INQUIRY Attempting Device identification Page 0x83., TUID=, Repro=scsicompliance.exe /device \\.\PhysicalDrive1 /verbosity 4 /scenario NVMe /operation test Policy: REQUIRED Start: ASSERTION: INQUIRY Checking Identification Descriptors in VPD page 0x83., TUID= Description: Checking that Identification Descriptors contain meaningful data. Reference: SCSI Primary Commands - 4 (SPC-4) Revision 30 (or published) specification Section 7.8.5 http://www.t10.org/ftp/t10/drafts/spc4/spc4r30.pdf Expectation: All descriptors are compliant, and contain meaningful data. Identification descriptor 0. Code Set: 0x1 (Binary). Association: 0x0 (Logical Unit). Identifier Type: 0x2 (EUI-64). Identifier Length: 0x10 (16) bytes. Identifier: 0x0000000000000000001517FFFF0AEB84 EUI-64 Device Identifier, checking validity All descriptors are compliant. End: Pass, ASSERTION: INQUIRY Checking Identification Descriptors in VPD page 0x83., TUID=, Repro=scsicompliance.exe /device \\.\PhysicalDrive1 /verbosity 4 /scenario NVMe /operation test Policy: REQUIRED Start: ASSERTION: INQUIRY Checking Block device characteristics VPD page 0xB1., TUID= Description: Checking that Block device characteristics page contain meaningful data. Reference: SCSI Block Commands - 3 (SBC-3) Revision 26 (or published) specification Section 6.5.2 http://www.t10.org/ftp/t10/drafts/sbc3/sbc3r26.pdf Expectation: Device returns meaningful data as defined in SCSI-NVME translation document Sending SCSI command to device. INQUIRY Command: 12 01 b1 00 ff 00 DeviceIoControl SUCCEEDED. SCSI status: 0x00 (GOOD) Sense bytes: 0x00 Data bytes: 0x40 00 04 08 0C --------------------------------------------------------------- 000 00B1003C 00010000 00000000 00000000 ...<............ 010 00000000 00000000 00000000 00000000 ................ 020 00000000 00000000 00000000 00000000 ................ 030 00000000 00000000 00000000 00000000 ................ == DONE ============================================================== INQUIRY: Block Device Characteristics page is supported. "Peripheral Qualifier" = 0x0 "Peripheral Device Type" = 0x0 "Page Code" = 0xb1 "Page Length" = 0x3c Checking Medium Rotation Rate Non-rotating medium (e.g., solid state) Nominal form factor is not reported End: Pass, ASSERTION: INQUIRY Checking Block device characteristics VPD page 0xB1., TUID=, Repro=scsicompliance.exe /device \\.\PhysicalDrive1 /verbosity 4 /scenario NVMe /operation test Policy: REQUIRED Start: ASSERTION: INQUIRY Attempting Block Limits page Page 0xB0., TUID= Description: Checking if Block Limits Page is supported. Reference: Invalid String Expectation: GOOD SCSI status Sending SCSI command to device. INQUIRY Command: 12 01 b0 00 ff 00 DeviceIoControl SUCCEEDED. SCSI status: 0x00 (GOOD) Sense bytes: 0x00 Data bytes: 0x40 00 04 08 0C --------------------------------------------------------------- 000 00B0003C 00000000 00000000 00000000 ...<............ 010 00000000 0000FFFF 00000100 00000000 ................ 020 00000000 00000000 00000000 00000000 ................ 030 00000000 00000000 00000000 00000000 ................ == DONE ============================================================== INQUIRY: Block Limits page is supported. Maximum Compare and Write Length = 0x0 Optimal Transfer Length Granularity = 0x0 Maximum Transfer Length in blocks = 0x0 Optimal Transfer Length = 0x0 Maximum Prefetch XRead XWrite Transfer Length = 0x0 Maximum Unmap LBA Count = 0xFFFF Maximum unmap Block Descriptor Count = 0x100 Optimal Unmap Granularity = 0x0 Unmap Granularity Alignment= 0x80000000 Unmap Granularity Alignment is not valid Validating fields End: Pass, ASSERTION: INQUIRY Attempting Block Limits page Page 0xB0., TUID=, Repro=scsicompliance.exe /device \\.\PhysicalDrive1 /verbosity 4 /scenario NVMe /operation test Policy: IF_IMPLEMENTED Unit test Policy: Test Optional Start: ASSERTION: MODE SELECT (6) Basic Test, TUID= Description: Checking to see if a simple MODE SELECT command, with PF and SP == 0, passes Reference: SCSI Primary Commands - 4 (SPC-4) Revision 30 (or published) specification Section 6.9 http://www.t10.org/ftp/t10/drafts/spc4/spc4r30.pdf Expectation: The device must return GOOD (0x0) SCSI status Rationale: Our Storage stack uses Caching Mode Page to turn on/off the device caching. Therefore the ability to write to mode pages using Mode Select commands is required. Sending SCSI command to device. Mode Select 6 Command: 15 00 00 00 00 00 DeviceIoControl SUCCEEDED. SCSI status: 0x00 (GOOD) Sense bytes: 0x00 Data bytes: 0x0 == DONE ============================================================== End: Pass, ASSERTION: MODE SELECT (6) Basic Test, TUID=, Repro=scsicompliance.exe /device \\.\PhysicalDrive1 /verbosity 4 /scenario NVMe /operation test Policy: IF_IMPLEMENTED Unit test Policy: Test Implemented: CDB was detected to be implemented Start: MODE SELECT 6: MODE SENSE (6) Attempting to get Caching mode page., TUID= Description: Checking to see if a simple MODE SENSE command on Page 0x08 will return GOOD status. Reference: SCSI Primary Commands - 4 (SPC-4) Revision 30 (or published) specification Section 6.9 http://www.t10.org/ftp/t10/drafts/spc4/spc4r30.pdf Expectation: The device must return GOOD (0x0) SCSI status Sending SCSI command to device. Mode Sense 6 Command: 1a 08 08 00 ff 00 DeviceIoControl SUCCEEDED. SCSI status: 0x00 (GOOD) Sense bytes: 0x00 Data bytes: 0x18 00 04 08 0C --------------------------------------------------------------- 000 17000000 08120400 00000000 00000000 ................ 010 00000000 00000000 3847334D 5331544C ........8G3MS1TL == DONE ============================================================== ScsiStatus == 0x0. MODE: Size of MODE CACHING PAGE returned by target: 20 bytes. MODE: Caching mode page information. MODE: Caching.PageCode: 0x8. MODE: Caching.PageSavable: 0x0. MODE: Caching.PageLength: 0x12. MODE: Caching.ReadDisableCache: 0x0. MODE: Caching.MultiplicationFactor: 0x0. MODE: Caching.WriteCacheEnable: 0x1. MODE: Caching.WriteRetensionPriority: 0x0. MODE: Caching.ReadRetensionPriority: 0x0. MODE: Caching.DisablePrefetchTransfer: 0x00. MODE: Caching.MinimumPrefetch: 0x00. MODE: Caching.MaximumPrefetch: 0x00. MODE: Caching.MaximumPrefetchCeiling: 0x00. MODE: Caching.NumberCacheSegments: 0x0. MODE: Caching.CacheSegmentSize: 0x00. End: Pass, MODE SELECT 6: MODE SENSE (6) Attempting to get Caching mode page., TUID=, Repro=scsicompliance.exe /device \\.\PhysicalDrive1 /verbosity 4 /scenario NVMe /operation test Policy: IF_IMPLEMENTED Unit test Policy: Test Optional Start: MODE SELECT 6: MODE SENSE (6) Checking Parameters Savable (PS bit)., TUID= Description: Checking to see if Parameters Savable bit for the Caching Mode Page is 1. Reference: SCSI Primary Commands - 4 (SPC-4) Revision 30 (or published) specification Section 6.9 http://www.t10.org/ftp/t10/drafts/spc4/spc4r30.pdf Expectation: PS == 1. PS = 0. Support for PS=1 is not mandatory Warn: File=testsrc\driverstest\storage\wdk\scsicompliance\lib\core\policyscenario.cpp, Line=195 End: Warn, MODE SELECT 6: MODE SENSE (6) Checking Parameters Savable (PS bit)., TUID=, Repro=scsicompliance.exe /device \\.\PhysicalDrive1 /verbosity 4 /scenario NVMe /operation test Policy: IF_IMPLEMENTED Unit test Policy: Test Implemented: CDB was detected to be implemented Start: MODE SELECT 6: MODE SENSE (6) Checking Mode Parameter Header, TUID= Description: Verify that MediumType == 0 and BlockDescriptorLength == 0. Reference: SCSI Primary Commands - 4 (SPC-4) Revision 30 (or published) specification Section 6.9 http://www.t10.org/ftp/t10/drafts/spc4/spc4r30.pdf Expectation: MediumType == 0x0 and BlockDescriptorLength == 0x0 MODE: ModeDataLength: 0x17. MODE: MediumType: 0x0. MODE: DeviceSpecificParameter: 0x0. MODE: BlockDescriptorLength: 0x0. MediumType == 0x0 and BlockDescriptorLength == 0x0. End: Pass, MODE SELECT 6: MODE SENSE (6) Checking Mode Parameter Header, TUID=, Repro=scsicompliance.exe /device \\.\PhysicalDrive1 /verbosity 4 /scenario NVMe /operation test Policy: IF_IMPLEMENTED Unit test Policy: Test Implemented: CDB was detected to be implemented Start: MODE SELECT 6: MODE SENSE (6) Checking Caching Mode Page Length., TUID= Description: Checking the Caching Mode Page is 20 bytes. Reference: SCSI Primary Commands - 4 (SPC-4) Revision 30 (or published) specification Section 6.9 http://www.t10.org/ftp/t10/drafts/spc4/spc4r30.pdf Expectation: cachePageLength == 20 bytes. MODE: Cache page length is 0x14. End: Pass, MODE SELECT 6: MODE SENSE (6) Checking Caching Mode Page Length., TUID=, Repro=scsicompliance.exe /device \\.\PhysicalDrive1 /verbosity 4 /scenario NVMe /operation test Policy: IF_IMPLEMENTED Unit test Policy: Test Implemented: CDB was detected to be implemented Start: MODE SELECT (6) Changing WCE., TUID= Description: Applying MODE SELECT to WCE=0 for the device. Reference: SCSI Primary Commands - 4 (SPC-4) Revision 30 (or published) specification Section 6.9 http://www.t10.org/ftp/t10/drafts/spc4/spc4r30.pdf Expectation: The device must return GOOD (0x0) SCSI status Test skipped because write cache cant be disabled. End: Pass, MODE SELECT (6) Changing WCE., TUID=, Repro=scsicompliance.exe /device \\.\PhysicalDrive1 /verbosity 4 /scenario NVMe /operation test Policy: IF_IMPLEMENTED Unit test Policy: Test Implemented: CDB was detected to be implemented Start: MODE SELECT 6: MODE SENSE (6) Checking that WCE has been cleared., TUID= Description: Checking that the previous MODE SELECT command actually changed the current mode parameters. Reference: SCSI Primary Commands - 4 (SPC-4) Revision 30 (or published) specification Section 6.9 http://www.t10.org/ftp/t10/drafts/spc4/spc4r30.pdf Expectation: WCE is clear. Test skipped because write cache cant be disabled. End: Pass, MODE SELECT 6: MODE SENSE (6) Checking that WCE has been cleared., TUID=, Repro=scsicompliance.exe /device \\.\PhysicalDrive1 /verbosity 4 /scenario NVMe /operation test Policy: IF_IMPLEMENTED Unit test Policy: Test Implemented: CDB was detected to be implemented Start: MODE SELECT 6: MODE SENSE (6) Checking that Saved Values have changed., TUID= Description: Checking that the previous MODE SELECT command actually changed the saved mode parameters. Reference: SCSI Primary Commands - 4 (SPC-4) Revision 30 (or published) specification Section 6.9 http://www.t10.org/ftp/t10/drafts/spc4/spc4r30.pdf Expectation: Saved values have changed. Test skipped because write cache cant be disabled and page savable is false. End: Pass, MODE SELECT 6: MODE SENSE (6) Checking that Saved Values have changed., TUID=, Repro=scsicompliance.exe /device \\.\PhysicalDrive1 /verbosity 4 /scenario NVMe /operation test Policy: IF_IMPLEMENTED Unit test Policy: Test Implemented: CDB was detected to be implemented Start: MODE SELECT (6) setting WCE, TUID= Description: Applying MODE SELECT to set WCE. Reference: SCSI Primary Commands - 4 (SPC-4) Revision 30 (or published) specification Section 6.9 http://www.t10.org/ftp/t10/drafts/spc4/spc4r30.pdf Expectation: The device must return GOOD (0x0) SCSI status Test skipped because write cache cant be disabled. End: Pass, MODE SELECT (6) setting WCE, TUID=, Repro=scsicompliance.exe /device \\.\PhysicalDrive1 /verbosity 4 /scenario NVMe /operation test Policy: IF_IMPLEMENTED Unit test Policy: Test Implemented: CDB was detected to be implemented Start: MODE SELECT 6: MODE SENSE (6) Checking that WCE has been set., TUID= Description: Checking that the previous MODE SELECT command actually set WCE. Reference: SCSI Primary Commands - 4 (SPC-4) Revision 30 (or published) specification Section 6.9 http://www.t10.org/ftp/t10/drafts/spc4/spc4r30.pdf Expectation: Current values have been set. Test skipped because write cache cant be disabled. End: Pass, MODE SELECT 6: MODE SENSE (6) Checking that WCE has been set., TUID=, Repro=scsicompliance.exe /device \\.\PhysicalDrive1 /verbosity 4 /scenario NVMe /operation test Policy: IF_IMPLEMENTED Unit test Policy: Test Implemented: CDB was detected to be implemented Start: MODE SELECT (6) Attempting to restore original values., TUID= Description: Testing MODE SELECT can return the Caching Mode Page values to their original values. Reference: SCSI Primary Commands - 4 (SPC-4) Revision 30 (or published) specification Section 6.9 http://www.t10.org/ftp/t10/drafts/spc4/spc4r30.pdf Expectation: The device must return GOOD (0x0) SCSI status Test skipped because write cache cant be disabled. End: Pass, MODE SELECT (6) Attempting to restore original values., TUID=, Repro=scsicompliance.exe /device \\.\PhysicalDrive1 /verbosity 4 /scenario NVMe /operation test Policy: IF_IMPLEMENTED Unit test Policy: Test Implemented: CDB was detected to be implemented Start: MODE SELECT 6: MODE SENSE (6) Verifying values were restored., TUID= Description: Checking that the values were restored in the Caching Mode Page. Reference: SCSI Primary Commands - 4 (SPC-4) Revision 30 (or published) specification Section 6.9 http://www.t10.org/ftp/t10/drafts/spc4/spc4r30.pdf Expectation: Current values equal default values. Test skipped because write cache cant be disabled. End: Pass, MODE SELECT 6: MODE SENSE (6) Verifying values were restored., TUID=, Repro=scsicompliance.exe /device \\.\PhysicalDrive1 /verbosity 4 /scenario NVMe /operation test Policy: IF_IMPLEMENTED Unit test Policy: Test Implemented: CDB was detected to be implemented Start: ASSERTION: MODE SENSE (6) Basic Test, TUID= Description: Checking to see if a simple MODE SENSE command on Page 0x3f will return GOOD status Reference: SCSI Primary Commands - 4 (SPC-4) Revision 30 (or published) specification Section 6.11 http://www.t10.org/ftp/t10/drafts/spc4/spc4r30.pdf Expectation: The device must return GOOD (0x0) SCSI status Rationale: Storage stack uses Caching Mode Page to turn on/off the device caching. Therefore the ability to read to mode pages using Mode Sense commands is required. Sending SCSI command to device. Mode Sense 6 Command: 1a 00 3f 00 ff 00 DeviceIoControl SUCCEEDED. SCSI status: 0x00 (GOOD) Sense bytes: 0x00 Data bytes: 0x60 00 04 08 0C --------------------------------------------------------------- 000 5F000008 00FFFFFF 00000200 08120000 _............... 010 00000000 00000000 00000000 00000000 ................ 020 0A0A0612 00400000 FFFF0000 1A260000 .....@.......&.. 030 00000000 00000000 00000000 00000000 ................ 040 00000000 00000000 00000000 00000000 ................ 050 00000400 1C0A0000 00000000 00000000 ................ == DONE ============================================================== End: Pass, ASSERTION: MODE SENSE (6) Basic Test, TUID=, Repro=scsicompliance.exe /device \\.\PhysicalDrive1 /verbosity 4 /scenario NVMe /operation test Policy: IF_IMPLEMENTED Unit test Policy: Test Implemented: CDB was detected to be implemented Start: ASSERTION: MODE SENSE (6) Checking size of returned data., TUID= Description: Checking that we receive a minimum amount of data (i.e. at least the MODE PARAMETER HEADER). Reference: SCSI Primary Commands - 4 (SPC-4) Revision 30 (or published) specification Section 6.11 http://www.t10.org/ftp/t10/drafts/spc4/spc4r30.pdf Expectation: Data Transfer Length >= 4 bytes Data Transfer Length = 96 bytes. End: Pass, ASSERTION: MODE SENSE (6) Checking size of returned data., TUID=, Repro=scsicompliance.exe /device \\.\PhysicalDrive1 /verbosity 4 /scenario NVMe /operation test Policy: IF_IMPLEMENTED Unit test Policy: Test Implemented: CDB was detected to be implemented Start: ASSERTION: MODE SENSE (6) Checking MODE PARAMETER HEADER, TUID= Description: Checking that the MODE PARAMETER HEADER length information is valid. Reference: SCSI Primary Commands - 4 (SPC-4) Revision 30 (or published) specification Section 6.11 http://www.t10.org/ftp/t10/drafts/spc4/spc4r30.pdf Expectation: ModeDataLength = Data Transfer Length - 1 = 95 bytes. ModeDataLength: 0x5f. MediumType: 0x0. DeviceSpecificParameter: 0x0. BlockDescriptorLength: 0x8. ModeDataLength == 95 bytes. End: Pass, ASSERTION: MODE SENSE (6) Checking MODE PARAMETER HEADER, TUID=, Repro=scsicompliance.exe /device \\.\PhysicalDrive1 /verbosity 4 /scenario NVMe /operation test Policy: IF_IMPLEMENTED Unit test Policy: Test Implemented: CDB was detected to be implemented Start: MODE SENSE (6) Test DBD (disable block descriptors) bit., TUID= Description: Testing to make sure that, when DBD bit is set, no block descriptors are returned. Reference: SCSI Primary Commands - 4 (SPC-4) Revision 30 (or published) specification Section 6.11 http://www.t10.org/ftp/t10/drafts/spc4/spc4r30.pdf Expectation: Block Descriptor Length = 0 Sending SCSI command to device. Mode Sense 6 Command: 1a 08 3f 00 ff 00 DeviceIoControl SUCCEEDED. SCSI status: 0x00 (GOOD) Sense bytes: 0x00 Data bytes: 0x58 00 04 08 0C --------------------------------------------------------------- 000 57000000 08120000 00000000 00000000 W............... 010 00000000 00000000 0A0A0612 00400000 .............@.. 020 FFFF0000 1A260000 00000000 00000000 .....&.......... 030 00000000 00000000 00000000 00000000 ................ 040 00000000 00000000 00000400 1C0A0000 ................ 050 00000000 00000000 00000000 00000000 ................ == DONE ============================================================== Response: Block Descriptor Length == 0. End: Pass, MODE SENSE (6) Test DBD (disable block descriptors) bit., TUID=, Repro=scsicompliance.exe /device \\.\PhysicalDrive1 /verbosity 4 /scenario NVMe /operation test Policy: IF_IMPLEMENTED Unit test Policy: Test Implemented: CDB was detected to be implemented Start: MODE SENSE (6) Testing new data length when DBD bit is set., TUID= Description: Testing that new data length should equal old data length minus block descriptor length. Reference: SCSI Primary Commands - 4 (SPC-4) Revision 30 (or published) specification Section 6.11 http://www.t10.org/ftp/t10/drafts/spc4/spc4r30.pdf Expectation: New Data Length = Old Data Length New Data Length == 87. Old Data Length - Block Descriptor Length == 87. New: 87, Old: 87. End: Pass, MODE SENSE (6) Testing new data length when DBD bit is set., TUID=, Repro=scsicompliance.exe /device \\.\PhysicalDrive1 /verbosity 4 /scenario NVMe /operation test Policy: IF_IMPLEMENTED Unit test Policy: Test Implemented: CDB was detected to be implemented Start: MODE SENSE (6) Comparing MODE PAGE data before and after DBD bit is set, TUID= Description: Testing that page data is the same before and after DBD bit is set. Reference: SCSI Primary Commands - 4 (SPC-4) Revision 30 (or published) specification Section 6.11 http://www.t10.org/ftp/t10/drafts/spc4/spc4r30.pdf Expectation: Page data will match Comparing 84 bytes of data Comparing 0x8 with 0x8. Comparing 0x12 with 0x12. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0xa with 0xa. Comparing 0xa with 0xa. Comparing 0x6 with 0x6. Comparing 0x12 with 0x12. Comparing 0x0 with 0x0. Comparing 0x40 with 0x40. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0xff with 0xff. Comparing 0xff with 0xff. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x1a with 0x1a. Comparing 0x26 with 0x26. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x4 with 0x4. Comparing 0x0 with 0x0. Comparing 0x1c with 0x1c. Comparing 0xa with 0xa. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Data matches. End: Pass, MODE SENSE (6) Comparing MODE PAGE data before and after DBD bit is set, TUID=, Repro=scsicompliance.exe /device \\.\PhysicalDrive1 /verbosity 4 /scenario NVMe /operation test Policy: IF_IMPLEMENTED Unit test Policy: Test Implemented: CDB was detected to be implemented Start: MODE SENSE (6) Testing Page Control Field, TUID= Description: Testing different values of the Page control field, and enforcing the size of the data returned. Reference: SCSI Primary Commands - 4 (SPC-4) Revision 30 (or published) specification Section 6.11 http://www.t10.org/ftp/t10/drafts/spc4/spc4r30.pdf Expectation: Data length for each value of PC is correct. Sending SCSI command to device. Mode Sense 6 Command: 1a 00 7f 00 ff 00 DeviceIoControl SUCCEEDED. SCSI status: 0x00 (GOOD) Sense bytes: 0x00 Data bytes: 0x60 00 04 08 0C --------------------------------------------------------------- 000 5F000008 00FFFFFF 00000200 08120000 _............... 010 00000000 00000000 00000000 00000000 ................ 020 0A0A0612 00400000 FFFF0000 1A260000 .....@.......&.. 030 00000000 00000000 00000000 00000000 ................ 040 00000000 00000000 00000000 00000000 ................ 050 00000400 1C0A0000 00000000 00000000 ................ == DONE ============================================================== Sending SCSI command to device. Mode Sense 6 Command: 1a 00 bf 00 ff 00 DeviceIoControl SUCCEEDED. SCSI status: 0x00 (GOOD) Sense bytes: 0x00 Data bytes: 0x60 00 04 08 0C --------------------------------------------------------------- 000 5F000008 00FFFFFF 00000200 08120000 _............... 010 00000000 00000000 00000000 00000000 ................ 020 0A0A0612 00400000 FFFF0000 1A260000 .....@.......&.. 030 00000000 00000000 00000000 00000000 ................ 040 00000000 00000000 00000000 00000000 ................ 050 00000400 1C0A0000 00000000 00000000 ................ == DONE ============================================================== Sending SCSI command to device. Mode Sense 6 Command: 1a 00 ff 00 ff 00 DeviceIoControl SUCCEEDED. SCSI status: 0x02 (CHECK CONDITION) Sense bytes: 0x00 Data bytes: 0xff == DONE ============================================================== MODE SENSE returned SCSI status of 0x2 for PC = 0x3. Saved Parameters are not supported. Sending SCSI command to device. Mode Sense 6 Command: 1a 00 3f 00 ff 00 DeviceIoControl SUCCEEDED. SCSI status: 0x00 (GOOD) Sense bytes: 0x00 Data bytes: 0x60 00 04 08 0C --------------------------------------------------------------- 000 5F000008 00FFFFFF 00000200 08120000 _............... 010 00000000 00000000 00000000 00000000 ................ 020 0A0A0612 00400000 FFFF0000 1A260000 .....@.......&.. 030 00000000 00000000 00000000 00000000 ................ 040 00000000 00000000 00000000 00000000 ................ 050 00000400 1C0A0000 00000000 00000000 ................ == DONE ============================================================== All data length tests passed. End: Pass, MODE SENSE (6) Testing Page Control Field, TUID=, Repro=scsicompliance.exe /device \\.\PhysicalDrive1 /verbosity 4 /scenario NVMe /operation test Policy: IF_IMPLEMENTED Unit test Policy: Test Implemented: CDB was detected to be implemented Start: MODE SENSE (6) Scanning All Mode Pages., TUID= Description: Checking Mode Page 0x3f data to examine supported mode pages. Reference: SCSI Primary Commands - 4 (SPC-4) Revision 30 (or published) specification Section 6.11 http://www.t10.org/ftp/t10/drafts/spc4/spc4r30.pdf Expectation: To find supported mode pages: Information exception control mode page and Caching mode page. Found Mode Page 0x8, PS = 0, Length = 18. Caching mode page is supported. Found Mode Page 0xa, PS = 0, Length = 10. Control mode page is supported. Found Mode Page 0x1a, PS = 0, Length = 38. Power Condition mode page is supported. Found Mode Page 0x1c, PS = 0, Length = 10. Informational Exception mode page is supported. Enumerated several pages.. End: Pass, MODE SENSE (6) Scanning All Mode Pages., TUID=, Repro=scsicompliance.exe /device \\.\PhysicalDrive1 /verbosity 4 /scenario NVMe /operation test Policy: IF_IMPLEMENTED Unit test Policy: Test Implemented: CDB was detected to be implemented Start: MODE SENSE (6) Ensuring mandatory mode pages are supported, TUID= Description: Checking that required mode pages are present in MODE PAGE 0x3f Reference: SCSI Primary Commands - 4 (SPC-4) Revision 30 (or published) specification Section 6.11 http://www.t10.org/ftp/t10/drafts/spc4/spc4r30.pdf Expectation: Caching and Informational Exception pages are supported, at a minimum along with other necessary pages Caching page is supported. End: Pass, MODE SENSE (6) Ensuring mandatory mode pages are supported, TUID=, Repro=scsicompliance.exe /device \\.\PhysicalDrive1 /verbosity 4 /scenario NVMe /operation test Policy: IF_IMPLEMENTED Unit test Policy: Test Optional Start: MODE SENSE (6) Checking Individual Mode Pages, TUID= Description: Testing to ensure we can access each individual mode page, and that the paremeters are correct Reference: SCSI Primary Commands - 4 (SPC-4) Revision 30 (or published) specification Section 6.11 http://www.t10.org/ftp/t10/drafts/spc4/spc4r30.pdf Expectation: Pages should be returned and the headers should be compliant Checking additional parameters of Mode Page 0x8. Sending SCSI command to device. Mode Sense 6 Command: 1a 00 08 00 ff 00 DeviceIoControl SUCCEEDED. SCSI status: 0x00 (GOOD) Sense bytes: 0x00 Data bytes: 0x20 00 04 08 0C --------------------------------------------------------------- 000 1F000008 00FFFFFF 00000200 08120400 ................ 010 00000000 00000000 00000000 00000000 ................ == DONE ============================================================== Sending SCSI command to device. Mode Sense 6 Command: 1a 08 08 00 ff 00 DeviceIoControl SUCCEEDED. SCSI status: 0x00 (GOOD) Sense bytes: 0x00 Data bytes: 0x18 00 04 08 0C --------------------------------------------------------------- 000 17000000 08120400 00000000 00000000 ................ 010 00000000 00000000 00000000 00000000 ................ == DONE ============================================================== Comparing 0x14 bytes Comparing 0x8 with 0x8. Comparing 0x12 with 0x12. Comparing 0x4 with 0x4. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Sending SCSI command to device. Mode Sense 6 Command: 1a 00 48 00 ff 00 DeviceIoControl SUCCEEDED. SCSI status: 0x00 (GOOD) Sense bytes: 0x00 Data bytes: 0x20 00 04 08 0C --------------------------------------------------------------- 000 1F000008 00FFFFFF 00000200 08120400 ................ 010 00000000 00000000 00000000 00000000 ................ == DONE ============================================================== Sending SCSI command to device. Mode Sense 6 Command: 1a 00 88 00 ff 00 DeviceIoControl SUCCEEDED. SCSI status: 0x00 (GOOD) Sense bytes: 0x00 Data bytes: 0x20 00 04 08 0C --------------------------------------------------------------- 000 1F000008 00FFFFFF 00000200 08120400 ................ 010 00000000 00000000 00000000 00000000 ................ == DONE ============================================================== Sending SCSI command to device. Mode Sense 6 Command: 1a 00 c8 00 ff 00 DeviceIoControl SUCCEEDED. SCSI status: 0x02 (CHECK CONDITION) Sense bytes: 0x12 Data bytes: 0x0 Sense Info ------------------------------------------------------------- ErrorCode: 0x70 Valid: 0x0 SenseKey: 0x5 IncorrectLength: 0x0 EndOfMedia: 0x0 FileMark: 0x0 Information: 0x0 0 0 0 AdditionalSenseLength: 0xa CommandSpecificInformation: 0x0 0 0 0 AdditionalSenseCode: 0x20 AdditionalSenseCodeQualifier: 0x0 FieldReplaceableUnitCode: 0x0 SenseKeySpecific: 0x0 0 0 == DONE ============================================================== MODE SENSE returned SCSI status of 0x2 for page 0x8. Checking additional parameters of Mode Page 0xa. Sending SCSI command to device. Mode Sense 6 Command: 1a 00 0a 00 ff 00 DeviceIoControl SUCCEEDED. SCSI status: 0x00 (GOOD) Sense bytes: 0x00 Data bytes: 0x18 00 04 08 0C --------------------------------------------------------------- 000 17000008 00FFFFFF 00000200 0A0A0612 ................ 010 00400000 FFFF0000 00000000 00000000 .@.............. == DONE ============================================================== Sending SCSI command to device. Mode Sense 6 Command: 1a 08 0a 00 ff 00 DeviceIoControl SUCCEEDED. SCSI status: 0x00 (GOOD) Sense bytes: 0x00 Data bytes: 0x10 00 04 08 0C --------------------------------------------------------------- 000 0F000000 0A0A0612 00400000 FFFF0000 .........@...... == DONE ============================================================== Comparing 0xc bytes Comparing 0xa with 0xa. Comparing 0xa with 0xa. Comparing 0x6 with 0x6. Comparing 0x12 with 0x12. Comparing 0x0 with 0x0. Comparing 0x40 with 0x40. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0xff with 0xff. Comparing 0xff with 0xff. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Sending SCSI command to device. Mode Sense 6 Command: 1a 00 4a 00 ff 00 DeviceIoControl SUCCEEDED. SCSI status: 0x00 (GOOD) Sense bytes: 0x00 Data bytes: 0x18 00 04 08 0C --------------------------------------------------------------- 000 17000008 00FFFFFF 00000200 0A0A0612 ................ 010 00400000 FFFF0000 00000000 00000000 .@.............. == DONE ============================================================== Sending SCSI command to device. Mode Sense 6 Command: 1a 00 8a 00 ff 00 DeviceIoControl SUCCEEDED. SCSI status: 0x00 (GOOD) Sense bytes: 0x00 Data bytes: 0x18 00 04 08 0C --------------------------------------------------------------- 000 17000008 00FFFFFF 00000200 0A0A0612 ................ 010 00400000 FFFF0000 00000000 00000000 .@.............. == DONE ============================================================== Sending SCSI command to device. Mode Sense 6 Command: 1a 00 ca 00 ff 00 DeviceIoControl SUCCEEDED. SCSI status: 0x02 (CHECK CONDITION) Sense bytes: 0x12 Data bytes: 0x0 Sense Info ------------------------------------------------------------- ErrorCode: 0x70 Valid: 0x0 SenseKey: 0x5 IncorrectLength: 0x0 EndOfMedia: 0x0 FileMark: 0x0 Information: 0x0 0 0 0 AdditionalSenseLength: 0xa CommandSpecificInformation: 0x0 0 0 0 AdditionalSenseCode: 0x20 AdditionalSenseCodeQualifier: 0x0 FieldReplaceableUnitCode: 0x0 SenseKeySpecific: 0x0 0 0 == DONE ============================================================== MODE SENSE returned SCSI status of 0x2 for page 0xa. Checking additional parameters of Mode Page 0x1a. Sending SCSI command to device. Mode Sense 6 Command: 1a 00 1a 00 ff 00 DeviceIoControl SUCCEEDED. SCSI status: 0x00 (GOOD) Sense bytes: 0x00 Data bytes: 0x34 00 04 08 0C --------------------------------------------------------------- 000 33000008 00FFFFFF 00000200 1A260000 3............&.. 010 00000000 00000000 00000000 00000000 ................ 020 00000000 00000000 00000000 00000000 ................ 030 00000000 00000000 00000000 00000000 ................ == DONE ============================================================== Sending SCSI command to device. Mode Sense 6 Command: 1a 08 1a 00 ff 00 DeviceIoControl SUCCEEDED. SCSI status: 0x00 (GOOD) Sense bytes: 0x00 Data bytes: 0x2c 00 04 08 0C --------------------------------------------------------------- 000 2B000000 1A260000 00000000 00000000 +....&.......... 010 00000000 00000000 00000000 00000000 ................ 020 00000000 00000000 00000000 00000000 ................ == DONE ============================================================== Comparing 0x28 bytes Comparing 0x1a with 0x1a. Comparing 0x26 with 0x26. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Sending SCSI command to device. Mode Sense 6 Command: 1a 00 5a 00 ff 00 DeviceIoControl SUCCEEDED. SCSI status: 0x00 (GOOD) Sense bytes: 0x00 Data bytes: 0x34 00 04 08 0C --------------------------------------------------------------- 000 33000008 00FFFFFF 00000200 1A260000 3............&.. 010 00000000 00000000 00000000 00000000 ................ 020 00000000 00000000 00000000 00000000 ................ 030 00000000 00000000 00000000 00000000 ................ == DONE ============================================================== Sending SCSI command to device. Mode Sense 6 Command: 1a 00 9a 00 ff 00 DeviceIoControl SUCCEEDED. SCSI status: 0x00 (GOOD) Sense bytes: 0x00 Data bytes: 0x34 00 04 08 0C --------------------------------------------------------------- 000 33000008 00FFFFFF 00000200 1A260000 3............&.. 010 00000000 00000000 00000000 00000000 ................ 020 00000000 00000000 00000000 00000000 ................ 030 00000000 00000000 00000000 00000000 ................ == DONE ============================================================== Sending SCSI command to device. Mode Sense 6 Command: 1a 00 da 00 ff 00 DeviceIoControl SUCCEEDED. SCSI status: 0x02 (CHECK CONDITION) Sense bytes: 0x12 Data bytes: 0x0 Sense Info ------------------------------------------------------------- ErrorCode: 0x70 Valid: 0x0 SenseKey: 0x5 IncorrectLength: 0x0 EndOfMedia: 0x0 FileMark: 0x0 Information: 0x0 0 0 0 AdditionalSenseLength: 0xa CommandSpecificInformation: 0x0 0 0 0 AdditionalSenseCode: 0x20 AdditionalSenseCodeQualifier: 0x0 FieldReplaceableUnitCode: 0x0 SenseKeySpecific: 0x0 0 0 == DONE ============================================================== MODE SENSE returned SCSI status of 0x2 for page 0x1a. Checking additional parameters of Mode Page 0x1c. Sending SCSI command to device. Mode Sense 6 Command: 1a 00 1c 00 ff 00 DeviceIoControl SUCCEEDED. SCSI status: 0x00 (GOOD) Sense bytes: 0x00 Data bytes: 0x18 00 04 08 0C --------------------------------------------------------------- 000 17000008 00FFFFFF 00000200 1C0A0000 ................ 010 00000000 00000000 00000000 00000000 ................ == DONE ============================================================== Sending SCSI command to device. Mode Sense 6 Command: 1a 08 1c 00 ff 00 DeviceIoControl SUCCEEDED. SCSI status: 0x00 (GOOD) Sense bytes: 0x00 Data bytes: 0x10 00 04 08 0C --------------------------------------------------------------- 000 0F000000 1C0A0000 00000000 00000000 ................ == DONE ============================================================== Comparing 0xc bytes Comparing 0x1c with 0x1c. Comparing 0xa with 0xa. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Comparing 0x0 with 0x0. Sending SCSI command to device. Mode Sense 6 Command: 1a 00 5c 00 ff 00 DeviceIoControl SUCCEEDED. SCSI status: 0x00 (GOOD) Sense bytes: 0x00 Data bytes: 0x18 00 04 08 0C --------------------------------------------------------------- 000 17000008 00FFFFFF 00000200 1C0A0000 ................ 010 00000000 00000000 00000000 00000000 ................ == DONE ============================================================== Sending SCSI command to device. Mode Sense 6 Command: 1a 00 9c 00 ff 00 DeviceIoControl SUCCEEDED. SCSI status: 0x00 (GOOD) Sense bytes: 0x00 Data bytes: 0x18 00 04 08 0C --------------------------------------------------------------- 000 17000008 00FFFFFF 00000200 1C0A0000 ................ 010 00000000 00000000 00000000 00000000 ................ == DONE ============================================================== Sending SCSI command to device. Mode Sense 6 Command: 1a 00 dc 00 ff 00 DeviceIoControl SUCCEEDED. SCSI status: 0x02 (CHECK CONDITION) Sense bytes: 0x12 Data bytes: 0x0 Sense Info ------------------------------------------------------------- ErrorCode: 0x70 Valid: 0x0 SenseKey: 0x5 IncorrectLength: 0x0 EndOfMedia: 0x0 FileMark: 0x0 Information: 0x0 0 0 0 AdditionalSenseLength: 0xa CommandSpecificInformation: 0x0 0 0 0 AdditionalSenseCode: 0x20 AdditionalSenseCodeQualifier: 0x0 FieldReplaceableUnitCode: 0x0 SenseKeySpecific: 0x0 0 0 == DONE ============================================================== MODE SENSE returned SCSI status of 0x2 for page 0x1c. All mode pages are retrievable and compliant. End: Pass, MODE SENSE (6) Checking Individual Mode Pages, TUID=, Repro=scsicompliance.exe /device \\.\PhysicalDrive1 /verbosity 4 /scenario NVMe /operation test Policy: IF_IMPLEMENTED Unit test Policy: Test Implemented: CDB was detected to be implemented Start: MODE SENSE (6) Checking Caching Mode Page., TUID= Description: Ensuring Caching Mode Page is compliant. Reference: SCSI Primary Commands - 4 (SPC-4) Revision 30 (or published) specification Section 6.11 http://www.t10.org/ftp/t10/drafts/spc4/spc4r30.pdf Expectation: Caching Mode Page is supported. Sending SCSI command to device. Mode Sense 6 Command: 1a 08 08 00 ff 00 DeviceIoControl SUCCEEDED. SCSI status: 0x00 (GOOD) Sense bytes: 0x00 Data bytes: 0x18 00 04 08 0C --------------------------------------------------------------- 000 17000000 08120400 00000000 00000000 ................ 010 00000000 00000000 00000000 00000000 ................ == DONE ============================================================== Caching.PageCode: 0x8. Caching.PageSavable: 0x0. Caching.PageLength: 0x12. Caching.ReadDisableCache: 0x0. Caching.MultiplicationFactor: 0x0. Caching.WriteCacheEnable: 0x1. Caching.WriteRetensionPriority: 0x0. Caching.ReadRetensionPriority: 0x0. Caching Mode Page is supported. End: Pass, MODE SENSE (6) Checking Caching Mode Page., TUID=, Repro=scsicompliance.exe /device \\.\PhysicalDrive1 /verbosity 4 /scenario NVMe /operation test Policy: IF_IMPLEMENTED Unit test Policy: Test Implemented: CDB was detected to be implemented Start: MODE SENSE (6) Checking Device Specific Parameters, TUID= Description: This tests to see if the Device specific parameters are supported. Reference: SCSI Primary Commands - 4 (SPC-4) Revision 30 (or published) specification Section 6.11 http://www.t10.org/ftp/t10/drafts/spc4/spc4r30.pdf Expectation: Nothing. Displaying Device specific parameters. WP is 0x0. DPOFUA is 0x1. End: Pass, MODE SENSE (6) Checking Device Specific Parameters, TUID=, Repro=scsicompliance.exe /device \\.\PhysicalDrive1 /verbosity 4 /scenario NVMe /operation test Policy: REQUIRED Start: ASSERTION: READ CAPACITY (10) Basic Verification Test, TUID= Description: The device must return GOOD (0x0) SCSI status and 8 bytes of parameter data describing the capacity and medium format of the block device to the data-in buffer. Reference: SCSI Block Commands - 3 (SBC-3) Revision 26 (or published) specification Section 5.15 http://www.t10.org/ftp/t10/drafts/sbc3/sbc3r26.pdf Expectation: The device must return GOOD (0x0) SCSI status Rationale: This command is required for formatting operations and initialization. Sending READ CAPACITY (10) command with PMT and LOGICAL BLOCK ADDRESS field set to zero (25 00 00 00 00 00 00 00 00 00) to device... Sending SCSI command to device. Read Capacity 10 Command: 25 00 00 00 00 00 00 00 00 00 DeviceIoControl SUCCEEDED. SCSI status: 0x00 (GOOD) Sense bytes: 0x00 Data bytes: 0x8 00 04 08 0C --------------------------------------------------------------- 000 5B84FFFF 00000200 00000000 00000000 [............... == DONE ============================================================== SCSI status is 0x0. LOGICAL BLOCK ADDRESS: 1535442943 BLOCK LENGTH IN BYTES: 512 End: Pass, ASSERTION: READ CAPACITY (10) Basic Verification Test, TUID=, Repro=scsicompliance.exe /device \\.\PhysicalDrive1 /verbosity 4 /scenario NVMe /operation test Policy: REQUIRED Start: ASSERTION: READ (10) Basic Functionality Test, TUID= Description: The command reads the first two blocks of data correctly.This test sends two READ commands reading two different but overlapped blocks of data. Then, it compares the overlapped data. It returns true if the overlapped data is the same between the read operations (implying that the two commands read the same data correctly). Reference: SCSI Block Commands - 3 (SBC-3) Revision 26 (or published) specification Section 5.11 http://www.t10.org/ftp/t10/drafts/sbc3/sbc3r26.pdf Expectation: Scsi Status == 0x0. Rationale: Used to Read data from device. End: Pass, ASSERTION: READ (10) Basic Functionality Test, TUID=, Repro=scsicompliance.exe /device \\.\PhysicalDrive1 /verbosity 4 /scenario NVMe /operation test Policy: REQUIRED Start: ASSERTION: READ (10) Sequential Read Test, TUID= Description: The command reads 1000 sequential blocks of data correctly.This test sends the command 1000 times, reading data sequentially starting at a random logical block address. Reference: SCSI Block Commands - 3 (SBC-3) Revision 26 (or published) specification Section 5.11 http://www.t10.org/ftp/t10/drafts/sbc3/sbc3r26.pdf Expectation: All READ (10) commands succeed. End: Pass, ASSERTION: READ (10) Sequential Read Test, TUID=, Repro=scsicompliance.exe /device \\.\PhysicalDrive1 /verbosity 4 /scenario NVMe /operation test Policy: REQUIRED Start: ASSERTION: READ (10) Random Read Test, TUID= Description: The command reads 1000 random blocks of data correctly.This test sends the command 1000 times, reading data at random logical block address. Reference: SCSI Block Commands - 3 (SBC-3) Revision 26 (or published) specification Section 5.11 http://www.t10.org/ftp/t10/drafts/sbc3/sbc3r26.pdf Expectation: All READ (10) commands succeed. ulMaxLBA is 5b84ffff End: Pass, ASSERTION: READ (10) Random Read Test, TUID=, Repro=scsicompliance.exe /device \\.\PhysicalDrive1 /verbosity 4 /scenario NVMe /operation test Policy: REQUIRED Start: ASSERTION: READ (10) Read-With-Disk-Cache-Cleared Test, TUID= Description: The command reads 12 MB of data correctly with disk cache cleared.This test first reads 12 MB sequential data for later verification. Then, it clears the disk cache by reading 12 MB random data. Finally, it reads the same 12 MB sequential data to see if the data is same as the one in first read. Reference: SCSI Block Commands - 3 (SBC-3) Revision 26 (or published) specification Section 5.11 http://www.t10.org/ftp/t10/drafts/sbc3/sbc3r26.pdf Expectation: The 12 MB data read after cache cleared is correct. End: Pass, ASSERTION: READ (10) Read-With-Disk-Cache-Cleared Test, TUID=, Repro=scsicompliance.exe /device \\.\PhysicalDrive1 /verbosity 4 /scenario NVMe /operation test Policy: REQUIRED Start: ASSERTION: WRITE (10) Basic Functionality Test, TUID= Description: The command writes one block of data to device correctly.This test compares the data we want to write and the one returned by the READ after the write operation. If the data is the same, this implies that the WRITE command writes the data to disk correctly. Reference: SCSI Block Commands - 3 (SBC-3) Revision 26 (or published) specification Section 5.32 http://www.t10.org/ftp/t10/drafts/sbc3/sbc3r26.pdf Expectation: ScsiStatus == 0x0. Rationale: Used to write data to device. End: Pass, ASSERTION: WRITE (10) Basic Functionality Test, TUID=, Repro=scsicompliance.exe /device \\.\PhysicalDrive1 /verbosity 4 /scenario NVMe /operation test Policy: REQUIRED Start: ASSERTION: WRITE (10) Sequential Write Test, TUID= Description: The command writes 1000 sequential blocks of data correctly.This test sends the command 1000 times, writing data sequentially starting at a random logical block address. Reference: SCSI Block Commands - 3 (SBC-3) Revision 26 (or published) specification Section 5.32 http://www.t10.org/ftp/t10/drafts/sbc3/sbc3r26.pdf Expectation: All WRITE (10) commands succeed. Sending WRITE (10) command (0x2A) 1000 times, writing sequentially from logical block address 3629273... End: Pass, ASSERTION: WRITE (10) Sequential Write Test, TUID=, Repro=scsicompliance.exe /device \\.\PhysicalDrive1 /verbosity 4 /scenario NVMe /operation test Policy: REQUIRED Start: ASSERTION: WRITE (10) Random Write Test, TUID= Description: The command writes 1000 random blocks of data correctly.This test sends the WRITE command 1000 times, writing data at random logical block address. Reference: SCSI Block Commands - 3 (SBC-3) Revision 26 (or published) specification Section 5.32 http://www.t10.org/ftp/t10/drafts/sbc3/sbc3r26.pdf Expectation: All WRITE (10) commands succeed. Sending WRITE (10) command (0x2A) 1000 times... End: Pass, ASSERTION: WRITE (10) Random Write Test, TUID=, Repro=scsicompliance.exe /device \\.\PhysicalDrive1 /verbosity 4 /scenario NVMe /operation test Policy: REQUIRED Start: ASSERTION: WRITE (10) Write-With-Disk-Cache-Disabled Test, TUID= Description: The command writes 12 MB of data correctly with cache disabled.This test writes 12 MB of data to disk. Then, it reads the same 12 MB data that has just been written to verify that the data we just write are correct. Reference: SCSI Block Commands - 3 (SBC-3) Revision 26 (or published) specification Section 5.32 http://www.t10.org/ftp/t10/drafts/sbc3/sbc3r26.pdf Expectation: The 12 MB data are written correctly. Sending SCSI command to device. Mode Sense 6 Command: 1a 08 08 00 ff 00 DeviceIoControl SUCCEEDED. SCSI status: 0x00 (GOOD) Sense bytes: 0x00 Data bytes: 0x18 00 04 08 0C --------------------------------------------------------------- 000 17000000 08120400 00000000 00000000 ................ 010 00000000 00000000 00000000 00000000 ................ == DONE ============================================================== Sending SCSI command to device. Mode Sense 6 Command: 1a 08 48 00 ff 00 DeviceIoControl SUCCEEDED. SCSI status: 0x00 (GOOD) Sense bytes: 0x00 Data bytes: 0x18 00 04 08 0C --------------------------------------------------------------- 000 17000000 08120400 00000000 00000000 ................ 010 00000000 00000000 00000000 00000000 ................ == DONE ============================================================== WRITE: Write Cache setting is changeable. Sending SCSI command to device. Mode Select 6 Command: 15 11 00 00 18 00 DeviceIoControl SUCCEEDED. SCSI status: 0x00 (GOOD) Sense bytes: 0x00 Data bytes: 0x18 00 04 08 0C --------------------------------------------------------------- 000 00000000 08120000 00000000 00000000 ................ 010 00000000 00000000 00000000 00000000 ................ == DONE ============================================================== Sending SCSI command to device. Mode Sense 6 Command: 1a 08 08 00 ff 00 DeviceIoControl SUCCEEDED. SCSI status: 0x00 (GOOD) Sense bytes: 0x00 Data bytes: 0x18 00 04 08 0C --------------------------------------------------------------- 000 17000000 08120000 00000000 00000000 ................ 010 00000000 00000000 00000000 00000000 ................ == DONE ============================================================== WRITE: WriteCacheSetting currently: 0x0. WRITE: Write Cache setting was succesfully changed. Writing 16 KB data sequentially to disk... Reading 16 KB data sequentially to disk... End: Pass, ASSERTION: WRITE (10) Write-With-Disk-Cache-Disabled Test, TUID=, Repro=scsicompliance.exe /device \\.\PhysicalDrive1 /verbosity 4 /scenario NVMe /operation test Policy: REQUIRED Start: ASSERTION: WRITE (10) Write-With-Disk-Cache-Enabled Test, TUID= Description: The command writes 12 MB of data correctly with cache enabled.This test writes 12 MB of data to disk. Then, it sends a SYNCHRONIZE CACHE (10) command to synchronize the logical block address in cache with the ones in disk. Finally, it will read the same 12 MB data that has just been written to verify that the data we just write are correct. Reference: SCSI Block Commands - 3 (SBC-3) Revision 26 (or published) specification Section 5.32 http://www.t10.org/ftp/t10/drafts/sbc3/sbc3r26.pdf Expectation: The 12 MB data are written correctly. Sending SCSI command to device. Mode Sense 6 Command: 1a 08 08 00 ff 00 DeviceIoControl SUCCEEDED. SCSI status: 0x00 (GOOD) Sense bytes: 0x00 Data bytes: 0x18 00 04 08 0C --------------------------------------------------------------- 000 17000000 08120000 00000000 00000000 ................ 010 00000000 00000000 00000000 00000000 ................ == DONE ============================================================== Sending SCSI command to device. Mode Sense 6 Command: 1a 08 48 00 ff 00 DeviceIoControl SUCCEEDED. SCSI status: 0x00 (GOOD) Sense bytes: 0x00 Data bytes: 0x18 00 04 08 0C --------------------------------------------------------------- 000 17000000 08120000 00000000 00000000 ................ 010 00000000 00000000 00000000 00000000 ................ == DONE ============================================================== Sense data indicates Write Cache setting is not changeable. Attempting anyways. Sending SCSI command to device. Mode Select 6 Command: 15 11 00 00 18 00 DeviceIoControl SUCCEEDED. SCSI status: 0x00 (GOOD) Sense bytes: 0x00 Data bytes: 0x18 00 04 08 0C --------------------------------------------------------------- 000 00000000 08120400 00000000 00000000 ................ 010 00000000 00000000 00000000 00000000 ................ == DONE ============================================================== Sending SCSI command to device. Mode Sense 6 Command: 1a 08 08 00 ff 00 DeviceIoControl SUCCEEDED. SCSI status: 0x00 (GOOD) Sense bytes: 0x00 Data bytes: 0x18 00 04 08 0C --------------------------------------------------------------- 000 17000000 08120400 00000000 00000000 ................ 010 00000000 00000000 00000000 00000000 ................ == DONE ============================================================== WRITE: WriteCacheSetting currently: 0x1. WRITE: Write Cache setting was succesfully changed. Writing 16 KB data sequentially to disk... Synchronize the data in cache with one in disk Sending SYNCHRONIZE CACHE (10) (0x35) command... Sending SCSI command to device. SYNCHRONIZE CACHE Command: 35 00 00 00 00 00 00 00 00 00 DeviceIoControl SUCCEEDED. SCSI status: 0x00 (GOOD) Sense bytes: 0x00 Data bytes: 0x0 == DONE ============================================================== Reading 16 KB data sequentially to disk... End: Pass, ASSERTION: WRITE (10) Write-With-Disk-Cache-Enabled Test, TUID=, Repro=scsicompliance.exe /device \\.\PhysicalDrive1 /verbosity 4 /scenario NVMe /operation test Policy: REQUIRED Start: ASSERTION: WRITE (10) FUA Test, TUID= Description: The command writes data to disk correctly with cache and FUA (Force Unit Access) on. Reference: SCSI Block Commands - 3 (SBC-3) Revision 26 (or published) specification Section 5.32 http://www.t10.org/ftp/t10/drafts/sbc3/sbc3r26.pdf Expectation: Data is written correctly to disk with FUA on. Checksums of all WRITE (10) are correct. Sending SCSI command to device. Mode Sense 6 Command: 1a 08 08 00 ff 00 DeviceIoControl SUCCEEDED. SCSI status: 0x00 (GOOD) Sense bytes: 0x00 Data bytes: 0x18 00 04 08 0C --------------------------------------------------------------- 000 17000000 08120400 00000000 00000000 ................ 010 00000000 00000000 00000000 00000000 ................ == DONE ============================================================== Sending SCSI command to device. Mode Sense 6 Command: 1a 08 48 00 ff 00 DeviceIoControl SUCCEEDED. SCSI status: 0x00 (GOOD) Sense bytes: 0x00 Data bytes: 0x18 00 04 08 0C --------------------------------------------------------------- 000 17000000 08120400 00000000 00000000 ................ 010 00000000 00000000 00000000 00000000 ................ == DONE ============================================================== WRITE: Write Cache setting is changeable. Sending SCSI command to device. Mode Select 6 Command: 15 11 00 00 18 00 DeviceIoControl SUCCEEDED. SCSI status: 0x00 (GOOD) Sense bytes: 0x00 Data bytes: 0x18 00 04 08 0C --------------------------------------------------------------- 000 00000000 08120400 00000000 00000000 ................ 010 00000000 00000000 00000000 00000000 ................ == DONE ============================================================== Sending SCSI command to device. Mode Sense 6 Command: 1a 08 08 00 ff 00 DeviceIoControl SUCCEEDED. SCSI status: 0x00 (GOOD) Sense bytes: 0x00 Data bytes: 0x18 00 04 08 0C --------------------------------------------------------------- 000 17000000 08120400 00000000 00000000 ................ 010 00000000 00000000 00000000 00000000 ................ == DONE ============================================================== WRITE: WriteCacheSetting currently: 0x1. WRITE: Write Cache setting was succesfully changed. Writing 16 KB data sequentially to disk... Synchronize the data in cache with one in disk Sending SYNCHRONIZE CACHE (10) (0x35) command... Sending SCSI command to device. SYNCHRONIZE CACHE Command: 35 00 00 00 00 00 00 00 00 00 DeviceIoControl SUCCEEDED. SCSI status: 0x00 (GOOD) Sense bytes: 0x00 Data bytes: 0x0 == DONE ============================================================== Reading 16 KB data sequentially to disk... End: Pass, ASSERTION: WRITE (10) FUA Test, TUID=, Repro=scsicompliance.exe /device \\.\PhysicalDrive1 /verbosity 4 /scenario NVMe /operation test Policy: REQUIRED Start: ASSERTION: Synchronize Cache Basic Verification Test, TUID= Description: The device must return GOOD (0x0) SCSI status when LBA and number of logical blocksare both set to 1 Reference: SCSI Block Commands - 3 (SBC-3) Revision 26 (or published) specification Section 5.25 http://www.t10.org/ftp/t10/drafts/sbc3/sbc3r26.pdf Expectation: The device must return GOOD (0x0) SCSI status Rationale: This command is required to ensure data integrity for devices which maintain a device-side cache. Sending SCSI command to device. SYNCHRONIZE CACHE Command: 35 00 00 00 00 01 00 00 01 00 DeviceIoControl SUCCEEDED. SCSI status: 0x00 (GOOD) Sense bytes: 0x00 Data bytes: 0x0 == DONE ============================================================== Scsi Status is 0x0. End: Pass, ASSERTION: Synchronize Cache Basic Verification Test, TUID=, Repro=scsicompliance.exe /device \\.\PhysicalDrive1 /verbosity 4 /scenario NVMe /operation test Policy: REQUIRED Start: Unmap (10) Anchor Bit Test., TUID= Description: Ensuring device responds correctly when ANCHOR bit is set in UNMap command Reference: Invalid String Expectation: Command shall be terminated with CHECK CONDITION status, ILLEGAL REQUEST sense key, and ILLEGAL FIELD IN CDB Sending SCSI command to device. Unmap 10 Command: 42 01 00 00 00 00 00 00 00 00 DeviceIoControl SUCCEEDED. SCSI status: 0x02 (CHECK CONDITION) Sense bytes: 0x12 Data bytes: 0x1000 Sense Info ------------------------------------------------------------- ErrorCode: 0x70 Valid: 0x0 SenseKey: 0x5 IncorrectLength: 0x0 EndOfMedia: 0x0 FileMark: 0x0 Information: 0x0 0 0 0 AdditionalSenseLength: 0xa CommandSpecificInformation: 0x0 0 0 0 AdditionalSenseCode: 0x24 AdditionalSenseCodeQualifier: 0x0 FieldReplaceableUnitCode: 0x0 SenseKeySpecific: 0x0 0 0 == DONE ============================================================== SCSI status is 0x2. End: Pass, Unmap (10) Anchor Bit Test., TUID=, Repro=scsicompliance.exe /device \\.\PhysicalDrive1 /verbosity 4 /scenario NVMe /operation test Policy: REQUIRED Start: Unmap (10) Basic Verification Test., TUID= Description: Ensuring device responds correctly for UNMap command Reference: Invalid String Expectation: Device shall return GOOD SCSI Status after performing Unmap operation Sending SCSI command to device. INQUIRY Command: 12 01 b0 00 ff 00 DeviceIoControl SUCCEEDED. SCSI status: 0x00 (GOOD) Sense bytes: 0x00 Data bytes: 0x40 00 04 08 0C --------------------------------------------------------------- 000 00B0003C 00000000 00000000 00000000 ...<............ 010 00000000 0000FFFF 00000100 00000000 ................ 020 00000000 00000000 00000000 00000000 ................ 030 00000000 00000000 00000000 00000000 ................ == DONE ============================================================== INQUIRY: Block Limits page is supported. Maximum Compare and Write Length = 0x0 Optimal Transfer Length Granularity = 0x0 Maximum Transfer Length in blocks = 0x0 Optimal Transfer Length = 0x0 Maximum Prefetch XRead XWrite Transfer Length = 0x0 Maximum Unmap LBA Count = 0xFFFF Maximum unmap Block Descriptor Count = 0x100 Optimal Unmap Granularity = 0x0 Unmap Granularity Alignment= 0x80000000 Unmap Granularity Alignment is not valid Validating fields Sending SCSI command to device. Unmap 10 Command: 42 00 00 00 00 00 00 00 18 00 DeviceIoControl SUCCEEDED. SCSI status: 0x00 (GOOD) Sense bytes: 0x00 Data bytes: 0x18 00 04 08 0C --------------------------------------------------------------- 000 00160010 00000000 00000000 00000000 ................ 010 00000200 00000000 00000000 4E3DFF59 ............N=.Y == DONE ============================================================== SCSI status is 0x0. End: Pass, Unmap (10) Basic Verification Test., TUID=, Repro=scsicompliance.exe /device \\.\PhysicalDrive1 /verbosity 4 /scenario NVMe /operation test Policy: REQUIRED Start: LOG SENSE (10) Basic Verification Test., TUID= Description: Ensuring device supports log sense command. Reference: SCSI Primary Commands - 4 (SPC-4) Revision 30 (or published) specification Section 6.6 http://www.t10.org/ftp/t10/drafts/spc4/spc4r30.pdf Expectation: Device returns GOOD SCSI status, log parameters shall not be saved and cumulative values shall be returned. Rationale: LOG SENSE is used to retrieve statistical and operational information. Sending SCSI command to device. Log Sense 10 Command: 4d 00 40 00 00 00 00 10 00 00 DeviceIoControl SUCCEEDED. SCSI status: 0x00 (GOOD) Sense bytes: 0x00 Data bytes: 0x7 00 04 08 0C --------------------------------------------------------------- 000 00000003 000D2F00 00000000 00000000 ....../......... == DONE ============================================================== SCSI Status = 0x0 End: Pass, LOG SENSE (10) Basic Verification Test., TUID=, Repro=scsicompliance.exe /device \\.\PhysicalDrive1 /verbosity 4 /scenario NVMe /operation test Policy: REQUIRED Start: LOG SENSE (10) SP Bit Test., TUID= Description: Ensuring device returns error with SP bit set. Reference: SCSI Primary Commands - 4 (SPC-4) Revision 30 (or published) specification Section 6.6 http://www.t10.org/ftp/t10/drafts/spc4/spc4r30.pdf Expectation: Command shall be terminated with CHECK CONDITION status, ILLEGAL REQUEST sense key, and ILLEGAL FIELD IN CDB additional sense code. Rationale: LOG SENSE is used to retrieve statistical and operational information. Sending SCSI command to device. Log Sense 10 Command: 4d 01 40 00 00 00 00 10 00 00 DeviceIoControl SUCCEEDED. SCSI status: 0x02 (CHECK CONDITION) Sense bytes: 0x12 Data bytes: 0x0 Sense Info ------------------------------------------------------------- ErrorCode: 0x70 Valid: 0x0 SenseKey: 0x5 IncorrectLength: 0x0 EndOfMedia: 0x0 FileMark: 0x0 Information: 0x0 0 0 0 AdditionalSenseLength: 0xa CommandSpecificInformation: 0x0 0 0 0 AdditionalSenseCode: 0x24 AdditionalSenseCodeQualifier: 0x0 FieldReplaceableUnitCode: 0x0 SenseKeySpecific: 0x0 0 0 == DONE ============================================================== SCSI Status = 0x2 End: Pass, LOG SENSE (10) SP Bit Test., TUID=, Repro=scsicompliance.exe /device \\.\PhysicalDrive1 /verbosity 4 /scenario NVMe /operation test Policy: REQUIRED Start: LOG SENSE (10) PC Bit Test., TUID= Description: Ensuring device returns error for all values of PC other than 01b. Reference: SCSI Primary Commands - 4 (SPC-4) Revision 30 (or published) specification Section 6.6 http://www.t10.org/ftp/t10/drafts/spc4/spc4r30.pdf Expectation: Command shall be terminated with CHECK CONDITION status, ILLEGAL REQUEST sense key, and ILLEGAL FIELD IN CDB additional sense code. Rationale: LOG SENSE is used to retrieve statistical and operational information. PC bit is set to 0x0 Sending SCSI command to device. Log Sense 10 Command: 4d 00 00 00 00 00 00 10 00 00 DeviceIoControl SUCCEEDED. SCSI status: 0x02 (CHECK CONDITION) Sense bytes: 0x12 Data bytes: 0x0 Sense Info ------------------------------------------------------------- ErrorCode: 0x70 Valid: 0x0 SenseKey: 0x5 IncorrectLength: 0x0 EndOfMedia: 0x0 FileMark: 0x0 Information: 0x0 0 0 0 AdditionalSenseLength: 0xa CommandSpecificInformation: 0x0 0 0 0 AdditionalSenseCode: 0x24 AdditionalSenseCodeQualifier: 0x0 FieldReplaceableUnitCode: 0x0 SenseKeySpecific: 0x0 0 0 == DONE ============================================================== SCSI Status = 0x2 PC bit is set to 0x2 Sending SCSI command to device. Log Sense 10 Command: 4d 00 80 00 00 00 00 10 00 00 DeviceIoControl SUCCEEDED. SCSI status: 0x02 (CHECK CONDITION) Sense bytes: 0x12 Data bytes: 0x0 Sense Info ------------------------------------------------------------- ErrorCode: 0x70 Valid: 0x0 SenseKey: 0x5 IncorrectLength: 0x0 EndOfMedia: 0x0 FileMark: 0x0 Information: 0x0 0 0 0 AdditionalSenseLength: 0xa CommandSpecificInformation: 0x0 0 0 0 AdditionalSenseCode: 0x24 AdditionalSenseCodeQualifier: 0x0 FieldReplaceableUnitCode: 0x0 SenseKeySpecific: 0x0 0 0 == DONE ============================================================== SCSI Status = 0x2 PC bit is set to 0x3 Sending SCSI command to device. Log Sense 10 Command: 4d 00 c0 00 00 00 00 10 00 00 DeviceIoControl SUCCEEDED. SCSI status: 0x02 (CHECK CONDITION) Sense bytes: 0x12 Data bytes: 0x0 Sense Info ------------------------------------------------------------- ErrorCode: 0x70 Valid: 0x0 SenseKey: 0x5 IncorrectLength: 0x0 EndOfMedia: 0x0 FileMark: 0x0 Information: 0x0 0 0 0 AdditionalSenseLength: 0xa CommandSpecificInformation: 0x0 0 0 0 AdditionalSenseCode: 0x24 AdditionalSenseCodeQualifier: 0x0 FieldReplaceableUnitCode: 0x0 SenseKeySpecific: 0x0 0 0 == DONE ============================================================== SCSI Status = 0x2 End: Pass, LOG SENSE (10) PC Bit Test., TUID=, Repro=scsicompliance.exe /device \\.\PhysicalDrive1 /verbosity 4 /scenario NVMe /operation test Policy: REQUIRED Start: LOG SENSE (10) Supported Log pages Test., TUID= Description: Ensuring device returns all supported log pages correctly Reference: SCSI Primary Commands - 4 (SPC-4) Revision 30 (or published) specification Section 6.6 http://www.t10.org/ftp/t10/drafts/spc4/spc4r30.pdf Expectation: Device shall support Information Exceptions log page and Temperature log page. Rationale: LOG SENSE is used to retrieve statistical and operational information. Sending SCSI command to device. Log Sense 10 Command: 4d 00 40 00 00 00 00 10 00 00 DeviceIoControl SUCCEEDED. SCSI status: 0x00 (GOOD) Sense bytes: 0x00 Data bytes: 0x7 00 04 08 0C --------------------------------------------------------------- 000 00000003 000D2F00 00000000 00000000 ....../......... == DONE ============================================================== SCSI Status = 0x0 Log page with Page Code 0x0 is supported Log page with Page Code 0xd is supported Log page with Page Code 0x2f is supported Device supports required log pages End: Pass, LOG SENSE (10) Supported Log pages Test., TUID=, Repro=scsicompliance.exe /device \\.\PhysicalDrive1 /verbosity 4 /scenario NVMe /operation test Policy: REQUIRED Start: LOG SENSE (10) Information Exceptions log page Test., TUID= Description: Ensuring Information Exceptions log page is compliant Reference: SCSI Primary Commands - 4 (SPC-4) Revision 30 (or published) specification Section 7.3.8 http://www.t10.org/ftp/t10/drafts/spc4/spc4r30.pdf Expectation: Device shall return log page compliant to SCSI-NVME translation document. Rationale: LOG SENSE is used to retrieve statistical and operational information. Sending SCSI command to device. Log Sense 10 Command: 4d 00 6f 00 00 00 00 10 00 00 DeviceIoControl SUCCEEDED. SCSI status: 0x00 (GOOD) Sense bytes: 0x00 Data bytes: 0xc 00 04 08 0C --------------------------------------------------------------- 000 2F000008 00002304 0000EF00 00000000 /.....#......... == DONE ============================================================== SCSI Status = 0x0 Information Exceptions Log Page is supported. "PageCode" = 0x2f "SPF" = 0x0 "DS" = 0x0 "SubPageCode" = 0x0 "PageLength" = 0x8 "ParameterCode" = 0x0 "FormatAndLinking" = 0x3 "TMC" = 0x0 "ETC" = 0x0 "TSD" = 0x1 "DU" = 0x0 "ParameterLength" = 0x4 "ASC" = 0x0 "ASCQ" = 0x0 Most recent temperature reading = 0xef End: Pass, LOG SENSE (10) Information Exceptions log page Test., TUID=, Repro=scsicompliance.exe /device \\.\PhysicalDrive1 /verbosity 4 /scenario NVMe /operation test Policy: REQUIRED Start: LOG SENSE (10) Temperature log page Test., TUID= Description: Ensuring Temperature log page is compliant Reference: SCSI Primary Commands - 4 (SPC-4) Revision 30 (or published) specification Section 7.3.21 http://www.t10.org/ftp/t10/drafts/spc4/spc4r30.pdf Expectation: Device shall return log page compliant to SCSI-NVME translation document. Rationale: LOG SENSE is used to retrieve statistical and operational information. Sending SCSI command to device. Log Sense 10 Command: 4d 00 4d 00 00 00 00 10 00 00 DeviceIoControl SUCCEEDED. SCSI status: 0x00 (GOOD) Sense bytes: 0x00 Data bytes: 0x10 00 04 08 0C --------------------------------------------------------------- 000 0D00000C 00000102 00EF0001 010200FF ................ == DONE ============================================================== SCSI Status = 0x0 Temperature Log Page is supported. "SPF" = 0x0 "PageCode" = 0xd "SubPageCode" = 0x0 "PageLength" = 0xc "ParameterCode" = 0x0 "FormatAndLinking" = 0x1 "TMC" = 0x0 "ETC" = 0x0 "TSD" = 0x0 "DU" = 0x0 "ParameterLength" = 0x2 ReferenceTemperature = 0xef End: Pass, LOG SENSE (10) Temperature log page Test., TUID=, Repro=scsicompliance.exe /device \\.\PhysicalDrive1 /verbosity 4 /scenario NVMe /operation test Policy: IF_IMPLEMENTED Unit test Policy: Test Implemented: CDB was detected to be implemented Start: ASSERTION: MODE SELECT (10) Basic Test, TUID= Description: Checking to see if a simple MODE SELECT command, with PF and SP == 0, passes Reference: SCSI Primary Commands - 4 (SPC-4) Revision 30 (or published) specification Section 6.10 http://www.t10.org/ftp/t10/drafts/spc4/spc4r30.pdf Expectation: The device must return GOOD (0x0) SCSI status Rationale: Mode Select 6 is mandatory and Mode Select 10 is Optional and would be tested if-implemented. Sending SCSI command to device. Mode Select 10 Command: 55 00 00 00 00 00 00 00 00 00 DeviceIoControl SUCCEEDED. SCSI status: 0x00 (GOOD) Sense bytes: 0x00 Data bytes: 0x0 == DONE ============================================================== End: Pass, ASSERTION: MODE SELECT (10) Basic Test, TUID=, Repro=scsicompliance.exe /device \\.\PhysicalDrive1 /verbosity 4 /scenario NVMe /operation test Policy: IF_IMPLEMENTED Unit test Policy: Test Implemented: CDB was detected to be implemented Start: MODE SELECT 10: MODE SENSE (10) Attempting to get Caching mode page., TUID= Description: Checking to see if a simple MODE SENSE command on Page 0x08 will return GOOD status. Reference: SCSI Primary Commands - 4 (SPC-4) Revision 30 (or published) specification Section 6.10 http://www.t10.org/ftp/t10/drafts/spc4/spc4r30.pdf Expectation: The device must return GOOD (0x0) SCSI status Sending SCSI command to device. Mode Sense 10 Command: 5a 08 08 00 00 00 00 00 ff 00 DeviceIoControl SUCCEEDED. SCSI status: 0x00 (GOOD) Sense bytes: 0x00 Data bytes: 0x1c 00 04 08 0C --------------------------------------------------------------- 000 001A0000 00000000 08120400 00000000 ................ 010 00000000 00000000 00000000 00000000 ................ == DONE ============================================================== ScsiStatus == 0x0. MODE: Size of MODE CACHING PAGE returned by target: 20 bytes. MODE: Caching mode page information. MODE: Caching.PageCode: 0x8. MODE: Caching.PageSavable: 0x0. MODE: Caching.PageLength: 0x12. MODE: Caching.ReadDisableCache: 0x0. MODE: Caching.MultiplicationFactor: 0x0. MODE: Caching.WriteCacheEnable: 0x1. MODE: Caching.WriteRetensionPriority: 0x0. MODE: Caching.ReadRetensionPriority: 0x0. MODE: Caching.DisablePrefetchTransfer: 0x00. MODE: Caching.MinimumPrefetch: 0x00. MODE: Caching.MaximumPrefetch: 0x00. MODE: Caching.MaximumPrefetchCeiling: 0x00. MODE: Caching.NumberCacheSegments: 0x0. MODE: Caching.CacheSegmentSize: 0x00. End: Pass, MODE SELECT 10: MODE SENSE (10) Attempting to get Caching mode page., TUID=, Repro=scsicompliance.exe /device \\.\PhysicalDrive1 /verbosity 4 /scenario NVMe /operation test Policy: IF_IMPLEMENTED Unit test Policy: Test Optional Start: MODE SELECT 10: MODE SENSE (10) Checking Parameters Savable (PS bit)., TUID= Description: Checking to see if Parameters Savable bit for the Caching Mode Page is 1. Reference: SCSI Primary Commands - 4 (SPC-4) Revision 30 (or published) specification Section 6.10 http://www.t10.org/ftp/t10/drafts/spc4/spc4r30.pdf Expectation: PS == 1. PS = 0. Support for PS=1 is not mandatory Warn: File=testsrc\driverstest\storage\wdk\scsicompliance\lib\core\policyscenario.cpp, Line=195 End: Warn, MODE SELECT 10: MODE SENSE (10) Checking Parameters Savable (PS bit)., TUID=, Repro=scsicompliance.exe /device \\.\PhysicalDrive1 /verbosity 4 /scenario NVMe /operation test Policy: IF_IMPLEMENTED Unit test Policy: Test Implemented: CDB was detected to be implemented Start: MODE SELECT 10: MODE SENSE (10) Checking Mode Parameter Header, TUID= Description: Verify that MediumType == 0 and BlockDescriptorLength == 0. Reference: SCSI Primary Commands - 4 (SPC-4) Revision 30 (or published) specification Section 6.10 http://www.t10.org/ftp/t10/drafts/spc4/spc4r30.pdf Expectation: MediumType == 0x0 and BlockDescriptorLength == 0x0 MODE: ModeDataLength: 0x1a. MODE: MediumType: 0x0. MODE: DeviceSpecificParameter: 0x0. MODE: BlockDescriptorLength: 0x0. MediumType == 0x0 and BlockDescriptorLength == 0x0. End: Pass, MODE SELECT 10: MODE SENSE (10) Checking Mode Parameter Header, TUID=, Repro=scsicompliance.exe /device \\.\PhysicalDrive1 /verbosity 4 /scenario NVMe /operation test Policy: IF_IMPLEMENTED Unit test Policy: Test Implemented: CDB was detected to be implemented Start: MODE SELECT 10: MODE SENSE (10) Checking Caching Mode Page Length., TUID= Description: Checking the Caching Mode Page is 20 bytes. Reference: SCSI Primary Commands - 4 (SPC-4) Revision 30 (or published) specification Section 6.10 http://www.t10.org/ftp/t10/drafts/spc4/spc4r30.pdf Expectation: cachePageLength == 20 bytes. MODE: Cache page length is 0x14. End: Pass, MODE SELECT 10: MODE SENSE (10) Checking Caching Mode Page Length., TUID=, Repro=scsicompliance.exe /device \\.\PhysicalDrive1 /verbosity 4 /scenario NVMe /operation test Policy: IF_IMPLEMENTED Unit test Policy: Test Implemented: CDB was detected to be implemented Start: MODE SELECT 10: MODE SENSE (10) Getting Changeable values., TUID= Description: Saving away Changeable Values for Caching Mode Page Reference: SCSI Primary Commands - 4 (SPC-4) Revision 30 (or published) specification Section 6.10 http://www.t10.org/ftp/t10/drafts/spc4/spc4r30.pdf Expectation: The device must return GOOD (0x0) SCSI status MODE: Getting Changeable values. Sending SCSI command to device. Mode Sense 10 Command: 5a 08 48 00 00 00 00 00 ff 00 DeviceIoControl SUCCEEDED. SCSI status: 0x00 (GOOD) Sense bytes: 0x00 Data bytes: 0x1c 00 04 08 0C --------------------------------------------------------------- 000 001A0000 00000000 08120400 00000000 ................ 010 00000000 00000000 00000000 00000000 ................ == DONE ============================================================== ScsiStatus == 0x0. MODE: Changeable values. MODE: Caching mode page information. MODE: Caching.PageCode: 0x8. MODE: Caching.PageSavable: 0x0. MODE: Caching.PageLength: 0x12. MODE: Caching.ReadDisableCache: 0x0. MODE: Caching.MultiplicationFactor: 0x0. MODE: Caching.WriteCacheEnable: 0x1. MODE: Caching.WriteRetensionPriority: 0x0. MODE: Caching.ReadRetensionPriority: 0x0. MODE: Caching.DisablePrefetchTransfer: 0x00. MODE: Caching.MinimumPrefetch: 0x00. MODE: Caching.MaximumPrefetch: 0x00. MODE: Caching.MaximumPrefetchCeiling: 0x00. MODE: Caching.NumberCacheSegments: 0x0. MODE: Caching.CacheSegmentSize: 0x00. End: Pass, MODE SELECT 10: MODE SENSE (10) Getting Changeable values., TUID=, Repro=scsicompliance.exe /device \\.\PhysicalDrive1 /verbosity 4 /scenario NVMe /operation test Policy: IF_IMPLEMENTED Unit test Policy: Test Implemented: CDB was detected to be implemented Start: MODE SELECT 10: MODE SENSE (10) Getting default values., TUID= Description: Saving away Default Values for Caching Mode Page. Reference: SCSI Primary Commands - 4 (SPC-4) Revision 30 (or published) specification Section 6.10 http://www.t10.org/ftp/t10/drafts/spc4/spc4r30.pdf Expectation: The device must return GOOD (0x0) SCSI status MODE SENSE on Caching Mode Page with PC == 10b. MODE: Getting Default values. Sending SCSI command to device. Mode Sense 10 Command: 5a 08 88 00 00 00 00 00 ff 00 DeviceIoControl SUCCEEDED. SCSI status: 0x00 (GOOD) Sense bytes: 0x00 Data bytes: 0x1c 00 04 08 0C --------------------------------------------------------------- 000 001A0000 00000000 08120400 00000000 ................ 010 00000000 00000000 00000000 00000000 ................ == DONE ============================================================== ScsiStatus == 0x0. End: Pass, MODE SELECT 10: MODE SENSE (10) Getting default values., TUID=, Repro=scsicompliance.exe /device \\.\PhysicalDrive1 /verbosity 4 /scenario NVMe /operation test Policy: IF_IMPLEMENTED Unit test Policy: Test Implemented: CDB was detected to be implemented Start: MODE SELECT (10) Changing WCE., TUID= Description: Applying MODE SELECT to WCE=0 for the device. Reference: SCSI Primary Commands - 4 (SPC-4) Revision 30 (or published) specification Section 6.10 http://www.t10.org/ftp/t10/drafts/spc4/spc4r30.pdf Expectation: The device must return GOOD (0x0) SCSI status MODE SELECT: Clearing WCE Sending SCSI command to device. Mode Select 10 Command: 55 10 00 00 00 00 00 00 1c 00 DeviceIoControl SUCCEEDED. SCSI status: 0x00 (GOOD) Sense bytes: 0x00 Data bytes: 0x1c 00 04 08 0C --------------------------------------------------------------- 000 00000000 00000000 08120000 00000000 ................ 010 00000000 00000000 00000000 00000000 ................ == DONE ============================================================== ScsiStatus == 0x0. End: Pass, MODE SELECT (10) Changing WCE., TUID=, Repro=scsicompliance.exe /device \\.\PhysicalDrive1 /verbosity 4 /scenario NVMe /operation test Policy: IF_IMPLEMENTED Unit test Policy: Test Implemented: CDB was detected to be implemented Start: MODE SELECT 10: MODE SENSE (10) Checking that WCE has been cleared., TUID= Description: Checking that the previous MODE SELECT command actually changed the current mode parameters. Reference: SCSI Primary Commands - 4 (SPC-4) Revision 30 (or published) specification Section 6.10 http://www.t10.org/ftp/t10/drafts/spc4/spc4r30.pdf Expectation: WCE is clear. MODE SENSE on Caching Mode Page. MODE: Checking if WCE was cleared. Sending SCSI command to device. Mode Sense 10 Command: 5a 08 08 00 00 00 00 00 ff 00 DeviceIoControl SUCCEEDED. SCSI status: 0x00 (GOOD) Sense bytes: 0x00 Data bytes: 0x1c 00 04 08 0C --------------------------------------------------------------- 000 001A0000 00000000 08120000 00000000 ................ 010 00000000 00000000 00000000 00000000 ................ == DONE ============================================================== WriteCacheEnable was cleared. End: Pass, MODE SELECT 10: MODE SENSE (10) Checking that WCE has been cleared., TUID=, Repro=scsicompliance.exe /device \\.\PhysicalDrive1 /verbosity 4 /scenario NVMe /operation test Policy: IF_IMPLEMENTED Unit test Policy: Test Implemented: CDB was detected to be implemented Start: MODE SELECT 10: MODE SENSE (10) Checking that Saved Values have changed., TUID= Description: Checking that the previous MODE SELECT command actually changed the saved mode parameters. Reference: SCSI Primary Commands - 4 (SPC-4) Revision 30 (or published) specification Section 6.10 http://www.t10.org/ftp/t10/drafts/spc4/spc4r30.pdf Expectation: Saved values have changed. Warn: Test skipped because write cache cant be disabled and page savable is false. File=testsrc\driverstest\storage\wdk\scsicompliance\lib\unitscenario\modeselect10.cpp, Line=521 Warn: File=testsrc\driverstest\storage\wdk\scsicompliance\lib\core\policyscenario.cpp, Line=195 End: Warn, MODE SELECT 10: MODE SENSE (10) Checking that Saved Values have changed., TUID=, Repro=scsicompliance.exe /device \\.\PhysicalDrive1 /verbosity 4 /scenario NVMe /operation test Policy: IF_IMPLEMENTED Unit test Policy: Test Implemented: CDB was detected to be implemented Start: MODE SELECT (10) setting WCE, TUID= Description: Applying MODE SELECT to set WCE. Reference: SCSI Primary Commands - 4 (SPC-4) Revision 30 (or published) specification Section 6.10 http://www.t10.org/ftp/t10/drafts/spc4/spc4r30.pdf Expectation: The device must return GOOD (0x0) SCSI status MODE SELECT command with changeable Caching Mode Page values set to 0. MODE: Testing MODE SELECT by clearing WCE. Sending SCSI command to device. Mode Select 10 Command: 55 10 00 00 00 00 00 00 1c 00 DeviceIoControl SUCCEEDED. SCSI status: 0x00 (GOOD) Sense bytes: 0x00 Data bytes: 0x1c 00 04 08 0C --------------------------------------------------------------- 000 00000000 00000000 08120400 00000000 ................ 010 00000000 00000000 00000000 00000000 ................ == DONE ============================================================== ScsiStatus == 0x0. End: Pass, MODE SELECT (10) setting WCE, TUID=, Repro=scsicompliance.exe /device \\.\PhysicalDrive1 /verbosity 4 /scenario NVMe /operation test Policy: IF_IMPLEMENTED Unit test Policy: Test Implemented: CDB was detected to be implemented Start: MODE SELECT 10: MODE SENSE (10) Checking that WCE has been set., TUID= Description: Checking that the previous MODE SELECT command actually set WCE. Reference: SCSI Primary Commands - 4 (SPC-4) Revision 30 (or published) specification Section 6.10 http://www.t10.org/ftp/t10/drafts/spc4/spc4r30.pdf Expectation: Current values have been set. MODE SENSE on Caching Mode Page. MODE: Checking if WCE was set. Sending SCSI command to device. Mode Sense 10 Command: 5a 08 08 00 00 00 00 00 ff 00 DeviceIoControl SUCCEEDED. SCSI status: 0x00 (GOOD) Sense bytes: 0x00 Data bytes: 0x1c 00 04 08 0C --------------------------------------------------------------- 000 001A0000 00000000 08120400 00000000 ................ 010 00000000 00000000 00000000 00000000 ................ == DONE ============================================================== WriteCacheEnable was set. End: Pass, MODE SELECT 10: MODE SENSE (10) Checking that WCE has been set., TUID=, Repro=scsicompliance.exe /device \\.\PhysicalDrive1 /verbosity 4 /scenario NVMe /operation test Policy: IF_IMPLEMENTED Unit test Policy: Test Implemented: CDB was detected to be implemented Start: MODE SELECT (10) Attempting to restore original values., TUID= Description: Testing MODE SELECT can return the Caching Mode Page values to their original values. Reference: SCSI Primary Commands - 4 (SPC-4) Revision 30 (or published) specification Section 6.10 http://www.t10.org/ftp/t10/drafts/spc4/spc4r30.pdf Expectation: The device must return GOOD (0x0) SCSI status MODE SELECT command with values set to their original starting values. MODE: Returning page values to original values. Sending SCSI command to device. Mode Select 10 Command: 55 10 00 00 00 00 00 00 1c 00 DeviceIoControl SUCCEEDED. SCSI status: 0x00 (GOOD) Sense bytes: 0x00 Data bytes: 0x1c 00 04 08 0C --------------------------------------------------------------- 000 00000000 00000000 08120400 00000000 ................ 010 00000000 00000000 00000000 00000000 ................ == DONE ============================================================== ScsiStatus == 0x0. End: Pass, MODE SELECT (10) Attempting to restore original values., TUID=, Repro=scsicompliance.exe /device \\.\PhysicalDrive1 /verbosity 4 /scenario NVMe /operation test Policy: IF_IMPLEMENTED Unit test Policy: Test Implemented: CDB was detected to be implemented Start: MODE SELECT 10: MODE SENSE (10) Verifying values were restored., TUID= Description: Checking that the values were restored in the Caching Mode Page. Reference: SCSI Primary Commands - 4 (SPC-4) Revision 30 (or published) specification Section 6.10 http://www.t10.org/ftp/t10/drafts/spc4/spc4r30.pdf Expectation: Current values equal default values. MODE SENSE on Caching Mode Page. MODE: Checking if current values have been reset. Sending SCSI command to device. Mode Sense 10 Command: 5a 08 08 00 00 00 00 00 ff 00 DeviceIoControl SUCCEEDED. SCSI status: 0x00 (GOOD) Sense bytes: 0x00 Data bytes: 0x1c 00 04 08 0C --------------------------------------------------------------- 000 001A0000 00000000 08120400 00000000 ................ 010 00000000 00000000 00000000 00000000 ................ == DONE ============================================================== Values have been restored. End: Pass, MODE SELECT 10: MODE SENSE (10) Verifying values were restored., TUID=, Repro=scsicompliance.exe /device \\.\PhysicalDrive1 /verbosity 4 /scenario NVMe /operation test Policy: IF_IMPLEMENTED Unit test Policy: Test Implemented: CDB was detected to be implemented Start: ASSERTION: MODE SENSE (10) Basic Test, TUID= Description: Checking to see if a simple MODE SENSE10 command on Page 0x3f will return GOOD status Reference: SCSI Primary Commands - 4 (SPC-4) Revision 30 (or published) specification Section 6.12 http://www.t10.org/ftp/t10/drafts/spc4/spc4r30.pdf Expectation: The device must return GOOD (0x0) SCSI status Rationale: Mode Sense 6 is mandatory and Mode Sense 10 is Optional and would be tested if-implemented. Sending SCSI command to device. Mode Sense 10 Command: 5a 00 3f 00 00 00 00 10 00 00 DeviceIoControl SUCCEEDED. SCSI status: 0x00 (GOOD) Sense bytes: 0x00 Data bytes: 0x64 00 04 08 0C --------------------------------------------------------------- 000 00620000 00000008 00FFFFFF 00000200 .b.............. 010 08120000 00000000 00000000 00000000 ................ 020 00000000 0A0A0612 00400000 FFFF0000 .........@...... 030 1A260000 00000000 00000000 00000000 .&.............. 040 00000000 00000000 00000000 00000000 ................ 050 00000400 00000000 1C0A0000 00000000 ................ 060 00000000 00000000 00000000 00000000 ................ == DONE ============================================================== End: Pass, ASSERTION: MODE SENSE (10) Basic Test, TUID=, Repro=scsicompliance.exe /device \\.\PhysicalDrive1 /verbosity 4 /scenario NVMe /operation test Policy: IF_IMPLEMENTED Unit test Policy: Test Implemented: CDB was detected to be implemented Start: ASSERTION: MODE SENSE (10) Checking size of returned data., TUID= Description: Checking that we receive a minimum amount of data (i.e. at least the MODE PARAMETER HEADER). Reference: SCSI Primary Commands - 4 (SPC-4) Revision 30 (or published) specification Section 6.12 http://www.t10.org/ftp/t10/drafts/spc4/spc4r30.pdf Expectation: Data Transfer Length >= 8 bytes Data Transfer Length = 100 bytes. End: Pass, ASSERTION: MODE SENSE (10) Checking size of returned data., TUID=, Repro=scsicompliance.exe /device \\.\PhysicalDrive1 /verbosity 4 /scenario NVMe /operation test Policy: IF_IMPLEMENTED Unit test Policy: Test Implemented: CDB was detected to be implemented Start: ASSERTION: MODE SENSE (10) Checking MODE PARAMETER HEADER, TUID= Description: Checking that the MODE PARAMETER HEADER length information is valid. Reference: SCSI Primary Commands - 4 (SPC-4) Revision 30 (or published) specification Section 6.12 http://www.t10.org/ftp/t10/drafts/spc4/spc4r30.pdf Expectation: ModeDataLength = Data Transfer Length - 2 = 98 bytes. Examining current MPH. ModeDataLength: 0x62. MediumType: 0x0. DeviceSpecificParameter: 0x0. BlockDescriptorLength: 0x8. ModeDataLength == 98 bytes. End: Pass, ASSERTION: MODE SENSE (10) Checking MODE PARAMETER HEADER, TUID=, Repro=scsicompliance.exe /device \\.\PhysicalDrive1 /verbosity 4 /scenario NVMe /operation test Policy: IF_IMPLEMENTED Unit test Policy: Test Implemented: CDB was detected to be implemented Start: MODE SENSE (10) Test DBD (disable block descriptors) bit., TUID= Description: Testing to make sure that, when DBD bit is set, no block descriptors are returned. Reference: SCSI Primary Commands - 4 (SPC-4) Revision 30 (or published) specification Section 6.12 http://www.t10.org/ftp/t10/drafts/spc4/spc4r30.pdf Expectation: Block Descriptor Length = 0 Sending SCSI command to device. Mode Sense 10 Command: 5a 08 3f 00 00 00 00 10 00 00 DeviceIoControl SUCCEEDED. SCSI status: 0x00 (GOOD) Sense bytes: 0x00 Data bytes: 0x5c 00 04 08 0C --------------------------------------------------------------- 000 005A0000 00000000 08120000 00000000 .Z.............. 010 00000000 00000000 00000000 0A0A0612 ................ 020 00400000 FFFF0000 1A260000 00000000 .@.......&...... 030 00000000 00000000 00000000 00000000 ................ 040 00000000 00000000 00000400 00000000 ................ 050 1C0A0000 00000000 00000000 00000000 ................ == DONE ============================================================== Response: Block Descriptor Length == 0. End: Pass, MODE SENSE (10) Test DBD (disable block descriptors) bit., TUID=, Repro=scsicompliance.exe /device \\.\PhysicalDrive1 /verbosity 4 /scenario NVMe /operation test Policy: IF_IMPLEMENTED Unit test Policy: Test Implemented: CDB was detected to be implemented Start: MODE SENSE (10) Comparing MODE PAGE data before and after DBD bit is set, TUID= Description: Testing that page data is the same before and after DBD bit is set. Reference: SCSI Primary Commands - 4 (SPC-4) Revision 30 (or published) specification Section 6.12 http://www.t10.org/ftp/t10/drafts/spc4/spc4r30.pdf Expectation: Page data will match mdl = 90 Bytes to compare = 84 Data matches. End: Pass, MODE SENSE (10) Comparing MODE PAGE data before and after DBD bit is set, TUID=, Repro=scsicompliance.exe /device \\.\PhysicalDrive1 /verbosity 4 /scenario NVMe /operation test Policy: IF_IMPLEMENTED Unit test Policy: Test Implemented: CDB was detected to be implemented Start: MODE SENSE (10) Testing Page Control Field, TUID= Description: Testing different values of the Page control field, and enforcing the size of the data returned. Reference: SCSI Primary Commands - 4 (SPC-4) Revision 30 (or published) specification Section 6.12 http://www.t10.org/ftp/t10/drafts/spc4/spc4r30.pdf Expectation: Data length for each value of PC is correct and PC=0 and PC=2 return good status.. Sending SCSI command to device. Mode Sense 10 Command: 5a 00 7f 00 00 00 00 10 00 00 DeviceIoControl SUCCEEDED. SCSI status: 0x00 (GOOD) Sense bytes: 0x00 Data bytes: 0x64 00 04 08 0C --------------------------------------------------------------- 000 00620000 00000008 00FFFFFF 00000200 .b.............. 010 08120000 00000000 00000000 00000000 ................ 020 00000000 0A0A0612 00400000 FFFF0000 .........@...... 030 1A260000 00000000 00000000 00000000 .&.............. 040 00000000 00000000 00000000 00000000 ................ 050 00000400 00000000 1C0A0000 00000000 ................ 060 00000000 00000000 00000000 00000000 ................ == DONE ============================================================== Sending SCSI command to device. Mode Sense 10 Command: 5a 00 bf 00 00 00 00 10 00 00 DeviceIoControl SUCCEEDED. SCSI status: 0x00 (GOOD) Sense bytes: 0x00 Data bytes: 0x64 00 04 08 0C --------------------------------------------------------------- 000 00620000 00000008 00FFFFFF 00000200 .b.............. 010 08120000 00000000 00000000 00000000 ................ 020 00000000 0A0A0612 00400000 FFFF0000 .........@...... 030 1A260000 00000000 00000000 00000000 .&.............. 040 00000000 00000000 00000000 00000000 ................ 050 00000400 00000000 1C0A0000 00000000 ................ 060 00000000 00000000 00000000 00000000 ................ == DONE ============================================================== Sending SCSI command to device. Mode Sense 10 Command: 5a 00 ff 00 00 00 00 10 00 00 DeviceIoControl SUCCEEDED. SCSI status: 0x02 (CHECK CONDITION) Sense bytes: 0x00 Data bytes: 0x1000 == DONE ============================================================== MODE SENSE returned SCSI status of 0x2 for PC = 0x3. Saved Parameters are not supported. All data length tests passed. End: Pass, MODE SENSE (10) Testing Page Control Field, TUID=, Repro=scsicompliance.exe /device \\.\PhysicalDrive1 /verbosity 4 /scenario NVMe /operation test Policy: REQUIRED Start: ASSERTION: READ (16) Support Test, TUID= Description: Verify that the device supports the READ (16) command.This test issues a simple READ (16) command and checks whether the return code is 0x2 (meaning not supported). Reference: SCSI Block Commands - 3 (SBC-3) Revision 26 (or published) specification Section 5.13 http://www.t10.org/ftp/t10/drafts/sbc3/sbc3r26.pdf Expectation: Scsi Status is 0x0. End: Pass, ASSERTION: READ (16) Support Test, TUID=, Repro=scsicompliance.exe /device \\.\PhysicalDrive1 /verbosity 4 /scenario NVMe /operation test Policy: REQUIRED Start: ASSERTION: READ (16) Basic Functionality Test, TUID= Description: The command reads the first two blocks of data correctly.This test sends two READ commands reading two different but overlapped blocks of data. Then, it compares the overlapped data. It returns true if the overlapped data is the same between the read operations (implying that the two commands read the same data correctly). Reference: SCSI Block Commands - 3 (SBC-3) Revision 26 (or published) specification Section 5.13 http://www.t10.org/ftp/t10/drafts/sbc3/sbc3r26.pdf Expectation: Scsi Status is 0x0. Rationale: If device is 64-bit LBA, Read 16 is Mandatory to read entire disk. Else its if-implemented. End: Pass, ASSERTION: READ (16) Basic Functionality Test, TUID=, Repro=scsicompliance.exe /device \\.\PhysicalDrive1 /verbosity 4 /scenario NVMe /operation test Policy: REQUIRED Start: ASSERTION: READ (16) Sequential Read Test, TUID= Description: The device must read 1000 sequential blocks of data correctly. This test sends the command 1000 times, reading data sequentially starting at a random logical block address. Reference: SCSI Block Commands - 3 (SBC-3) Revision 26 (or published) specification Section 5.13 http://www.t10.org/ftp/t10/drafts/sbc3/sbc3r26.pdf Expectation: All READ (16) commands succeed. End: Pass, ASSERTION: READ (16) Sequential Read Test, TUID=, Repro=scsicompliance.exe /device \\.\PhysicalDrive1 /verbosity 4 /scenario NVMe /operation test Policy: REQUIRED Start: ASSERTION: READ (16) Random Read Test, TUID= Description: The command reads 1000 random blocks of data correctly.This test sends READ (16) command 1000 times, reading data at random logical block address. Reference: SCSI Block Commands - 3 (SBC-3) Revision 26 (or published) specification Section 5.13 http://www.t10.org/ftp/t10/drafts/sbc3/sbc3r26.pdf Expectation: All READ (16) commands succeed. End: Pass, ASSERTION: READ (16) Random Read Test, TUID=, Repro=scsicompliance.exe /device \\.\PhysicalDrive1 /verbosity 4 /scenario NVMe /operation test Policy: REQUIRED Start: ASSERTION: READ (16) Read-With-Disk-Cache-Cleared Test, TUID= Description: The command reads 12 MB of data correctly with disk cache cleared.This test first reads 12 MB sequential data for later verification. Then, it clears the disk cache by reading 12 MB random data. Finally, it reads the same 12 MB sequential data to see if the data is same as the one in first read. Reference: SCSI Block Commands - 3 (SBC-3) Revision 26 (or published) specification Section 5.13 http://www.t10.org/ftp/t10/drafts/sbc3/sbc3r26.pdf Expectation: The 12 MB data read after cache cleared is correct. End: Pass, ASSERTION: READ (16) Read-With-Disk-Cache-Cleared Test, TUID=, Repro=scsicompliance.exe /device \\.\PhysicalDrive1 /verbosity 4 /scenario NVMe /operation test Policy: REQUIRED Start: ASSERTION: WRITE (16) Support Test, TUID= Description: Verify that the device supports the command.This test issues a simple WRITE (16) command and checks whether the return code is 0x2 (Check Condition). Reference: SCSI Block Commands - 3 (SBC-3) Revision 26 (or published) specification Section 5.34 http://www.t10.org/ftp/t10/drafts/sbc3/sbc3r26.pdf Expectation: ScsiStatus == 0x0. End: Pass, ASSERTION: WRITE (16) Support Test, TUID=, Repro=scsicompliance.exe /device \\.\PhysicalDrive1 /verbosity 4 /scenario NVMe /operation test Policy: REQUIRED Start: ASSERTION: WRITE (16) Basic Functionality Test, TUID= Description: The command writes one block of data to device correctly.This test compares the data we want to write and the one returned by the READ after the write operation. If the data is the same, this implies that the WRITE command writes the data to disk correctly. Reference: SCSI Block Commands - 3 (SBC-3) Revision 26 (or published) specification Section 5.34 http://www.t10.org/ftp/t10/drafts/sbc3/sbc3r26.pdf Expectation: ScsiStatus == 0x0. Rationale: If device is 64-bit LBA, Write 16 is Mandatory to write entire disk. Else its if-implemented. End: Pass, ASSERTION: WRITE (16) Basic Functionality Test, TUID=, Repro=scsicompliance.exe /device \\.\PhysicalDrive1 /verbosity 4 /scenario NVMe /operation test Policy: REQUIRED Start: ASSERTION: WRITE (16) Sequential Write Test, TUID= Description: The command writes 1000 sequential blocks of data correctly.This test sends the command 1000 times, writing data sequentially starting at a random logical block address. Reference: SCSI Block Commands - 3 (SBC-3) Revision 26 (or published) specification Section 5.34 http://www.t10.org/ftp/t10/drafts/sbc3/sbc3r26.pdf Expectation: All WRITE (16) commands succeed. End: Pass, ASSERTION: WRITE (16) Sequential Write Test, TUID=, Repro=scsicompliance.exe /device \\.\PhysicalDrive1 /verbosity 4 /scenario NVMe /operation test Policy: REQUIRED Start: ASSERTION: WRITE (16) Random Write Test, TUID= Description: The command writes 1000 random blocks of data correctly.This test sends the WRITE command 1000 times, writing data at random logical block address. Reference: SCSI Block Commands - 3 (SBC-3) Revision 26 (or published) specification Section 5.34 http://www.t10.org/ftp/t10/drafts/sbc3/sbc3r26.pdf Expectation: All WRITE (16) commands succeed. End: Pass, ASSERTION: WRITE (16) Random Write Test, TUID=, Repro=scsicompliance.exe /device \\.\PhysicalDrive1 /verbosity 4 /scenario NVMe /operation test Policy: REQUIRED Start: ASSERTION: WRITE (16) Write-With-Disk-Cache-Disabled Test, TUID= Description: The command writes 12 MB of data correctly with cache disabled.This test writes 12 MB of data to disk. Then, it reads the same 12 MB data that has just been written to verify that the data we just write are correct. Reference: SCSI Block Commands - 3 (SBC-3) Revision 26 (or published) specification Section 5.34 http://www.t10.org/ftp/t10/drafts/sbc3/sbc3r26.pdf Expectation: The 12 MB data are written correctly. Sending SCSI command to device. Mode Sense 6 Command: 1a 08 08 00 ff 00 DeviceIoControl SUCCEEDED. SCSI status: 0x00 (GOOD) Sense bytes: 0x00 Data bytes: 0x18 00 04 08 0C --------------------------------------------------------------- 000 17000000 08120400 00000000 00000000 ................ 010 00000000 00000000 00000000 00000000 ................ == DONE ============================================================== Sending SCSI command to device. Mode Sense 6 Command: 1a 08 48 00 ff 00 DeviceIoControl SUCCEEDED. SCSI status: 0x00 (GOOD) Sense bytes: 0x00 Data bytes: 0x18 00 04 08 0C --------------------------------------------------------------- 000 17000000 08120400 00000000 00000000 ................ 010 00000000 00000000 00000000 00000000 ................ == DONE ============================================================== WRITE: Write Cache setting is changeable. Sending SCSI command to device. Mode Select 6 Command: 15 11 00 00 18 00 DeviceIoControl SUCCEEDED. SCSI status: 0x00 (GOOD) Sense bytes: 0x00 Data bytes: 0x18 00 04 08 0C --------------------------------------------------------------- 000 00000000 08120000 00000000 00000000 ................ 010 00000000 00000000 00000000 00000000 ................ == DONE ============================================================== Sending SCSI command to device. Mode Sense 6 Command: 1a 08 08 00 ff 00 DeviceIoControl SUCCEEDED. SCSI status: 0x00 (GOOD) Sense bytes: 0x00 Data bytes: 0x18 00 04 08 0C --------------------------------------------------------------- 000 17000000 08120000 00000000 00000000 ................ 010 00000000 00000000 00000000 00000000 ................ == DONE ============================================================== WRITE: WriteCacheSetting currently: 0x0. WRITE: Write Cache setting was succesfully changed. Writing 16 KB data sequentially to disk... Reading 16 KB data sequentially to disk... End: Pass, ASSERTION: WRITE (16) Write-With-Disk-Cache-Disabled Test, TUID=, Repro=scsicompliance.exe /device \\.\PhysicalDrive1 /verbosity 4 /scenario NVMe /operation test Policy: REQUIRED Start: ASSERTION: WRITE (16) Write-With-Disk-Cache-Enabled Test, TUID= Description: The command writes 12 MB of data correctly with cache enabled.This test writes 12 MB of data to disk. Then, it sends a SYNCHRONIZE CACHE (10) command to synchronize the logical block address in cache with the ones in disk. Finally, it will read the same 12 MB data that has just been written to verify that the data we just write are correct. Reference: SCSI Block Commands - 3 (SBC-3) Revision 26 (or published) specification Section 5.34 http://www.t10.org/ftp/t10/drafts/sbc3/sbc3r26.pdf Expectation: The 12 MB data returned by the WRITEs is correct. Sending SCSI command to device. Mode Sense 6 Command: 1a 08 08 00 ff 00 DeviceIoControl SUCCEEDED. SCSI status: 0x00 (GOOD) Sense bytes: 0x00 Data bytes: 0x18 00 04 08 0C --------------------------------------------------------------- 000 17000000 08120000 00000000 00000000 ................ 010 00000000 00000000 00000000 00000000 ................ == DONE ============================================================== Sending SCSI command to device. Mode Sense 6 Command: 1a 08 48 00 ff 00 DeviceIoControl SUCCEEDED. SCSI status: 0x00 (GOOD) Sense bytes: 0x00 Data bytes: 0x18 00 04 08 0C --------------------------------------------------------------- 000 17000000 08120000 00000000 00000000 ................ 010 00000000 00000000 00000000 00000000 ................ == DONE ============================================================== Sense data indicates Write Cache setting is not changeable. Attempting anyways. Sending SCSI command to device. Mode Select 6 Command: 15 11 00 00 18 00 DeviceIoControl SUCCEEDED. SCSI status: 0x00 (GOOD) Sense bytes: 0x00 Data bytes: 0x18 00 04 08 0C --------------------------------------------------------------- 000 00000000 08120400 00000000 00000000 ................ 010 00000000 00000000 00000000 00000000 ................ == DONE ============================================================== Sending SCSI command to device. Mode Sense 6 Command: 1a 08 08 00 ff 00 DeviceIoControl SUCCEEDED. SCSI status: 0x00 (GOOD) Sense bytes: 0x00 Data bytes: 0x18 00 04 08 0C --------------------------------------------------------------- 000 17000000 08120400 00000000 00000000 ................ 010 00000000 00000000 00000000 00000000 ................ == DONE ============================================================== WRITE: WriteCacheSetting currently: 0x1. WRITE: Write Cache setting was succesfully changed. Writing 16 KB data sequentially to disk... Synchronize the data in cache with one in disk Sending SYNCHRONIZE CACHE (10) (0x35) command... Sending SCSI command to device. SYNCHRONIZE CACHE Command: 35 00 00 00 00 00 00 00 00 00 DeviceIoControl SUCCEEDED. SCSI status: 0x00 (GOOD) Sense bytes: 0x00 Data bytes: 0x0 == DONE ============================================================== Reading 16 KB data sequentially to disk... End: Pass, ASSERTION: WRITE (16) Write-With-Disk-Cache-Enabled Test, TUID=, Repro=scsicompliance.exe /device \\.\PhysicalDrive1 /verbosity 4 /scenario NVMe /operation test Policy: REQUIRED Start: ASSERTION: REPORT LUNS Basic Verification Test, TUID= Description: Attempts to find the LUN 0 corresponding to D.U.T. and execute the REPORT LUNS command. This test will only send REPORT LUNS to LUN 0 at the current target address per SAM-3. This test will only issue a request with SELECT REPORT set to zero per SPC-3. Reference: SCSI Primary Commands - 4 (SPC-4) Revision 30 (or published) specification Section 6.23 http://www.t10.org/ftp/t10/drafts/spc4/spc4r30.pdf Expectation: The device must return GOOD (0x0) SCSI status and data of size smaller than or equal to 255 bytes. Rationale: Report LUNS is used to discover LUNs present on the device. It is Mandatory for UAS. BOT uses the GetMaxLun USB class-specific command instead. So this is optional for BOT devices. Although we check for implementation of this CDB and test this command if implemented. Sending SCSI command to device. Report Luns Command: a0 00 00 00 00 00 00 00 00 10 00 00 DeviceIoControl SUCCEEDED. SCSI status: 0x00 (GOOD) Sense bytes: 0x00 Data bytes: 0x10 00 04 08 0C --------------------------------------------------------------- 000 00000008 00000000 00000000 00000000 ................ == DONE ============================================================== SCSI status is 0x0. Available data size is 0x8 bytes. End: Pass, ASSERTION: REPORT LUNS Basic Verification Test, TUID=, Repro=scsicompliance.exe /device \\.\PhysicalDrive1 /verbosity 4 /scenario NVMe /operation test Policy: REQUIRED Start: ASSERTION: REPORT LUNS LUN0 Test, TUID= Description: This test will only send REPORT LUNS to LUN 0 at the current target address per SAM-3.This test will only issue a request with SELECT REPORT set to zero per SPC-3. Reference: SCSI Primary Commands - 4 (SPC-4) Revision 30 (or published) specification Section 6.23 http://www.t10.org/ftp/t10/drafts/spc4/spc4r30.pdf Expectation: The device must return GOOD (0x0) SCSI status and data of size smaller than or equal to 255 bytes. sendcdb function Sending SCSI command to device. Report Luns Command: a0 00 00 00 00 00 00 00 08 00 00 00 DeviceIoControl SUCCEEDED. SCSI status: 0x00 (GOOD) Sense bytes: 0x00 Data bytes: 0x10 00 04 08 0C --------------------------------------------------------------- 000 00000008 00000000 00000000 00000000 ................ == DONE ============================================================== SCSI status is 0x0. End: Pass, ASSERTION: REPORT LUNS LUN0 Test, TUID=, Repro=scsicompliance.exe /device \\.\PhysicalDrive1 /verbosity 4 /scenario NVMe /operation test Policy: REQUIRED Start: ASSERTION: REPORT LUNS Data valid Test, TUID= Description: This test will only send REPORT LUNS to LUN 0 at the current target address per SAM-3.This test will only issue a request with SELECT REPORT set to zero per SPC-3. Reference: SCSI Primary Commands - 4 (SPC-4) Revision 30 (or published) specification Section 6.23 http://www.t10.org/ftp/t10/drafts/spc4/spc4r30.pdf Expectation: Each reported LUN uses single level numbers restricted to <= 255. REPORT LUNS Data Number of LUNs: 1 LUN 00 00 00 00 00 00 00 00 End: Pass, ASSERTION: REPORT LUNS Data valid Test, TUID=, Repro=scsicompliance.exe /device \\.\PhysicalDrive1 /verbosity 4 /scenario NVMe /operation test Policy: REQUIRED Start: ASSERTION: INQUIRY Basic Verification Test, TUID= Description: The device must return GOOD (0x0) SCSI status and data of size smaller than or equal to 255 bytes in response to the INQUIRY command with ALLOCATION LENGTH field set to 255 (0xFF) bytes. The ALLOCATION LENGTH field specifies the maximum number of bytes that an application client has allocated for returned data. Reference: SCSI Primary Commands - 4 (SPC-4) Revision 30 (or published) specification Section 6.4 http://www.t10.org/ftp/t10/drafts/spc4/spc4r30.pdf Expectation: The device must return GOOD (0x0) SCSI status and data of size smaller than or equal to 255 bytes. Sending SCSI command to device. INQUIRY Command: 12 00 00 00 ff 00 DeviceIoControl SUCCEEDED. SCSI status: 0x00 (GOOD) Sense bytes: 0x00 Data bytes: 0x24 00 04 08 0C --------------------------------------------------------------- 000 00000602 1F000002 4E564D65 20202020 ........NVMe 010 38394B54 46333230 3847334D 5331544C 89KTF3208G3MS1TL 020 32303220 0A0A0612 00400000 FFFF0000 202 .....@...... == DONE ============================================================== Returned data size is 0x24 bytes. End: Pass, ASSERTION: INQUIRY Basic Verification Test, TUID=, Repro=scsicompliance.exe /device \\.\PhysicalDrive1 /verbosity 4 /scenario NVMe /operation test Policy: REQUIRED Start: ASSERTION: INQUIRY Extended Verification Test, TUID= Description: Allocation length was 1 byte in SPC2 and 2 bytes in SPC3 and SPC4. When allocation length is set to more than 255 bytes, device must not return CHECK condition. Reference: SCSI Primary Commands - 4 (SPC-4) Revision 30 (or published) specification Section 6.4 http://www.t10.org/ftp/t10/drafts/spc4/spc4r30.pdf Expectation: The device must return GOOD (0x0) SCSI status. Sending SCSI command to device. INQUIRY Command: 12 00 00 01 ff 00 DeviceIoControl SUCCEEDED. SCSI status: 0x00 (GOOD) Sense bytes: 0x00 Data bytes: 0x24 00 04 08 0C --------------------------------------------------------------- 000 00000602 1F000002 4E564D65 20202020 ........NVMe 010 38394B54 46333230 3847334D 5331544C 89KTF3208G3MS1TL 020 32303220 0A0A0612 00400000 FFFF0000 202 .....@...... == DONE ============================================================== SCSI Status: 0x00 Returned data size is 0x24 bytes. End: Pass, ASSERTION: INQUIRY Extended Verification Test, TUID=, Repro=scsicompliance.exe /device \\.\PhysicalDrive1 /verbosity 4 /scenario NVMe /operation test Policy: REQUIRED Start: ASSERTION: INQUIRY Test for error when PAGE CODE field is nonzero and EVPD=0., TUID= Description: Checking that an error is returned when PAGE CODE field isnonzero and EVPD=0. Reference: SCSI Primary Commands - 4 (SPC-4) Revision 30 (or published) specification Section 6.4 http://www.t10.org/ftp/t10/drafts/spc4/spc4r30.pdf Expectation: ScsiStatus == 0x2, CHECK CONDITION. Sending SCSI command to device. INQUIRY Command: 12 00 ff 00 ff 00 DeviceIoControl SUCCEEDED. SCSI status: 0x02 (CHECK CONDITION) Sense bytes: 0x12 Data bytes: 0x0 Sense Info ------------------------------------------------------------- ErrorCode: 0x70 Valid: 0x0 SenseKey: 0x5 IncorrectLength: 0x0 EndOfMedia: 0x0 FileMark: 0x0 Information: 0x0 0 0 0 AdditionalSenseLength: 0xa CommandSpecificInformation: 0x0 0 0 0 AdditionalSenseCode: 0x24 AdditionalSenseCodeQualifier: 0x0 FieldReplaceableUnitCode: 0x0 SenseKeySpecific: 0x0 0 0 == DONE ============================================================== End: Pass, ASSERTION: INQUIRY Test for error when PAGE CODE field is nonzero and EVPD=0., TUID=, Repro=scsicompliance.exe /device \\.\PhysicalDrive1 /verbosity 4 /scenario NVMe /operation test Policy: REQUIRED Start: ASSERTION: INQUIRY Retrieving standard inquiry data., TUID= Description: Checking if we can retrieve standard inquiry data. Reference: SCSI Primary Commands - 4 (SPC-4) Revision 30 (or published) specification Section 6.4 http://www.t10.org/ftp/t10/drafts/spc4/spc4r30.pdf Expectation: ScsiStatus == 0x0, GOOD. Sending SCSI command to device. INQUIRY Command: 12 00 00 00 ff 00 DeviceIoControl SUCCEEDED. SCSI status: 0x00 (GOOD) Sense bytes: 0x00 Data bytes: 0x24 00 04 08 0C --------------------------------------------------------------- 000 00000602 1F000002 4E564D65 20202020 ........NVMe 010 38394B54 46333230 3847334D 5331544C 89KTF3208G3MS1TL 020 32303220 0A0A0612 00400000 FFFF0000 202 .....@...... == DONE ============================================================== End: Pass, ASSERTION: INQUIRY Retrieving standard inquiry data., TUID=, Repro=scsicompliance.exe /device \\.\PhysicalDrive1 /verbosity 4 /scenario NVMe /operation test Policy: REQUIRED Start: ASSERTION: INQUIRY Checking size of standard inquiry data., TUID= Description: Standard INQUIRY data shall contain at least 36 bytes. Reference: SCSI Primary Commands - 4 (SPC-4) Revision 30 (or published) specification Section 6.4 http://www.t10.org/ftp/t10/drafts/spc4/spc4r30.pdf Expectation: Data Transfer Length >= 36 bytes. Sending SCSI command to device. INQUIRY Command: 12 00 00 00 ff 00 DeviceIoControl SUCCEEDED. SCSI status: 0x00 (GOOD) Sense bytes: 0x00 Data bytes: 0x24 00 04 08 0C --------------------------------------------------------------- 000 00000602 1F000002 4E564D65 20202020 ........NVMe 010 38394B54 46333230 3847334D 5331544C 89KTF3208G3MS1TL 020 32303220 0A0A0612 00400000 FFFF0000 202 .....@...... == DONE ============================================================== End: Pass, ASSERTION: INQUIRY Checking size of standard inquiry data., TUID=, Repro=scsicompliance.exe /device \\.\PhysicalDrive1 /verbosity 4 /scenario NVMe /operation test Policy: REQUIRED Start: ASSERTION: INQUIRY Testing device type field., TUID= Description: Checking device type field to ensure it is a direct access device. Reference: SCSI Primary Commands - 4 (SPC-4) Revision 30 (or published) specification Section 6.4 http://www.t10.org/ftp/t10/drafts/spc4/spc4r30.pdf Expectation: Device Type == 0x0, Direct-access device. Device is a 0 device. Device is a Direct access block device device. End: Pass, ASSERTION: INQUIRY Testing device type field., TUID=, Repro=scsicompliance.exe /device \\.\PhysicalDrive1 /verbosity 4 /scenario NVMe /operation test Policy: REQUIRED Start: ASSERTION: INQUIRY Testing peripheral qualifier field., TUID= Description: Checking Peripheral Qualifier field. Reference: SCSI Primary Commands - 4 (SPC-4) Revision 30 (or published) specification Section 6.4 http://www.t10.org/ftp/t10/drafts/spc4/spc4r30.pdf Expectation: Peripheral qualifier field == 0. End: Pass, ASSERTION: INQUIRY Testing peripheral qualifier field., TUID=, Repro=scsicompliance.exe /device \\.\PhysicalDrive1 /verbosity 4 /scenario NVMe /operation test Policy: REQUIRED Start: ASSERTION: INQUIRY Check all fields of Inquiry Data, TUID= Description: Checking if Inquiry data response is meaningful Reference: SCSI Primary Commands - 4 (SPC-4) Revision 30 (or published) specification Section 6.4 http://www.t10.org/ftp/t10/drafts/spc4/spc4r30.pdf Expectation: Device returns meaningful data as defined in SCSI-NVME translation document Sending SCSI command to device. INQUIRY Command: 12 00 00 00 ff 00 DeviceIoControl SUCCEEDED. SCSI status: 0x00 (GOOD) Sense bytes: 0x00 Data bytes: 0x24 00 04 08 0C --------------------------------------------------------------- 000 00000602 1F000002 4E564D65 20202020 ........NVMe 010 38394B54 46333230 3847334D 5331544C 89KTF3208G3MS1TL 020 32303220 0A0A0612 00400000 FFFF0000 202 .....@...... == DONE ============================================================== Returned data size is 0x24 bytes. "DeviceTypeQualifier" = 0x0 "DeviceType" = 0x0 "RMB" = 0x0 "Version" = 0x6 "NormACA" = 0x0 "HISUP" = 0x0 "ResponseDataFormat" = 0x2 AdditionalLength = 0x1f "SCCS" = 0x0 "ACC" = 0x0 "TPGS" = 0x0 "3PC" = 0x0 Protect bit = 0 "EnclosureServices" = 0x0 "MultiPort" = 0x0 "Addr16" = 0x0 "Wide16Bit" = 0x0 "SYNC" = 0x0 "CMDQ" = 0x1 End: Pass, ASSERTION: INQUIRY Check all fields of Inquiry Data, TUID=, Repro=scsicompliance.exe /device \\.\PhysicalDrive1 /verbosity 4 /scenario NVMe /operation test Policy: REQUIRED Start: ASSERTION: INQUIRY Checking RESPONSE DATA FORMAT., TUID= Description: Checking that RESPONSE DATA FORMAT == 2. Reference: SCSI Primary Commands - 4 (SPC-4) Revision 30 (or published) specification Section 6.4 http://www.t10.org/ftp/t10/drafts/spc4/spc4r30.pdf Expectation: RESPONSE DATA FORMAT == 2. End: Pass, ASSERTION: INQUIRY Checking RESPONSE DATA FORMAT., TUID=, Repro=scsicompliance.exe /device \\.\PhysicalDrive1 /verbosity 4 /scenario NVMe /operation test Policy: REQUIRED Start: ASSERTION: INQUIRY Checking additional length., TUID= Description: Checking additional length field is correct. Reference: SCSI Primary Commands - 4 (SPC-4) Revision 30 (or published) specification Section 6.4 http://www.t10.org/ftp/t10/drafts/spc4/spc4r30.pdf Expectation: Additional Length field == Total Data size - 5 End: Pass, ASSERTION: INQUIRY Checking additional length., TUID=, Repro=scsicompliance.exe /device \\.\PhysicalDrive1 /verbosity 4 /scenario NVMe /operation test Policy: REQUIRED Start: ASSERTION: INQUIRY Checking VENDOR IDENTIFICATION field., TUID= Description: Checking that VENDOR IDENTIFICATION field contains valid ASCII. Reference: SCSI Primary Commands - 4 (SPC-4) Revision 30 (or published) specification Section 6.4 http://www.t10.org/ftp/t10/drafts/spc4/spc4r30.pdf Expectation: VENDOR IDENTIFICATION field contains valid ASCII. Sending SCSI command to device. INQUIRY Command: 12 00 00 00 ff 00 DeviceIoControl SUCCEEDED. SCSI status: 0x00 (GOOD) Sense bytes: 0x00 Data bytes: 0x24 00 04 08 0C --------------------------------------------------------------- 000 00000602 1F000002 4E564D65 20202020 ........NVMe 010 38394B54 46333230 3847334D 5331544C 89KTF3208G3MS1TL 020 32303220 0A0A0612 00400000 FFFF0000 202 .....@...... == DONE ============================================================== Returned data size is 0x24 bytes. VENDOR IDENTIFICATION field contains valid ASCII. INQUIRY: Checking NVMe to ensure validity. End: Pass, ASSERTION: INQUIRY Checking VENDOR IDENTIFICATION field., TUID=, Repro=scsicompliance.exe /device \\.\PhysicalDrive1 /verbosity 4 /scenario NVMe /operation test Policy: REQUIRED Start: ASSERTION: INQUIRY Checking PRODUCT IDENTIFICATION field., TUID= Description: Checking that PRODUCT IDENTIFICATION field contains valid ASCII. Reference: SCSI Primary Commands - 4 (SPC-4) Revision 30 (or published) specification Section 6.4 http://www.t10.org/ftp/t10/drafts/spc4/spc4r30.pdf Expectation: PRODUCT IDENTIFICATION field contains valid ASCII. PRODUCT IDENTIFICATION field contains valid ASCII. End: Pass, ASSERTION: INQUIRY Checking PRODUCT IDENTIFICATION field., TUID=, Repro=scsicompliance.exe /device \\.\PhysicalDrive1 /verbosity 4 /scenario NVMe /operation test Policy: REQUIRED Start: ASSERTION: INQUIRY Checking PRODUCT REVISION LEVEL field., TUID= Description: Checking that PRODUCT REVISION LEVEL field contains valid ASCII. Reference: SCSI Primary Commands - 4 (SPC-4) Revision 30 (or published) specification Section 6.4 http://www.t10.org/ftp/t10/drafts/spc4/spc4r30.pdf Expectation: PRODUCT REVISION LEVEL field contains valid ASCII. PRODUCT REVISION LEVEL field contains valid ASCII. End: Pass, ASSERTION: INQUIRY Checking PRODUCT REVISION LEVEL field., TUID=, Repro=scsicompliance.exe /device \\.\PhysicalDrive1 /verbosity 4 /scenario NVMe /operation test Policy: REQUIRED Start: ASSERTION: INQUIRY Checking for Supported Vital Product Pages., TUID= Description: Checking to see if Vital Product Pages are supported. Reference: SCSI Primary Commands - 4 (SPC-4) Revision 30 (or published) specification Section 7.8 http://www.t10.org/ftp/t10/drafts/spc4/spc4r30.pdf Expectation: List of Supported Vital Product Data Pages is returned. Sending SCSI command to device. INQUIRY Command: 12 01 00 00 ff 00 DeviceIoControl SUCCEEDED. SCSI status: 0x00 (GOOD) Sense bytes: 0x00 Data bytes: 0xa 00 04 08 0C --------------------------------------------------------------- 000 00000006 008083B0 B1B24D65 20202020 ..........Me == DONE ============================================================== Supported Vital Product Data Pages is returned. End: Pass, ASSERTION: INQUIRY Checking for Supported Vital Product Pages., TUID=, Repro=scsicompliance.exe /device \\.\PhysicalDrive1 /verbosity 4 /scenario NVMe /operation test Policy: REQUIRED Start: ASSERTION: INQUIRY Testing access to each supported Vital Product Data Page., TUID= Description: Attempting to access each supported Vital Product Data Page. Reference: SCSI Primary Commands - 4 (SPC-4) Revision 30 (or published) specification Section 7.8 http://www.t10.org/ftp/t10/drafts/spc4/spc4r30.pdf Expectation: Each supported page is accessible (up to 255 bytes). page length is 6. Sending SCSI command to device. INQUIRY Command: 12 01 00 00 ff 00 DeviceIoControl SUCCEEDED. SCSI status: 0x00 (GOOD) Sense bytes: 0x00 Data bytes: 0xa 00 04 08 0C --------------------------------------------------------------- 000 00000006 008083B0 B1B24D65 20202020 ..........Me == DONE ============================================================== Sending SCSI command to device. INQUIRY Command: 12 01 80 00 ff 00 DeviceIoControl SUCCEEDED. SCSI status: 0x00 (GOOD) Sense bytes: 0x00 Data bytes: 0x18 00 04 08 0C --------------------------------------------------------------- 000 00800014 30303034 5F413333 345F4444 ....0004_A334_DD 010 44385F20 2020202E 3847334D 5331544C D8_ .8G3MS1TL == DONE ============================================================== Sending SCSI command to device. INQUIRY Command: 12 01 83 00 ff 00 DeviceIoControl SUCCEEDED. SCSI status: 0x00 (GOOD) Sense bytes: 0x00 Data bytes: 0x18 00 04 08 0C --------------------------------------------------------------- 000 00830014 01020010 00000000 00000000 ................ 010 001517FF FF0AEB84 3847334D 5331544C ........8G3MS1TL == DONE ============================================================== Sending SCSI command to device. INQUIRY Command: 12 01 b0 00 ff 00 DeviceIoControl SUCCEEDED. SCSI status: 0x00 (GOOD) Sense bytes: 0x00 Data bytes: 0x40 00 04 08 0C --------------------------------------------------------------- 000 00B0003C 00000000 00000000 00000000 ...<............ 010 00000000 0000FFFF 00000100 00000000 ................ 020 00000000 00000000 00000000 00000000 ................ 030 00000000 00000000 00000000 00000000 ................ == DONE ============================================================== Sending SCSI command to device. INQUIRY Command: 12 01 b1 00 ff 00 DeviceIoControl SUCCEEDED. SCSI status: 0x00 (GOOD) Sense bytes: 0x00 Data bytes: 0x40 00 04 08 0C --------------------------------------------------------------- 000 00B1003C 00010000 00000000 00000000 ...<............ 010 00000000 00000000 00000000 00000000 ................ 020 00000000 00000000 00000000 00000000 ................ 030 00000000 00000000 00000000 00000000 ................ == DONE ============================================================== Sending SCSI command to device. INQUIRY Command: 12 01 b2 00 ff 00 DeviceIoControl SUCCEEDED. SCSI status: 0x00 (GOOD) Sense bytes: 0x00 Data bytes: 0x8 00 04 08 0C --------------------------------------------------------------- 000 00B20004 00840100 00000000 00000000 ................ == DONE ============================================================== End: Pass, ASSERTION: INQUIRY Testing access to each supported Vital Product Data Page., TUID=, Repro=scsicompliance.exe /device \\.\PhysicalDrive1 /verbosity 4 /scenario NVMe /operation test Policy: REQUIRED Start: ASSERTION: INQUIRY Attempting Unit Serial Number Page 0x80., TUID= Description: Checking if Unit Serial Number Page 0x80 is supported Reference: SCSI Primary Commands - 4 (SPC-4) Revision 30 (or published) specification Section 7.8.15 http://www.t10.org/ftp/t10/drafts/spc4/spc4r30.pdf Expectation: Device returns meaningful data as defined in SCSI-NVME translation document Sending SCSI command to device. INQUIRY Command: 12 01 80 00 ff 00 DeviceIoControl SUCCEEDED. SCSI status: 0x00 (GOOD) Sense bytes: 0x00 Data bytes: 0x18 00 04 08 0C --------------------------------------------------------------- 000 00800014 30303034 5F413333 345F4444 ....0004_A334_DD 010 44385F20 2020202E 00000000 00000000 D8_ ......... == DONE ============================================================== INQUIRY: Unit serial number page is supported. "Peripheral Qualifier" = 0x0 "Peripheral Device Type" = 0x0 "Page Code" = 0x80 Unit serial number is valid ASCII (0004_A334_DDD8_ .). Unit serial number has '_' and '.' at the right positions. End: Pass, ASSERTION: INQUIRY Attempting Unit Serial Number Page 0x80., TUID=, Repro=scsicompliance.exe /device \\.\PhysicalDrive1 /verbosity 4 /scenario NVMe /operation test Policy: REQUIRED Start: ASSERTION: INQUIRY Attempting Device identification Page 0x83., TUID= Description: Checking if Device identification Page 0x83 is supported. Reference: SCSI Primary Commands - 4 (SPC-4) Revision 30 (or published) specification Section 7.8.5 http://www.t10.org/ftp/t10/drafts/spc4/spc4r30.pdf Expectation: ScsiStatus == 0x0. Sending SCSI command to device. INQUIRY Command: 12 01 83 00 ff 00 DeviceIoControl SUCCEEDED. SCSI status: 0x00 (GOOD) Sense bytes: 0x00 Data bytes: 0x18 00 04 08 0C --------------------------------------------------------------- 000 00830014 01020010 00000000 00000000 ................ 010 001517FF FF0AEB84 3847334D 5331544C ........8G3MS1TL == DONE ============================================================== End: Pass, ASSERTION: INQUIRY Attempting Device identification Page 0x83., TUID=, Repro=scsicompliance.exe /device \\.\PhysicalDrive1 /verbosity 4 /scenario NVMe /operation test Policy: REQUIRED Start: ASSERTION: INQUIRY Checking Identification Descriptors in VPD page 0x83., TUID= Description: Checking that Identification Descriptors contain meaningful data. Reference: SCSI Primary Commands - 4 (SPC-4) Revision 30 (or published) specification Section 7.8.5 http://www.t10.org/ftp/t10/drafts/spc4/spc4r30.pdf Expectation: All descriptors are compliant, and contain meaningful data. Identification descriptor 0. Code Set: 0x1 (Binary). Association: 0x0 (Logical Unit). Identifier Type: 0x2 (EUI-64). Identifier Length: 0x10 (16) bytes. Identifier: 0x0000000000000000001517FFFF0AEB84 EUI-64 Device Identifier, checking validity All descriptors are compliant. End: Pass, ASSERTION: INQUIRY Checking Identification Descriptors in VPD page 0x83., TUID=, Repro=scsicompliance.exe /device \\.\PhysicalDrive1 /verbosity 4 /scenario NVMe /operation test Policy: REQUIRED Start: ASSERTION: INQUIRY Checking Block device characteristics VPD page 0xB1., TUID= Description: Checking that Block device characteristics page contain meaningful data. Reference: SCSI Block Commands - 3 (SBC-3) Revision 26 (or published) specification Section 6.5.2 http://www.t10.org/ftp/t10/drafts/sbc3/sbc3r26.pdf Expectation: Device returns meaningful data as defined in SCSI-NVME translation document Sending SCSI command to device. INQUIRY Command: 12 01 b1 00 ff 00 DeviceIoControl SUCCEEDED. SCSI status: 0x00 (GOOD) Sense bytes: 0x00 Data bytes: 0x40 00 04 08 0C --------------------------------------------------------------- 000 00B1003C 00010000 00000000 00000000 ...<............ 010 00000000 00000000 00000000 00000000 ................ 020 00000000 00000000 00000000 00000000 ................ 030 00000000 00000000 00000000 00000000 ................ == DONE ============================================================== INQUIRY: Block Device Characteristics page is supported. "Peripheral Qualifier" = 0x0 "Peripheral Device Type" = 0x0 "Page Code" = 0xb1 "Page Length" = 0x3c Checking Medium Rotation Rate Non-rotating medium (e.g., solid state) Nominal form factor is not reported End: Pass, ASSERTION: INQUIRY Checking Block device characteristics VPD page 0xB1., TUID=, Repro=scsicompliance.exe /device \\.\PhysicalDrive1 /verbosity 4 /scenario NVMe /operation test Policy: REQUIRED Start: ASSERTION: INQUIRY Attempting Block Limits page Page 0xB0., TUID= Description: Checking if Block Limits Page is supported. Reference: Invalid String Expectation: GOOD SCSI status Sending SCSI command to device. INQUIRY Command: 12 01 b0 00 ff 00 DeviceIoControl SUCCEEDED. SCSI status: 0x00 (GOOD) Sense bytes: 0x00 Data bytes: 0x40 00 04 08 0C --------------------------------------------------------------- 000 00B0003C 00000000 00000000 00000000 ...<............ 010 00000000 0000FFFF 00000100 00000000 ................ 020 00000000 00000000 00000000 00000000 ................ 030 00000000 00000000 00000000 00000000 ................ == DONE ============================================================== INQUIRY: Block Limits page is supported. Maximum Compare and Write Length = 0x0 Optimal Transfer Length Granularity = 0x0 Maximum Transfer Length in blocks = 0x0 Optimal Transfer Length = 0x0 Maximum Prefetch XRead XWrite Transfer Length = 0x0 Maximum Unmap LBA Count = 0xFFFF Maximum unmap Block Descriptor Count = 0x100 Optimal Unmap Granularity = 0x0 Unmap Granularity Alignment= 0x80000000 Unmap Granularity Alignment is not valid Validating fields End: Pass, ASSERTION: INQUIRY Attempting Block Limits page Page 0xB0., TUID=, Repro=scsicompliance.exe /device \\.\PhysicalDrive1 /verbosity 4 /scenario NVMe /operation test Policy: REQUIRED Start: ASSERTION: SECURITY PROTOCOL OUT Basic Test, TUID= Description: This test sends SPOUT command to device unit before sending SPIN next Reference: SCSI Primary Commands - 4 (SPC-4) Revision 30 (or published) specification Section 6.31 http://www.t10.org/ftp/t10/drafts/spc4/spc4r30.pdf Expectation: Devices which understand IEEE 1667 silo commands must return GOOD (0x0) SCSI statusand devices which dont can return check condition Rationale: This command is used for security-related functions by some components of Windows. To ensure that devices respond correctly in both the implemented and not-implemented case, this command is tested for the correct response. Sending SCSI command to device. Security Protocol OUT Command: b5 00 00 00 00 00 00 00 00 00 00 00 DeviceIoControl SUCCEEDED. SCSI status: 0x02 (CHECK CONDITION) Sense bytes: 0x12 Data bytes: 0x0 Sense Info ------------------------------------------------------------- ErrorCode: 0x70 Valid: 0x0 SenseKey: 0x5 IncorrectLength: 0x0 EndOfMedia: 0x0 FileMark: 0x0 Information: 0x0 0 0 0 AdditionalSenseLength: 0xa CommandSpecificInformation: 0x0 0 0 0 AdditionalSenseCode: 0x20 AdditionalSenseCodeQualifier: 0x0 FieldReplaceableUnitCode: 0x0 SenseKeySpecific: 0x0 0 0 == DONE ============================================================== Scsi Status is 0x2. End: Pass, ASSERTION: SECURITY PROTOCOL OUT Basic Test, TUID=, Repro=scsicompliance.exe /device \\.\PhysicalDrive1 /verbosity 4 /scenario NVMe /operation test Policy: REQUIRED Start: ASSERTION: SECURITY PROTOCOL IN Basic Test, TUID= Description: This test sends SPIN command followed by test unit ready to check if deviceis not in bad state to accept further commads Reference: SCSI Primary Commands - 4 (SPC-4) Revision 30 (or published) specification Section 6.30 http://www.t10.org/ftp/t10/drafts/spc4/spc4r30.pdf Expectation: Devices which understand IEEE 1667 silo commands must return GOOD (0x0) SCSI statusand devices which dont can return check condition and then respond to TUR with GOOD SCSI status Rationale: This command is used for security-related functions by some components of Windows. To ensure that devices respond correctly in both the implemented and not-implemented case, this command is tested for the correct response. Sending SCSI command to device. Security Protocol IN Command: a2 00 00 00 00 00 00 00 10 00 00 00 DeviceIoControl SUCCEEDED. SCSI status: 0x02 (CHECK CONDITION) Sense bytes: 0x12 Data bytes: 0x0 Sense Info ------------------------------------------------------------- ErrorCode: 0x70 Valid: 0x0 SenseKey: 0x5 IncorrectLength: 0x0 EndOfMedia: 0x0 FileMark: 0x0 Information: 0x0 0 0 0 AdditionalSenseLength: 0xa CommandSpecificInformation: 0x0 0 0 0 AdditionalSenseCode: 0x20 AdditionalSenseCodeQualifier: 0x0 FieldReplaceableUnitCode: 0x0 SenseKeySpecific: 0x0 0 0 == DONE ============================================================== Scsi Status is 0x2. Sending SCSI command to device. Test Unit Ready Command: 00 00 00 00 00 00 DeviceIoControl SUCCEEDED. SCSI status: 0x00 (GOOD) Sense bytes: 0x00 Data bytes: 0x0 == DONE ============================================================== Expect: Scsi Status is 0x0. Scsi Status is 0x0. End: Pass, ASSERTION: SECURITY PROTOCOL IN Basic Test, TUID=, Repro=scsicompliance.exe /device \\.\PhysicalDrive1 /verbosity 4 /scenario NVMe /operation test Policy: REQUIRED Start: ASSERTION: READ CAPACITY (16) Invalid Service Action test, TUID= Description: Send Read Capacity 16 with invalid service action and expectCHECK condition Reference: SCSI Block Commands - 3 (SBC-3) Revision 26 (or published) specification Section 5.16 http://www.t10.org/ftp/t10/drafts/sbc3/sbc3r26.pdf Expectation: The device must return CHECK condition with illegal request invalid field in CDB, 5/24/00 Sending READ CAPACITY (16) command with a reserved service action value of 0x1F Sending SCSI command to device. Read Capacity 16 Command: 9e 1f 00 00 00 00 00 00 00 00 00 00 00 20 00 00 DeviceIoControl SUCCEEDED. SCSI status: 0x02 (CHECK CONDITION) Sense bytes: 0x12 Data bytes: 0x0 Sense Info ------------------------------------------------------------- ErrorCode: 0x70 Valid: 0x0 SenseKey: 0x5 IncorrectLength: 0x0 EndOfMedia: 0x0 FileMark: 0x0 Information: 0x0 0 0 0 AdditionalSenseLength: 0xa CommandSpecificInformation: 0x0 0 0 0 AdditionalSenseCode: 0x24 AdditionalSenseCodeQualifier: 0x0 FieldReplaceableUnitCode: 0x0 SenseKeySpecific: 0x0 0 0 == DONE ============================================================== SCSI status is 0x2. End: Pass, ASSERTION: READ CAPACITY (16) Invalid Service Action test, TUID=, Repro=scsicompliance.exe /device \\.\PhysicalDrive1 /verbosity 4 /scenario NVMe /operation test Policy: REQUIRED Start: ASSERTION: READ CAPACITY (16) Basic Verification Test, TUID= Description: The device must return GOOD (0x0) SCSI status and 8 bytes of parameter data describing the capacity and medium format of the block device to the data-in buffer. Reference: SCSI Block Commands - 3 (SBC-3) Revision 26 (or published) specification Section 5.16 http://www.t10.org/ftp/t10/drafts/sbc3/sbc3r26.pdf Expectation: The device must return GOOD (0x0) SCSI status Sending READ CAPACITY (16) command with PMT and LOGICAL BLOCK ADDRESS field set to zero (9E 10 00 00 00 00 00 00 00 00 00 00 00 20 00 00 ) to device... Sending SCSI command to device. Read Capacity 16 Command: 9e 10 00 00 00 00 00 00 00 00 00 00 00 20 00 00 DeviceIoControl SUCCEEDED. SCSI status: 0x00 (GOOD) Sense bytes: 0x00 Data bytes: 0x20 00 04 08 0C --------------------------------------------------------------- 000 00000000 5B84FFFF 00000200 00000000 ....[........... 010 00000000 00000000 00000000 00000000 ................ == DONE ============================================================== SCSI status is 0x0. LOGICAL BLOCK ADDRESS: 1535442943 BLOCK LENGTH IN BYTES: 512 End: Pass, ASSERTION: READ CAPACITY (16) Basic Verification Test, TUID=, Repro=scsicompliance.exe /device \\.\PhysicalDrive1 /verbosity 4 /scenario NVMe /operation test Policy: REQUIRED Start: ASSERTION: READ CAPACITY (16) Capacity Test, TUID= Description: Send a READ CAPACITY command to check the reported block address. If the block address is greater than the READ CAPACITY 10 limit, ensure READ CAPACITY 10 block address is set to 0xFFFF_FFFF. Reference: SCSI Block Commands - 3 (SBC-3) Revision 26 (or published) specification Section 5.16 http://www.t10.org/ftp/t10/drafts/sbc3/sbc3r26.pdf Expectation: For block addresses greater than READ CAPACITY 10 can describe, the READ CAPACITY 10 block address is set to 0xFFFF_FFFF. Sending READ CAPACITY (16) command (0x9E) to device... Sending SCSI command to device. Read Capacity 16 Command: 9e 10 00 00 00 00 00 00 00 00 00 00 00 20 00 00 DeviceIoControl SUCCEEDED. SCSI status: 0x00 (GOOD) Sense bytes: 0x00 Data bytes: 0x20 00 04 08 0C --------------------------------------------------------------- 000 00000000 5B84FFFF 00000200 00000000 ....[........... 010 00000000 00000000 00000000 00000000 ................ == DONE ============================================================== SCSI status is 0x0. LOGICAL BLOCK ADDRESS: 1535442943 BLOCK LENGTH IN BYTES: 512 End: Pass, ASSERTION: READ CAPACITY (16) Capacity Test, TUID=, Repro=scsicompliance.exe /device \\.\PhysicalDrive1 /verbosity 4 /scenario NVMe /operation test Policy: REQUIRED Start: ASSERTION: READ CAPACITY (16) Lowest aligned LBA Test, TUID= Description: Verify if the lowest aligned LBA is not greater than number of logical blocks per physical block Reference: SCSI Block Commands - 3 (SBC-3) Revision 26 (or published) specification Section 5.16 http://www.t10.org/ftp/t10/drafts/sbc3/sbc3r26.pdf Expectation: Lowest aligned LBA value should be less than the number of logicalblocks per physical block Lowest aligned LBA 0 Logical blocks per Physical block exponent 0 Logical blocks per Physical block = 1.000000 End: Pass, ASSERTION: READ CAPACITY (16) Lowest aligned LBA Test, TUID=, Repro=scsicompliance.exe /device \\.\PhysicalDrive1 /verbosity 4 /scenario NVMe /operation test Policy: REQUIRED Start: ASSERTION: START STOP UNIT Basic Test 1, TUID= Description: Sending StartStopUnit with IMMED=0, LOEJ=0, START=0, spin down drive Reference: SCSI Block Commands - 3 (SBC-3) Revision 26 (or published) specification Section 5.23 http://www.t10.org/ftp/t10/drafts/sbc3/sbc3r26.pdf Expectation: The device must return GOOD (0x0) SCSI status Rationale: This command is required to ensure data integrity in the face of power state changes and disconnection from the bus. Sending SCSI command to device. Start Stop Unit Command: 1b 00 00 00 00 00 DeviceIoControl SUCCEEDED. SCSI status: 0x00 (GOOD) Sense bytes: 0x00 Data bytes: 0x0 == DONE ============================================================== SCSI status is 0x0. End: Pass, ASSERTION: START STOP UNIT Basic Test 1, TUID=, Repro=scsicompliance.exe /device \\.\PhysicalDrive1 /verbosity 4 /scenario NVMe /operation test Policy: REQUIRED Start: ASSERTION: START STOP UNIT Basic Test 2, TUID= Description: Sending StartStopUnit with IMMED=0, LOEJ=0, START=1, spin up drive Reference: SCSI Block Commands - 3 (SBC-3) Revision 26 (or published) specification Section 5.23 http://www.t10.org/ftp/t10/drafts/sbc3/sbc3r26.pdf Expectation: The device must return GOOD (0x0) SCSI status Sending SCSI command to device. Start Stop Unit Command: 1b 00 00 00 01 00 DeviceIoControl SUCCEEDED. SCSI status: 0x00 (GOOD) Sense bytes: 0x00 Data bytes: 0x0 == DONE ============================================================== SCSI status is 0x0. End: Pass, ASSERTION: START STOP UNIT Basic Test 2, TUID=, Repro=scsicompliance.exe /device \\.\PhysicalDrive1 /verbosity 4 /scenario NVMe /operation test Policy: REQUIRED Start: ASSERTION: START STOP UNIT Basic Test 3, TUID= Description: Sending StartStopUnit with IMMED=1, LOEJ=0, START=0, spin down drive Reference: SCSI Block Commands - 3 (SBC-3) Revision 26 (or published) specification Section 5.23 http://www.t10.org/ftp/t10/drafts/sbc3/sbc3r26.pdf Expectation: The device must return CHECK_CONDITION SCSI status Sending SCSI command to device. Start Stop Unit Command: 1b 01 00 00 00 00 DeviceIoControl SUCCEEDED. SCSI status: 0x02 (CHECK CONDITION) Sense bytes: 0x12 Data bytes: 0x0 Sense Info ------------------------------------------------------------- ErrorCode: 0x70 Valid: 0x0 SenseKey: 0x5 IncorrectLength: 0x0 EndOfMedia: 0x0 FileMark: 0x0 Information: 0x0 0 0 0 AdditionalSenseLength: 0xa CommandSpecificInformation: 0x0 0 0 0 AdditionalSenseCode: 0x24 AdditionalSenseCodeQualifier: 0x0 FieldReplaceableUnitCode: 0x0 SenseKeySpecific: 0x0 0 0 == DONE ============================================================== SCSI status is 0x2. End: Pass, ASSERTION: START STOP UNIT Basic Test 3, TUID=, Repro=scsicompliance.exe /device \\.\PhysicalDrive1 /verbosity 4 /scenario NVMe /operation test Policy: REQUIRED Start: ASSERTION: START STOP UNIT Basic Test 4, TUID= Description: Sending StartStopUnit with IMMED=1, LOEJ=0, START=1, spin up drive Reference: SCSI Block Commands - 3 (SBC-3) Revision 26 (or published) specification Section 5.23 http://www.t10.org/ftp/t10/drafts/sbc3/sbc3r26.pdf Expectation: The device must return CHECK_CONDITION SCSI status Sending SCSI command to device. Start Stop Unit Command: 1b 01 00 00 01 00 DeviceIoControl SUCCEEDED. SCSI status: 0x02 (CHECK CONDITION) Sense bytes: 0x12 Data bytes: 0x0 Sense Info ------------------------------------------------------------- ErrorCode: 0x70 Valid: 0x0 SenseKey: 0x5 IncorrectLength: 0x0 EndOfMedia: 0x0 FileMark: 0x0 Information: 0x0 0 0 0 AdditionalSenseLength: 0xa CommandSpecificInformation: 0x0 0 0 0 AdditionalSenseCode: 0x24 AdditionalSenseCodeQualifier: 0x0 FieldReplaceableUnitCode: 0x0 SenseKeySpecific: 0x0 0 0 == DONE ============================================================== SCSI status is 0x2. End: Pass, ASSERTION: START STOP UNIT Basic Test 4, TUID=, Repro=scsicompliance.exe /device \\.\PhysicalDrive1 /verbosity 4 /scenario NVMe /operation test =============================================================================== Command Total Pass Warn Fail TEST UNIT READY 1 1 0 0 REQUEST SENSE 4 4 0 0 READ (6) 4 4 0 0 WRITE (6) 5 5 0 0 INQUIRY 20 20 0 0 MODE SELECT 12 11 1 0 MODE SENSE 12 12 0 0 READ CAPACTIY 1 1 0 0 READ (10) 4 4 0 0 WRITE (10) 6 6 0 0 SYNCHRONIZE CACHE (10) 1 1 0 0 UNMAP 2 2 0 0 LOG SENSE 6 6 0 0 MODE SELECT (10) 14 12 2 0 MODE SENSE (10) 6 6 0 0 READ (16) 5 5 0 0 WRITE (16) 6 6 0 0 REPORT LUNS 23 23 0 0 SECURITY PROTOCOL IN/OUT 1 1 0 0 SECURITY PROTOCOL IN/OUT 1 1 0 0 READ CAPACTIY (16) 4 4 0 0 START STOP UNIT 4 4 0 0 SUMMARY 142 139 3 0 =============================================================================== Summary: Total=142, Passed=139, Failed=0, Blocked=0, Warned=3, Skipped=0