SAS SSD Trim Performance Test

This test evaluates the performance of the Trim command for Serial Attached SCSI (SAS) Solid State Drive (SSD).

Test details

Associated requirements

Device.Storage.Hd.Sas.ComplyWithIndustrySpec

See the device hardware requirements.

Platforms

Windows 8.1 x64 Windows 8.1 x86 Windows Server 2012 R2

Expected run time

~180 minutes

Categories

Certification Reliability

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.

The test requires a SAS SSD device connected to a SAS controller. The drive must also satisfies 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 testing.

  • The drive must support Trim command. The IDENTIFY DEVICE data word 169 bit 0 must set to one (see ACS-2 section 7.18.7.71). The test will send down Trim commands using DATA SET MANAGEMENT command.

  • Ensure 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 occurring on the drive outside of the logo test. Since this is a performance test, outside activity may affect the results.

Troubleshooting

For troubleshooting information, see Troubleshooting Device.Storage Testing.

If you want to check the WTT trace, do the following:

  • View Child Job Results of Run Trim Performance Test.

  • View Job Logs of Run Trim Performance Test – Library.

  • Open the log file TrimPerf.wtl.

  • Check for messages that may solve the issue.

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

If no metrics are found, try the following:

  • Enable Storport ETW tracing

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

If you get the error message “The test drive does not support trim.”, try the following:

  • Ensure that the SAS SSD IDENTIFY DEVICE data word 169 bit 0 is set to one.

  • Try to send a Trim command via DATA SET MANAGEMENT.

  • Run the test again.

If the test failed because the read and write maximum latency exceeded 500 milliseconds, try the following:

  • Check the IO latency without Trim. Try to lower the latency below 500 milliseconds.

  • Check the IO latency with presence of Trim. Try to lower the latency below 500 milliseconds.

If you want to debug the failure by running particular test cases, you may try the following command line options:

  • Display all the test cases with numbers: TrimPerf.exe /DriveNumber [StorageDriveNumber] /LogDriveLetter [LoggerDriveLetter]: /DeviceType SasSsd /PrintTestCaseName

  • Run particular test case by test case number: TrimPerf.exe /DriveNumber [StorageDriveNumber] /LogDriveLetter [LoggerDriveLetter]: /DeviceType SasSsd /Precondition F /TestCase [TestCaseNumber]

If you want to debug the failure by running particular pure Trim scenario, you may try the following command line options:

  • The binary has unit test options: TrimPerf.exe /DriveNumber [StorageDriveNumber] /LogDriveLetter [LoggerDriveLetter]: /DeviceType SasSsd /Precondition F /UnitTest T /RangeCount [NumberOfRangesPerTrim] /SizeCount [SizeOfEachRange] /SizeUnit [Slab | Sector] /TrimCount [NumberOfTrims]

  • /RangeCount: The number of ranges per Trim command

  • /SizeCount: The size of each range in /SizeUnit

  • /SizeUnit: The granularity of /SizeCount, it can be either slab (OPTIMAL UNMAP GRANULARITY) or sector

  • /TrimCount: The number of Trims sent in the test case.

If you want to debug the failure faster, try disable the preconditioning (fill up the drive to 90% full, takes long time) by adding /Precondition F parameter as follows:

  • TrimPerf.exe /DriveNumber [StorageDriveNumber] /LogDriveLetter [LoggerDriveLetter]: /DeviceType SasSsd /Scenario Performance /DiskSize 0 /Cooldown 2 /Precondition F

More information

The test commands are as follows:

Trim command

  • All trim commands should be completed in less than 500 milliseconds.

IO command (with Trim sending at same time)

  • All read and write commands complete in less than 500 milliseconds.

  • 98.5% of I/O commands complete in less than 100 milliseconds.

Parameters

Parameter Description

StorageDriveNumber

The driver number of the SAS SSD in which to run the test.

Example: 2

LogDriveLetter

The drive letter of the disk to store the logs.

Example: E

DeviceType

The type of device under test.

Default value: SasSsd

Scenario

The operation for the test.

Default value: Performance

DiskSize

The part of the disk to run the test on. If this parameter is 0, the test will run on the entire disk size.

Default value: 0

Cooldown

The cool down time in seconds between test cases.

Default value: 2

 

Command syntax

Command Description

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

Runs the test.

 

File list

File Location

trimperf.exe

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

Etwprocessor.dll

<[taefbinroot]>\

Wex.common.dll

<[taefbinroot]>\

Wex.communication.dll

<[taefbinroot]>\

 

 

 

Send comments about this topic to Microsoft