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 |
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:
Inquiry VPD 0xB0, 0xB2 pages
Log Sense
Get LBA Status
Unmap
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\ |