Thin Provisioning SCSI Compliance Test (LOGO)

This test verifies that a storage array can properly support the thin provisioning feature.

Test details

   
Specifications
  • Device.Storage.Hd.ThinProvisioning.BasicFunction
Platforms
  • Windows Server 2016 (x64)
Supported Releases
  • Windows 10
  • Windows 10, version 1511
  • Windows 10, version 1607
  • Windows 10, version 1703
  • Windows 10, version 1709
  • Windows 10, version 1803
  • Windows 10, version 1809
  • Windows 10, version 1903
  • Next update to Windows 10
Expected run time (in minutes) 10
Category Compatibility
Timeout (in minutes) 600
Requires reboot false
Requires special configuration false
Type automatic

 

Additional documentation

Tests in this feature area might have additional documentation, including prerequisites, setup, and troubleshooting information, that can be found in the following topic(s):

Running the test

Before you run the test, complete the test setup as described in the test requirements: Hard Disk Drive Testing Prerequisites.

Before you run the test, make sure that the thin provisioned LUN is online initialized raw dis. Set the threshold for thin provisioned LUN to be 70 percent.

Troubleshooting

For generic troubleshooting of HLK test failures, see Troubleshooting Windows HLK Test Failures.

For troubleshooting information, see Troubleshooting Device.Storage Testing.

More information

This test ocuses on measuring the SCSI device compliance in Windows. The goal is twofold - to ensure that SCSI devices supported on Windows fully and completely adhere to the SCSI specifications set forth in SPC-4 and SBC-3, and to allow Microsoft and Microsoft partners to fully respect and comply with these standards. Maintaining compliance leads to a stronger and more reliable overall system.

Note

   For more information about these specifications, visit the Technical Committee T10 SCSI Storage Interfaces website.

 

The test sends the following commands to the device:

  1. Inquiry VPD 0xB0, 0xB2 pages

  2. Log Sense

  3. Get LBA Status

  4. Unmap

  5. Read Capacity 16 (not required)

SCSI commands

  • INQUIRY (see SPC-4 Section 6.6)

  • For page code B0h:

    • Support INQUIRY B0h VPD page command (status is GOOD)

    • PAGE LENGTH = 0x3C

    • MAXIMUM UNMAP LBA COUNT > 0

    • MAXIMUM UNMAP BLOCK DESCRIPTOR COUNT > 0

  • For page code B2h:

    • Support INQUIRY B2h VPD page command (status is GOOD)

    • If DP = 1, then PAGE LENGTH = 0x4

  • LOG SENSE (see SPC-4 Section 6.8)

    • Support LOG SENSE command (status is GOOD)

    • The log page's DS (Disable Save) bit is 1

    • The log page's SPF (Subpage Format) bit is 0

    • The log page's SUBPAGE CODE (byte 2) is 0

    • The log page's PAGE LENGTH is divisible by 12

    • Log parameter's FORMAT AND LINKING is 0x3

    • Log parameter's PARAMETER LENGTH = 0x8

    • Log parameter's PARAMETER CODE is between 0x1 and 0xFF

  • GET LBA STATUS (see SBC-3 Section 5.4)

    • Support GET LBA STATUS command (status is GOOD)

    • LBA status descriptor page length > 20

    • STARTING LOGICAL BLOCK ADDRESS + NUMBER OF LOGICAL BLOCKS < total number of LBAs

  • UNMAP (see SBC-3 Section 5.27)

    • Support UNMAP (10) command (status is GOOD)

    • After random WRITE (10) commands, sending down UNMAP, GET LBA STATUS should return some deallocated LBAs

    • Mapped resource should be reduced after sending down UNMAP command

  • READ CAPACITY (16) (see SBC-3 Section 5.16)

    This command is not required. Test gives warning only.

    • LBPME bit matches between READ CAPCITY (16) and INQUIRY B2h VPD page

    • LBPRZ bit matches between READ CAPCITY (16) and INQUIRY B2H VPD page

Command syntax

Command option Description

Scsicompliance.exe /device [DeviceID] /verbosity [LoggingVerbosity e.g. 4] /scenario ThinProvision /operation [OperationId]

Runs the test.

Note

   For command-line help for this test binary, type /h.

 

File list

File Location

Scsicompliance.exe

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

 

Parameters

Parameter name Parameter description
TPDiskDeviceObjLink Assigned by Create Storage Parameters.
WDKDeviceID Instance path of device to test
LoggingVerbosity LoggingVerbosity: Detail of logging. Levels are cumulative. 0 = Assertions and results. 1 = Details (default). 2 = CDBs , data, and sense info. 3 = Debug and detailed Mode page information. 4 = Memory usage
ScenarioId Scenario test name.
ScsiComplianceDevice Device path
LLU_NetAccessOnly User account for accessing test fileshare.
LLU_LclAdminUsr User account for running the test.
OperationId operation option
Destructive (0,1) 0=Passive, 1=Destructive