How to improve your USB transfer speed by increasing the maximum transfer size of 64KB block to 2MB in the Usbstor.sys driver

Those who are using USB 2 devices would complain about the slowness in USB 2.0 transfers being capped at ~ 30MB/s

In fact, this is limited due to Windows default setting of a 64KB transfer block size. By updating your windows registry and modifying it to 2MB transfer, the USB performance can easily exceed 30MB/s reaching 40MB/s and above. The results using CrystalDiskMark can be found here.

You will need to download the hotfix from here.

After you install this update, to increase the maximum transfer size of USB storage devices, follow these steps:

  1. Click Start
    Collapse this imageExpand this image

    start button

    , type regedit in the Start Search box, and then press Enter.

  2. Locate and then click the following registry subkey:
    HKLM\SYSTEM\CurrentControlSet\Control\usbstor\VVVVPPPP
  3. Click Edit, point to New, and then click DWORDValue.
  4. Type MaximumTransferLength, and then press Enter.
  5. Click Edit, and then click Modify.
  6. In the Value data box, type a value to specify the maximum transfer size between 64KB and 2MB. For example, you select Decimal and type a value between 65535 (64K) and 2097120 (2M).
  7. Exit Registry Editor.

Notes

  • VVVV represents device descriptor idVendor in hexadecimal.
  • PPPP represents device descriptor idProduct in hexadecimal.

 

Additional file information

Additional file information for Windows 7 and for Windows Server 2008 R2

Additional files for all supported x86-based versions of Windows 7
Collapse this tableExpand this table
File name X86_usbstor.inf_31bf3856ad364e35_6.1.7600.16849_none_488bef2ff902980f.manifest
File version Not applicable
File size 2,087
Date (UTC) 15-Jul-2011
Time (UTC) 05:08
File name X86_usbstor.inf_31bf3856ad364e35_6.1.7600.21009_none_4940a3cd11fffb57.manifest
File version Not applicable
File size 2,087
Date (UTC) 15-Jul-2011
Time (UTC) 08:00
File name X86_usbstor.inf_31bf3856ad364e35_6.1.7601.17650_none_4a5e79aff6393bdd.manifest
File version Not applicable
File size 2,087
Date (UTC) 15-Jul-2011
Time (UTC) 04:58
File name X86_usbstor.inf_31bf3856ad364e35_6.1.7601.21771_none_4ad376ed0f662ce0.manifest
File version Not applicable
File size 2,087
Date (UTC) 15-Jul-2011
Time (UTC) 06:12
Additional files for all supported x64-based versions of Windows 7 and of Windows Server 2008 R2
Collapse this tableExpand this table
File name Amd64_usbstor.inf_31bf3856ad364e35_6.1.7600.16849_none_a4aa8ab3b1600945.manifest
File version Not applicable
File size 2,091
Date (UTC) 15-Jul-2011
Time (UTC) 06:04
File name Amd64_usbstor.inf_31bf3856ad364e35_6.1.7600.21009_none_a55f3f50ca5d6c8d.manifest
File version Not applicable
File size 2,091
Date (UTC) 15-Jul-2011
Time (UTC) 08:49
File name Amd64_usbstor.inf_31bf3856ad364e35_6.1.7601.17650_none_a67d1533ae96ad13.manifest
File version Not applicable
File size 2,091
Date (UTC) 15-Jul-2011
Time (UTC) 06:03
File name Amd64_usbstor.inf_31bf3856ad364e35_6.1.7601.21771_none_a6f21270c7c39e16.manifest
File version Not applicable
File size 2,091
Date (UTC) 15-Jul-2011
Time (UTC) 06:59
Additional files for all supported IA-64–based versions of Windows Server 2008 R2
Collapse this tableExpand this table
File name Ia64_usbstor.inf_31bf3856ad364e35_6.1.7600.16849_none_488d9325f900a10b.manifest
File version Not applicable
File size 2,089
Date (UTC) 15-Jul-2011
Time (UTC) 06:05
File name Ia64_usbstor.inf_31bf3856ad364e35_6.1.7600.21009_none_494247c311fe0453.manifest
File version Not applicable
File size 2,089
Date (UTC) 15-Jul-2011
Time (UTC) 08:44
File name Ia64_usbstor.inf_31bf3856ad364e35_6.1.7601.17650_none_4a601da5f63744d9.manifest
File version Not applicable
File size 2,089
Date (UTC) 15-Jul-2011
Time (UTC) 05:53
File name Ia64_usbstor.inf_31bf3856ad364e35_6.1.7601.21771_none_4ad51ae30f6435dc.manifest
File version Not applicable
File size 2,089
Date (UTC) 15-Jul-2011
Time (UTC) 07:25

 

The results before and after the patch can be found here.

By