USB2.0理论的数据传输速率明明可达60MB/s左右,但实际使用中确始终徘徊在30MB/s左右?本文就将指导大家如何打开限制USB2.0设备速度的枷锁,获得免费的速度提升。如今的笔记本都已将USB3.0视为了标准配置,看着10倍于USB2.0的传输速度(理论值),这样我们这些仍在使用老款笔记本的同学情何以堪?如果告诉你有一种方法可以让USB2.0设备获得免费的速度提升,你有没有兴趣学习一下呢?
速度被限制的USB2.0
我们都知道,USB2.0的理论带宽是480Mbps(60MB/s的数据传输速率),但当我们在使用移动硬盘拷贝电影时所能实现的最高实际传输速度却仅能徘徊在30MB/s左右,只能达到理论带宽的一半,而这个尴尬则是落后的协议和编码方式造成的。
USB2.0使用了串行传输模式的NRZI编码,传输连续的0、1字符串,在传输过程中需要频繁强制插入0以保持发送端和接收端的频率同步,从而会造成USB 2.0传输带宽的浪费。此外,USB2.0还采用了传统BOT协议,将操作系统下的区块限制为最大64KB,而持续数据块大小为128KB,BOT区块会因为串行处理而浪费大量等待时间。在NRZI和BOT的双重限制下,USB2.0的有效传输带宽能剩下50%左右还算不错呢。
小知识:USB3.0为啥很快
USB3.0所用的UASP协议新增了两组数据总线,支持多命令并发执行和NCQ队列功能,这样就可以发挥出5Gbps的高速带宽优势。同时USB 3.0还采用了时下流行的8b/10b编码方式,有效数据利用率为80%,因此速度自然不是USB2.0可比的。
小补丁为USB2.0提速
由于USB传输底层NRZI编码方式是无法修改的,而剩下可行的方法就是扩大BOT协议的区块大小来增加USB带宽利用率了。好消息是微软已经提供了名为Windows6.1-KB2581464的升级补丁(下载地址:http://tinyurl.com/3g7nyrw),它可以将Usbstor.sys驱动程序中的最大传输值从默认的64KB增加到2MB。坏消息是这个补丁属于HotFix热修复补丁,需要我们自己下载安装,而且还需要手动将需要使用的USB外设的INF信息添加到Usbstor.sys下面。
这就好比一条公路(USB2.0),最高限速为60公里(理论传输速率),但想通过此段公路的司机(U盘等外设)还需签署一份临时管制协议(BOT协议),保证以最高不超过30公里的速度行驶。而司机自然不爽于是投诉给公路管理局(微软),于是管理局开始发放全速通行证(补丁),但前提是只有到册登记的司机才能使用(添加INF信息),这就是麻烦之处。
提速“实战”看结果
在微软官网下载Windows6.1-KB2581464补丁后解压安装,根据提示重启系统,接下来就需要我们手动添加USB外设的INF信息了。
以笔者手上的U盘为例,插入笔记本的USB2.0接口后鼠标右键点击计算机,依次进入“属性→设备管理器→磁盘驱动器”找到你的U盘,鼠标右击它进入属性窗口的详细信息界面(图1 图注:在设备管理器中找到你的U盘)。
在属性下拉菜单中,选择“父系”,这时在“值”的对话框中就会出现一串字符。其中“VID_xxxx&PID_xxxx”就是USB2.0存储设备唯一的INF设备标识(图2 图注:获得当前USB存储设备的INF信息),笔者U盘显示为 “VID_0781&PID_556B”,所以这个U盘的INF设备标识就是“0781556B”。
在开始菜单的运行窗口输入regedit进入注册表编辑器,依次展开“HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Control/usbstor”。在usbstor下新建一个“0781556B”的项(图3 图注:在指定位置新建项,名称是USB设备的INF值)。
在该项的窗口右边的空白处右击新建一个名为“MaximumTransferLength”的DWORD值,然后双击它并把十进制值改为“2097120”(图4 图注:新建DWORD值并修改数值数据),对应的十六进制数值为“1fffe0”,也就是2MB。
保存后重启系统(一定要重启后才有效果哦)。
如果你身边有很多需要经常使用的USB设备(比如U盘、移动硬盘、甚至是手机),都可以将它们的INF设备标识添加到注册表内的添加到Usbstor.sys下面,别怕麻烦,这可以一劳永逸的妙招哦。
原创文章,作者:kepupublish,如若转载,请注明出处:https://blog.ytso.com/142164.html