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:
|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:
Data (In or Out)
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: