USB Mass Storage Device Protocol – What Is It
The USB Mass Storage Device Protocol defines how USB devices which are attached to a host computer should interact (such as flash drives, external hard drives, and memory cards) and this protocol is critical for allowing stuff to talk with each other in the computer world. Here’s a breakdown of its core components:
In order for a USB flash drives to work interchangeably with other devices a universal standard must be created, defined and implemented for both device manufactures (the flash drives) and the host manufacturers (what flash drives are plugged into). The “Mass Storage Device” is the more technical term for what a USB flash drive is ( or USB hard drive or other memory storage device ) classified as. The classification spells out how communication works between the host computer and USB device.
The following information is a general outline and meant for non-technical readers to better understand the USB Mass Storage Device is. A link at the bottom will direct readers to a more technical resource, say someone reading up from a computer science class.
Let us start with the “Device Class and Protocol”
As mentioned the Mass Storage Class (also known as MSC) is a set of specifications which define a standardized way the USB device will present itself and communicate with the host (what it is plugged into); for example a computer, smartphone a car stereo or even the USB socket you find on a passenger plane. All of these “hosts” must conform to a specific way to communicate with the device.
Although we mention the USB socket of a plane, that particular situation doesn’t require “data transfer” and it’s only meant for power; although a specification is still required even when only dealing with power and/or charging. With that said, the most common protocol used for MSC devices is the “Bulk Only Transport” or BOT. The BOT is a method defining how data is either read or written from one device to the other. The BOT is designed to be fast and optimize data transfer while at the same time providing a reliable and stable code base for transferring data.
As a side note, the BOT was improved with UASP. The newer UASP (USB Attached SCSI Protocol) was introduced for the USB 3.0+ speed of devices. The UASP improves the older BOT by allowing faster data transfer rates and better performance to the devices which support the newer UASP.
So whether the host and attached device, say a USB flash drive, use BOT or UASP the commands used come from the SCSI (Small Computer System Interface) protocol. This protocol was developed in the late 1970s and ultimately introduced to the public for use in 1986. So the SCSI protocol has been around for a very long time.
One pillar of the SCSI protocol is the “block device” appearance of a device connected to a computer. This block device approach helps organize data and allows the two to communicate in blocks. Remember the most basic, 1024? the block device approach allows data transfer to work more efficiently and organized than other approaches.
The Mass Storage Device specification will classify data transfer speeds. This type of classification will setup the host computer and device on the best method to communicate. This is important because you want to define a Mass Storage Device’s ability to transmit data, during either the read or write operation, to an optimal speed for best performance. So for example, you don’t want a USB 3.0 hard drive communicating with the host computer at USB 2.0 speeds. The classification for data transfer will sync up the proper protocol.