Troubleshooting Device.Storage Testing

To troubleshoot issues that occur with Device.Storage tests, follow these steps:

  1. Review Troubleshooting Windows HLK Test Failures.

  2. Review one of these Windows Hardware Lab Kit (Windows HLK) topics, depending on the type of storage device or configuration:

  3. Review the Windows HLK release notes for current test issues.

  4. For a test failure, look for usable information in the Windows HLK Studio test log. If you find usable information, resolve the issue and rerun the test.

  5. If you observe any failures while running the tests in the Windows HLK, look at the test logs that were generated. For example, for the Enumeration Test, the most relevant log is enumeratedrive.log.wtl. To view this log, go to the Results tab in the HLK studio and expand Enumeration Test > Test Run Date and Time > Run Test > Logs > enumeratedrive.log.wtl.

  6. To debug more, rerun the test manually from the Command Prompt (cmd), while setting the verbosity level to 4. This allows the test to log more information, such as data buffer, CDB information, and sense code. Documentation for each test contains details about the binary that is related to a particular test along with the binary location.

Optical Storage Device

These are common issues with optical disk drive tests:

  • Some controllers that use Serial Advanced Technology Attachment (SATA) Advanced Host Controller Interface (AHCI) mode might cause the CDBs to time out. This time-out occurs most frequently in the Start Stop Unit test, where the CDB after test unit ready times out without any sense code being returned. To resolve the issue, try a different controller or configuration.

  • Some drives intermittently can't delete data from a disk. This issue might be caused by rewritable media that has been used too many times. Try to use new rewritable media.

For more information about how to troubleshoot a test, see the troubleshooting section of a specific test in Device.Storage Tests.

Hybrid Information Device

There are special steps that can be taken to reproduce a particular test case in a test, or if necessary, conduct a manual investigation of the device.

  1. Install hybridflt. These files(.inf, .sys, .cat) are found under the same folder as hybriddrive.exe

  2. Enable Storport Tracing

  3. Run hybriddrive.exe

Command Description

Hybriddrive.exe -drive <disk #> -scenario <scenario> <additional options>

Runs the test.

-Drive <disk#>

The drive to be tested on. The behavior of boot drives or drives with a file system is not defined.

-Verbosity

The logging level for this test.

Default value: 1

-?

Displays help.

-Scenario logrw

The scenario to run.

-case #

The test case to run.

-length #(k|m|g)

Specifies the length of the operation.

-offset #(k|m|g)

Specifies the offset of the operation from the start of the disk.

-tpriority #(|none)

Specifies the target priority of the operation. Specify none for no priority (this is different than a priority of 0).

-spriority #

Specifies the source priority of the operation.

-thigh #

Specifies the high threshold.

-tlow #

Specifies the low threshold.

-operation (r|w)

Specifies read or write.

Test scenarios:

  • Logverify

  • Logrw

  • Logcommand

  • Location

  • Tagperf

Manual operation:

  • Print

    • Prints out the current state of the disk.
  • Changelba

    • Sends down change lba by range command. Valid options for this command are length, offset, and tpriority.
  • Demote

    • Sends down demote by size command. Valid options for this command are length, tpriority, and spriority.
  • Off

    • Turns off the cache.
  • On

    • Turns on the cache.
  • Evict

    • Sends an evict command. Valid options for this command are length and offset.
  • Threshold

    • Sets the dirty threshold. Valid options for this command are thigh and tlow.
  • Movedata

    • Reads and writes data from the device. Valid options for this command are length, offset, tpriority, and operation. This will also set the priority for any future I/O.
  • Priority

    • Set the priority for future reads and writes. Valid options for this command are tpriority.

Note

Invalid parameters will be ignored.

Unspecified valid parameters are defaulted to a fixed value.

Removable Storage Device

These are common perfomance issues with removable storage devices.

For storage devices that have removable attributes, I/O queuing is disabled on a particular driver stack to ensure that data can be written as much as possible. However, the queueing is enabled on devices that are recognized as fixed disk. If I/O queuing is disabled, the next I/O request is made after waiting for each I/O request to complete. Therefore, it will have lower throughput than a fixed disk.

For more information about how to troubleshoot a test, see the troubleshooting section of a specific test in Device.Storage Tests.

Device.Storage Tests

Troubleshooting Windows HLK