USB2.0为何无法提高
USB2.0的实际数据传输速度,其实受到了系统和外围设备的制约,影响其提速的原因很多,这是一个综合性的问题。主要表现在以下方面。
在USB通信过程中,传输的数据构成较多,除必要数据外,还包括同步信号、类型标识、传输控制、校验码等各种协议信息。对应不同的传输类型,存在不同的协议损耗。因此USB通信的传输类型分为控制传输、中断传输、批量传输和同步传输四种,其性能如下表。
从表中可以看到,USB2.0中最能体现高速传输特点的类型,应属批量传输,其53.24MB/s的传输速度,最接近60MB/s的理论速度。但批量传输能否完全占用传输带宽呢?很明显不可能。
USB协议规定,控制传输应确保在低/高速时使用10%~20%的带宽,而批量传输并没有保留任何带宽底限,这意味着即批量传输只有在其它三种传输完全不占用带宽的情况下,才能确保传输带宽最大化。因此,尽管控制总线闲置状态下,如果有数据传输需求,批量传输可以满足短时间内的大量数据传输,但控制总线繁忙时,批量传输完全可能因为其他设备产生的带宽占用,而导致传输速度大幅下降。
上图所示USB设备使用情况其实很能说明问题。我们这里设计一个纯理论化的情况:如果只有一个移动硬盘,使用一个USB接口进行数据传输,那么批量传输应当达到53.24MB/s的速度。但此时一个USB鼠标的接入,搞不好会以控制传输方式占用20%带宽,批量传输只能使用53.24MB/s中剩余的80%,也就是42.59MB/s,如果再接入一个USB键盘,也采用控制传输,也占用20%带宽,那批量传输再次衰减,变成53.24×0.6=31.94……
除了设备之间相互制约,USB的复杂工作环境也是阻碍因素之一,这一点无论是1.1、2.0还是目前的3.0,都是相同的。劣质的传输线缆、良莠不齐的接口工艺、机箱内电磁干扰、元器件的电气性能、总线驱动程序、控制器工作效率等等条件,都有可能导致丢包、数据包重置重发、数据等待、传输纠错现象出现,影响实际性能。
网友评论