Thin Provisioning Performance Test - NTFS (LOGO)

This automated test evaluates the NTFS performance of the Unmap command for thin provisioning LUNs.

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) 180
Category Benchmark
Timeout (in minutes) 10800
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.

The test requires a thin provisioned LUN device setup on the client machine. The LUN must satisfy the following requirements:

  • The drive should be a non-boot drive. The test is destructive. It will prepare the disk with correct partition and formatting for the test.

  • The drive must support UNMAP (10) command. The VPD B0h page's LBPU bit is set to 1. The test will send down Unmap commands by using the DATA SET MANAGEMENT's Trim command.

  • Make sure that there is a separate drive available to be used as a logger drive. The test will automatically pick the logging drive. It is important to minimize the amount of activity that occurs on the drive (outside of the logo test). Because this is a performance test, outside activity can affect the results.

Troubleshooting

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

For troubleshooting information, see Troubleshooting Device.Storage Testing.

Error Description/Workaround

Test failed and went to check WTT Trace

How to check log files upon test failure:

  • View child job results of Run Trim Performance Test.

  • View job logs of Run Trim Performance Test - Library.

  • Open the log file TrimPerf.wtl and check for messages that might describe/resolve the problem.

  • Copy the .wtl log file. This is the WTT trace that is described in the WTT Trace section.

No metrics found

The test depends on Storport ETW tracing being enabled to get the command completion metrics.

Make sure that no other Storport ETW traces are currently logging. Only one Storport ETW trace can be active at a time.

Test failed with a "write protected" error

  • Make sure that the thin provisioned LUN is not write-protected.

  • Make sure that the thin provisioned LUN is always online while the test is running. "Write protected" usually means the LUN goes offline.

Test warns: "The test drive does not support trim".

  • Check the thin provisioned LUN to make sure VPD B0h page's LBPU bit is set to one (or run [Thin Provisioning SCSI Compliance Test (LOGO)](b6ca1543-aee5-4390-8f16-f3a5dd5d35e7.md) to verify the compliance of the LUN).

  • Try to send an Unmap command by using DATA SET MANAGEMENT's Trim command.

  • Run the test again.

Test warns: "Read/write max latency exceeds logo requirement of 500.0 ms".

The test sends IO together with Unmap when it measures the max IO latency. The virtual address of IO and Unmap are not interleaving.

 

More information

Test metrics

Command Test metrics

Unmap command

All Unmap commands shall be completed in less than 500ms.

IO command(with Unmap sending at the same time)

  • All Read/Write commands shall be completed in less than 500ms.

  • 98.5% of IO commands shall be completed in less than 100ms.

 

Currently this test only gives warnings if the thin provisioned LUN under test fails to meet the bar described in the preceding table. The test never fails on this, but you must make sure that the LUN supports UNMAP (10) command, and that the LUN never goes offline when the test is running.

To manually reproduce the test

  1. Open the Registry Editor and follow the path: Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\SCSI\Disk&Ven_[name of drive under test]\[device instance path of the thin provisioned LUN]\Device Parameters\Storport

  2. Right click Storport, click New, and click DWORD (32-bit) Value.

  3. Name the key EnableLogoETW, and set the value to 1.

  4. Replug the drive under test or reboot the machine to enable the registry key.

  5. Copy TrimPerf.exe, EtwProcessor.dll, Wex.Common.dll, and Wex.Communication.dll files to the local drive.

  6. Run the test on a command line (see Command Syntax).

Command syntax

Command option Description

TrimPerf.exe /DriveNumber [StorageDriveNumber] /LogDriveLetter [LoggerDriveLetter]: /DeviceType [DeviceType] /Scenario [Scenario] /DiskSize [DiskSize] /Cooldown [Cooldown]

Runs the test.

Note

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

 

File list

File Location

TrimPerf.exe

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

EtwProcessor.dll

<[WHCK\TAEFBinRoot]>\

Wex.Common.dll

<[WHCK\TAEFBinRoot]>\

Wex.Communication.dll

<[WHCK\TAEFBinRoot]>\

 

Parameters

Parameter name Parameter description
WDKDeviceID Instance path of device to test.
LLU_NetAccessOnly User account for accessing test fileshare.
LLU_LclAdminUsr User account for running the test.
Destructive (0,1) 0=Passive, 1=Destructive
StorageDriveNumber Storage drive number
QueryStorage_bus_type Storage bus type