USB 2.0下大提速-让大于30MB/s
USB传输规范发展历史
很快由于传输速率的限制,2000年4月USB-IF(USB Implementers Forum)组织很快制定出了新的USB 2.0传输规范,数据传输速率提升至480Mbps,由于方便的热插拔和快速的数据交换速度,使得这一标准被PC广泛采用。
时值今日USB 3.0已经得到大面积的推广,这个建立在2008年的规范在经历了长达四年的风雨后,已经展现出强大的竞争力,Intel和AMD基于原生USB 3.0的芯片组控制器已经成为主流用户的标配,留给第三方芯片厂商机会已经不多。
而 在USB 2.0到USB 3.0过渡的过程中,很多人由于种种原因坚守在USB 2.0阵线上,理论上高达60MB/s的传输速度本可以满足绝大部分数据传输需求,不过糟糕的协议和编码方式使得长期以来USB 2.0最高实际传输速度被限制在30MB/s左右,本文将从数据传输底层分析USB 2.0传输原理和编码方式,找出一条提升USB 2.0传输速度的途径,最大限度缩短传输时间。
USB 2.0传输协议介绍:不能并行的BOT
虽然USB 3.0普及之路有了很大的起色,不过目前在用的USB主控和终端设备大部分依然基于USB 2.0规范,这也直接导致很多高速设备无法享受到5Gbps的高速带宽。
我们知道USB 2.0的理论传输速率为480Mbps,也就是60MB/s的数据传输带宽,而在实际应用中这一速率受到传输协议(Bulk-Only Transport(BOT)协议)、编码方式的影响被限制在35MB/s以下,理论带宽利用率只有一半左右。
正 是基于此,USB 3.0的设计完全抛弃了USB 2.0的总线,新增两组数据总线,而为了保证向下兼容,USB 3.0保留了USB 2.0的一组数据总线。而在传输协议方面,USB 3.0除了支持传统的BOT协议,还新增了USB Attached SCSI Protocol(USAP)协议,可以完全发挥出5Gbps的高速带宽优势,虽然目前只有很少的设备能达到这一传输速率。
传 统BOT协议早在1999年USB 1.1发布不久后就诞生,它规定USB设备在同一时间只能接收或处理一条命令,而到USB 2.0时代,虽然设备传输速率得到了极大的提升,但BOT协议并没有改善,随着存储设备传输速率的提升,BOT协议阻碍USB传输速率的问题已经显现出 来。于是大容量数据交换就迫切需要新的传输协议,因此USB-IF组织就将SCSI和USB相结合推出了新的USAP协议,支持多命令并发执行和NCQ队 列功能,极大的提高了数据传输效率,另外由于支持USAP的主控设备都具备独立的计算内存模块,使得USB数据传输对CPU的依赖大幅降低。
按照USB-IF组织的计划,USAP除了支持USB 3.0,还向下对USB 2.0开放,不过到目前为止USB 2.0方面还没有任何音讯,另外受到USB 2.0传输编码方式和匮乏的D+、D-总线限制,USAP要在USB 2.0上展开并不是很容易。