BOT 简介 Bulk-Only Transport
BOT全称Universal Serial BusMass Storage ClassBulk-Only Transport(Bulk-Only Transport),是USB大容量数据存储的基础协议。
BOT协议用于主机和USB设备之间进行大容量数据传输。对于USB主机来说,USB设备外部硬盘驱动器。
BOT协议应用
通过BOT协议连接到计算机的设备包括:
- 外置磁性硬盘
- 外置光驱,包括CD和DVD读写器驱动器
- 便携式闪存 设备
- 固态硬盘
- 标准闪存卡和 USB 连接之间的适配器
- 数码相机
- 数字音频和便携式媒体播放器
- 读卡器
- 掌上电脑
- 手机
- 支持该标准的设备称为 MSC(大容量存储类)设备。MSC是最初的缩写,UMS(Universal Mass Storage)也开始普遍使用。
BOT版本
- BOT协议的当前版本为V1.0
- BOT协议发布于1999年。
BOT协议的组成
USB 组织在universal Serial Bus Mass Storage Class Spaceification 1.1版本中定义了海量存储设备类(Mass Storage Class)的规范,这个类规范包括四个
独立的子类规范,即:
- 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
前两个子规范定义了数据/命令/状态在USB 上的传输方法。Bulk- Only 传输规范仅仅使用Bulk 端点传送数据/命令/状态,CBI 传输规范则使用Control/Bulk/Interrupt 三种类型的端点进行数据/命令/状态传送。
后两个子规范则定义了存储介质的操作命令。ATA 命令规范用于硬盘,UFI 命令规范是针对USB 移动存储。
BOT协议的支持
- Microsoft Windows 从 Windows 2000 开始支持。
- Apple Computer的Mac OS 9和macOS支持
- 在Linux内核自2.4系列(2001年)已经支持
- MS-DOS和大多数兼容的操作系统都不支持 USB。第三方通用驱动程序,如 Duse、USBASPI 和 DOSUSB,可用于支持 USB 大容量存储设备。FreeDOS支持将 USB 大容量存储作为高级 SCSI 编程接口(ASPI) 接口
BOT协议的意义
USB 大容量存储规范提供了许多行业标准命令集的接口,允许设备公开其子类。实际上,几乎不支持通过其子类指定命令集;大多数驱动程序只支持SCSI 透明命令集,用它们的SCSI 外围设备类型(PDT)指定它们的 SCSI 命令集子集。子类代码指定以下命令集:
- 减少块命令 (RBC)
- SFF -8020i、MMC -2(用于 ATAPI 风格的 CD 和 DVD 驱动器)
- QIC -157(磁带机)
- 统一软盘接口(UFI)
- SFF-8070i(由 ARMD 风格的设备使用)
- SCSI 透明命令集(使用“查询”获取 PDT)
该规范不要求符合设备的特定文件系统。基于指定的命令集和任何子集,它提供了一种读取和写入数据扇区的方法(类似于用于访问硬盘驱动器的低级接口)。操作系统可能会将 USB 大容量存储设备视为硬盘驱动器;用户可以以任何格式(如MBR和GPT)对其进行分区,并使用任何文件系统对其进行格式化。
由于其相对简单,嵌入式设备(如USB 闪存驱动器、相机或数字音频播放器)上最常见的文件系统是 Microsoft 的FAT或FAT32文件系统(可选支持长文件名)。大型、基于 USB 的硬盘可能会使用NTFS进行格式化,而后者(Windows 除外)的支持较少。然而,密钥驱动器或其他设备可以与另一个文件系统(格式化HFS再加上苹果的Macintosh,或的Ext2上的Linux或UNIX文件系统上的Solaris或 BSD)。这种选择可能会限制(或阻止)使用不同操作系统的设备对设备内容的访问。依赖于操作系统的存储选项包括LVM、分区表和软件加密。