搭配USB3.0控制芯片的主板虽然已经成为市场的主流,但对于大部分仍在使用USB2.0的用户来说,USB2.0的文件传输速度也俨然无法满足他们的要求。其实,现在USB2.0的速度还有提升的空间,我们可以通过使用提速补丁来挖掘USB2.0的潜力。
USB 2.0为啥达不到60MB/s?
大家都知道USB 2.0的理论带宽是480Mbps,也就是60MB/s的数据传输速率,但实际使用中我们会发现这个理论速度是坑爹的,长期以来USB 2.0最高实际传输速度被限制在30MB/s左右,只能达到理论带宽的一半。这是由于落后的协议和编码方式造成的。
USB 2.0采用的是传统的Bulk-Only Transport(BOT)协议,由于没有进行改善,随着目前高速存储设备的出现,BOT协议阻碍USB传输速率的问题已经显现出来。而目前的USB 3.0新增了USB Attached SCSI Protocol(UASP)协议,新增了两组数据总线,支持多命令并发执行和NCQ队列功能,这样就可以发挥出5Gbps的高速带宽优势。
另外,USB 2.0使用了NRZI(Non-Return-to-Zero Inverted)编码方式,它是基于串行传输模式,传输连续的0、1字符串,由于其中需要强制插0以保持发送端和接收端频率同步会造成USB 2.0传输带宽的浪费。而USB 3.0采用了时下流行的8b/10b编码方式,有效数据利用率为80%,也就是USB 3.0的有效数据传输带宽为500MB/s。
小补丁为USB 2.0大提速
微软目前放出一个补丁来提高USB设备的访问速度,由于它是一个HotFix热修复补丁,并没有作为常规补丁随系统自动更新,因此我们平时也就体会不到它的作用,那么我们可以自己来手动下载安装。
从微软官方下载Windows6.1-KB2581464补丁,解压后安装。光安装补丁还不行,还需要手动对注册表进行一些修改,将USB 2.0存储设备的最大传输值从默认的64KB增加到2MB,这样才能让它的速度有所提升。
首先需要将存储设备的INF设备信息添加到注册表中。把U盘插到电脑上,在设备管理器中的磁盘驱动器中找到当前的USB 2.0存储设备,右击它选择“属性”,切换到“详细信息”选项卡。在属性下拉菜单中,选择“父系”,这时在“值”的对话框中就会出现一串字符,(如图1)。其中VID_xxxx&PID_xxxx字符就是USB 2.0存储设备唯一的INF设备标识,例如VID_090C&PID_1000,即090C1000。
运行regedit,打开注册表编辑器,依次点击展开HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\usbstor。在usbstor下有几个子项目,新建一个名为“090C1000”的项,并选中它,然后在窗口右边的空白处右击新建一个名为“MaximumTransferLength”的DWORD值,然后双击,把它的值改为001fffe0(如图2,十进制数值为2097120,也就是2MB)。保存后重启系统。
实际测试效果
我用宇瞻(Apacer)AH320 16GB U盘进行打补丁前后的对比测试,首先运行ATTO Disk Benchmark,在默认配置下,读写速度分别为32MB/s和16MB/s,(由于这个U盘我量产过,写入速度下降了,原来没量产过读写速度为32MB/s和22MB/s)安装补丁后读写速度都出现了显著的增加,最高读取达到了41MB/s,写入速度也为29MB/s。虽然这速率在USB 3.0下算是小儿科,但是对于那些USB 2.0老用户来说在不升级USB 3.0的前提下获得40MB/s以上的读取传输速度,相对默认环境还是有不小的突破,能够节约不少拷贝文件的时间。写在最后对于仍在使用USB 2.0设备的用户而言,为其加速能为数据传输节约不少的时间,在不升级的情况下免费获得传输性能的提升也是一件不错的事。当然这种加速模式也适用于USB 3.0,提升其传输性能。
小编提示:如果你有多个U盘或闪存,每一个存储设备的INF设备信息都要添加到注册表中。经过多次测试,本补丁主要针对U盘,SD卡加读卡器基本无效。对于仍在使用USB 2.0设备的用户而言,为其加速能为数据传输节约不少的时间,在不升级的情况下免费获得传输性能的提升也是一件不错的事。当然这种加速模式也适用于USB 3.0,提升其传输性能。USB 3.0也基于BOT传输协议,但是基于5Gbps高带宽,只有使用SSD这样的高速设备,加速前后的传输速度差异才会比较明显。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)