Mass Storage Class

This section describes the mass storage device class (MSC) supported by μC/USB-Device. The MSC implementation offered by μC/USB-Device is in compliance with the following specifications:

  • Universal Serial Bus Mass Storage Class Specification Overview, Revision 1.3 Sept. 5, 2008.
  • Universal Serial Bus Mass Storage Class Bulk-Only Transport, Revision 1.0 Sept. 31, 1999.

MSC is a protocol that enables the transfer of information between a USB device and a host. The information is anything that can be stored electronically: executable programs, source code, documents, images, configuration data, or other text or numeric data. The USB device appears as an external storage medium to the host, enabling the transfer of files via drag and drop.

A file system defines how the files are organized in the storage media. The USB mass storage class specification does not require any particular file system to be used on conforming devices. Instead, it provides a simple interface to read and write sectors of data using the Small Computer System Interface (SCSI) transparent command set. As such, operating systems may treat the USB drive like a hard drive and can format it with any file system they like.

The USB mass storage device class supports two transport protocols:

  • Bulk-Only Transport (BOT)
  • Control/Bulk/Interrupt (CBI) Transport.

The mass storage device class supported by μC/USB-Device implements the SCSI transparent command set using the BOT protocol only, which signifies that only bulk endpoints will be used to transmit data and status information. The MSC implementation supports multiple logical units and provides a high-level lock mechanism for storage media shared with an embedded file system.