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)
|
Expected run time |
~10 minutes |
Categories |
Certification |
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
-
Support INQUIRY B0h VPD page command (status is GOOD)
-
For page code B2h:
-
Support INQUIRY B2h VPD page command (status is GOOD)
-
If DP = 1, then PAGE LENGTH = 0x4
-
Support INQUIRY B2h VPD page command (status is GOOD)
-
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
-
Support LOG SENSE command (status is GOOD)
-
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
-
Support GET LBA STATUS command (status is GOOD)
-
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
-
Support UNMAP (10) command (status is GOOD)
-
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
-
LBPME 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\ |