Thin Provisioning SCSI Compliance Test (LOGO)

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

Test details

Associated requirements

Device.Storage.Hd.ThinProvisioning.BasicFunction

See the device hardware requirements.

Platforms

Windows Server 2012 (x64) Windows Server 2012 R2

Expected run time

~10 minutes

Categories

Certification Functional

Type

Automated

 

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 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

Parameters

Parameter Description

DeviceID

The device in which to run the test (that is. the thin provision drive).

LoggingVerbosity

Detail of logging. Levels are cumulative. 0 = Assertions and results. 1 = Details. 2 = CDBs, data, and sense info. 3 = Debug and detailed Mode page information. 4 = Memory usage.

ThinProvision

The scenario for the Thin Provision.

Default value: ThinProvision

OperationId

The operation for the test.

Default value: test

 

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\

 

 

 

Send comments about this topic to Microsoft