USBlyzer - USB Protocol Analyzer for Windows   USB Analyzer for Windows  

 CDC Class Decoder  Mass Storage Class (MSC) Decoder

The USB Mass Storage Class (MSC) is one of the most widely used device classes. Flash memory devices, external hard and optical drives (such as CD or DVD drives), digital cameras, card readers, portable media players are all belong to the USB mass-storage class. Mass storage devices are accessed by the host via the commands originally developed for the Small Computer System Interface (SCSI) devices.

USBlyzer includes the mass-storage class decoder that visualizes class-specific requests, BOT protocol command block and status wrappers, SCSI command descriptor blocks and response data.


Mass Storage Class-Specific Subclasses and Protocols

The following Mass Storage Class, Subclasses and Protocols are supported:

Class SubClass Protocol
08h - MSC 0x01 - Reduced Block Commands (RBC)
0x02 - MMC (ATAPI)
0x05 - SFF-8070i
0x06 - SCSI transparent command set
0x50 - Bulk-Only (BOT) Transport

Note: The Control/Bulk/Interrupt (CBI) Transport Protocol is currently not supported.


SCSI Command Sets

The following SCSI command sets are supported (based on SubClass code in Interface Descriptor):

  • SCSI Primary Command Set (SPC)

  • SCSI Multimedia Command Set (MMC)

  • SCSI Reduced Block Command Set (RBC)

Below is an example of decoding Get Configuration (MMC) response data.


Bulk-Only (BBB) Transport Command/Data/Status Protocol

The bulk-only transport protocol divides a data transfer into three steps:

  • Command

  • Data (In or Out)

  • Status

During the Command stage, a Command Block Wrapper (CBW) is transferred by the host to the device. The CBW describes parameters of the transaction (direction, length, LUN) and carries a SCSI Command Descriptor Block (CDB). The SCSI command descriptor block contains data in the format defined by SCSI command set specification.

Below is an example of decoding SCSI Inquiry command.

During the optional Data step, data is transferred either to or from the device depending on the command.

Below is an example of decoding SCSI Inquiry standard response data.

During the Status stage the device sends status information in the Command Status Wrapper (CSW).

Below is an example of decoding Command Status Wrapper.


Bulk-Only Transport (BOT) Protocol-Specific Requests

The following class-specific requests are decoded:

  • Bulk-Only Mass Storage Reset

  • Get Max LUN

Subscribe to USBlyzer RSS feed Bookmark and Share
Latest Events
 May 15, 2016
USBlyzer 2.2 has been released.

- USB Mass Storage Class support added.
[...]

 March 16, 2014
USBlyzer 2.1 has been released.

- USB 3.0 support added.
[...]

 April 3, 2011
USBlyzer 2.0 has been released.

- 64-bit OS support.
- Elapsed and duration time measuring.
[...]