Hi, I’m Ram Valliyappan and I am a Program Manager on the Windows team responsible for USB mass storage drivers. We often get asked the following questions:

· What is USB-IF compliance for USB mass storage devices?

· What is SCSI compliance for USB mass storage devices?

· Why is compliance for USB mass storage devices important?

I will answer these questions in this post.

 

What is USB-IF compliance for USB mass storage devices?

It is very important for USB devices to be compliant with the USB specification. This allows the device to interoperate on a Windows platform and deliver the best user experience.

The USB-IF compliance is certification program that is defined by the USB standards body. This program verifies that a device complies with the interfaces that are defined by the USB specification. If a USB device passes the compliance tests, the device is added to the Integrators List that is published by the USB standards body. Also, the independent hardware vendor (IHV) can license the USB-IF Logo for devices that are compliant with the USB-IF compliance program.

For more information, please refer to the USB-IF Compliance program.

 

What is SCSI compliance for USB mass storage devices?

SCSI compliance is verified through a set of Windows Logo Kit (WLK) tests. These tests verify that a block storage device is compliant with SCSI standards and specifications, such as the SCSI Primary Commands (SPC) and SCSI Block Commands (SBC). For more information about the SCI compliance tests, please refer to the MSDN documentation on SCSI Compliance.

The Windows storage driver stack is developed by using industry standards and expects device to be compliant to same standards. With each new Windows release, the driver stack has expanded its dependency on SCSI commands. Because of this, it is extremely important that the storage device provides the SCSI functionality that the driver stack requires. As a result, the WLK SCSI compliance tests are revised with each new Windows release to verify this requirement with storage devices.

To guarantee that USB devices can interoperate with the Windows storage driver stack and deliver the best user experience, we introduced the SCSI compliance tests for USB in the WLK 1.6. For more information about these tests, please refer to the MSDN documentation on the USB 2.0 and 3.0 SCSI Compliance test. For more information about the WLK and how to download WLK 1.6, please refer to the Windows Logo Kit.

The following provides an overview of the SCSI commands that are verified through the Windows SCSI compliance WLK tests:

·

SCSI command

Industry specification requirement

WLK requirement

Logo test policy (USB Disks)

Logo test policy (USB Card Readers)

Reference

Inquiry

Mandatory

Mandatory

Required

Required

Required by industry standards

Maintenance IN

Optional

Optional

Optional

Optional

Windows recommended

Mode Select 6

Optional

Mandatory

Required

Required

Windows required

Mode Select 10

Optional

Optional

Optional

Not Required

Windows recommended

Mode Sense 6

Optional

Mandatory

Required

Required

Windows required

Mode Sense 10

Optional

Optional

Optional

Not Required

Windows recommended

Receive Diagnostic Results - ENCSERV = 1

Mandatory

Mandatory

Required

Required

Required by industry standards

Receive Diagnostic Results - ENCSERV = 0

Optional

Optional

Optional

Optional

Windows recommended

Report LUNS - UAS

Mandatory

Mandatory

Required

Required

Required by industry standards

Report LUNS - BOT

Mandatory

Optional

Optional

Optional

Windows recommended

Request Sense

Mandatory

Mandatory

Required

Required

Required by industry standards

Security Protocol IN

Optional

Mandatory

Required

Optional

Windows required

Security Protocol OUT

Optional

Mandatory

Required

Optional

Windows required

Send Diagnostic

Mandatory

Mandatory

Required

Not Required

Required by industry standards

Test Unit Ready

Mandatory

Mandatory

Required

Required

Required by industry standards

Format Unit

Mandatory

Mandatory

Required

Required

Required by industry standards

Prevent Allow Medium Removal

Optional

Mandatory

Required

Required

Windows required

Read 6

Mandatory

Optional

Optional

Optional

Windows Recommended

Read 10

Mandatory

Mandatory

Required

Required

Required by industry standards

Read 16

Optional

Optional

Optional

Optional

Windows recommended

Read Capacity 10

Mandatory

Mandatory

Required

Required

Required by industry standards

Read Capacity 16

Optional

Mandatory

Optional

Required

Windows required

Start Stop Unit

Optional

Mandatory

Required

Required

Windows required

Synchronize cache

Optional

Mandatory

Required

Not Required

Windows required

Write 6

Optional

Optional

Optional

Optional

Windows recommended

Write 10

Optional

Mandatory

Required

Required

Windows required

Write 16

Optional

Optional

Optional

Optional

Windows recommended

 

Why is compliance for USB mass storage devices important?

With millions of USB mass storage devices in the market, it is extremely important that these devices comply with a common set of standards. Compliant USB mass storage devices deliver the best user experience when they are connected across different Windows platforms.

To verify compliance, we require USB mass storage devices to pass the USB-IF compliance and WLK programs. This guarantees that Windows users get the maximum value out with their USB mass storage devices.

Thanks for reading! In our next blog, we will talk about common device failures, how to avoid them and make device interoperate with Windows well.

Ram Valliyappan (USB Mass Storage)