The full name of BOT is Universal Serial Bus Mass Storage class bulk-only Transport(BOT), which is the primary protocol for USB mass data Storage.
The BOT protocol is used for large-capacity data transfer between a host and a USB device. For USB hosts, USB devices are external hard drives.
The Application of the BOT Protocol
Devices connected to the computer through the BOT protocol include:
- External magnetic hard disk
- External optical drives, including CD and DVD reader drives
- The portable flash memory device
- Solid state drives
- Adapter between a standard flash card and a USB connection
- The digital camera
- Digital audio and portable media player
- Card reader
- Handheld computers
- Mobile phone
- Devices that support this standard are called MSC (Mass Storage Class) devices. MSC is the original abbreviation, UMS (Universal Mass Storage) also began to be commonly used.
The version of the BOT Protocol
- The current version of the BOT protocol is V1.0
- The BOT protocol was released in 1999.
Composition of the BOT Protocol
The USB organization defined the mass storage class specification in version 1.1 of the Universal Serial Bus Mass Storage Class Spacing. The specification contains four separate subclasses, ie:
- USB Mass Storage Class Control/Bulk/Interrupt (CBI) Transport
- USB Mass Storage Class Bulk-Only Transport
- USB Mass Storage Class ATA Command Block
- USB Mass Storage Class UFI Command Specification
The first two sub-specs define how data/commands/states are transferred over USB. The bulk-only transport specification uses bulk-only endpoints for data/command/state transfers, while the CBI transport specification uses control/bulk/interrupt endpoints for data/command/state transfers.
The last two sub-specs define commands for manipulating storage media. The ATA command specification is for hard drives and the UFI command specification is for USB portable storage.
BOT Protocol support
- Microsoft Windows is supported from Windows 2000 onwards.
- Apple Computer’s Mac OS 9 and macOS support.
- The Linux kernel has been supported since the 2.4 series (2001).
- MS-DOS and most compatible operating systems do not support USB. Familiar third-party drivers such as Duse, USB ASPI, and DOS USB can be used to support USB mass storage devices. FreeDOS supports USB mass storage as Advanced SCSI Programming Interface (ASPI)
The Significance of the BOT Protocol
The USB mass storage specification interfaces with many industry-standard command sets, allowing devices to expose their subclasses. In fact, there is little support for specifying a set of commands through their subclasses; Most drivers only support transparent SCSI command sets and identify their subset of SCSI command sets with their SCSI peripheral type (PDT). The subclass code defines the following command set:
- Reduced Block Command (RBC)
- SFF -8020i, MMC -2 (for ATAPI style CD and DVD drives)
- QIC -157 (tape drive)
- Unified Floppy Interface (UFI)
- SFF-8070i (used by ARMD-style devices)
- SCSI transparent command set (use “query” to get PDT)
The specification does not require device-specific file system conformance. Based on a specific set of commands and arbitrary subsets, it provides a method for reading and writing data sectors (similar to the low-level interface used to access hard drives). Operating systems can treat USB mass storage devices as hard drives; Users can partition them in any format (e.g. MBR and GPT) and format them with any file system.
Due to its relative simplicity, the Microsoft (FAT or FAT32 file system with optional filename support is the most common file system on embedded devices such as USB flash drives, cameras, or digital audio players. . large long files, USB-based hard drives can be formatted with NTFS, which (other than Windows) is less supported. However, the hard drive or other devices may be attached to a different file system, ‘HFS plus Apple Macintosh formatted, Solaris or BSD on Linux or UNIX file systems on Ext2’. This option can restrict (or prevent) access to device content by devices running different operating systems. OS-dependent storage options include LVM, partition tables, and software encryption.