I was finally able, with the help of a kind soul, who sent me the driver, to run some tests and have a look, how the Turbo-Mode affects performance.
First off, the new driver does work with all USB storage devices, it however is not a driver, which magicly boosts all attached devices.
With USB storage, we have to deal with a chain of components.
Namely:
- USB Controller on the Mainboard
- USB protocol for storage devices
- Controller on the USB device
- NAND Flash or HDD
Speed in a chain like that, is always determined by the slowest link.
If your mainboard USB controller and the USB storage device can both deliver higher speeds than what the protocol allows for, the new driver + tweak will give you a huge boost in performance,
for files bigger than 64kB!!!
If your device is a supermarket USB-Stick, which can not make full use of the provided bandwidth anyhow, there's
no gain!
That said.
In case in your supermarket USB-Stick works a too weak controller, a controller which slows down the faster NAND Flash. Then the tweak to the protocol will reduce load on the controller and give you a minor boost of maybe 1MB/s.
So are there any situations, in which performance suffers with Turbo-Mode?
In my tests, i couldn't find any such indicators.
There was a potential drop in 4k writes, when tested with CrystalDiskMark, but it was so small that it could also be a normal fluctuation.
AttoDisk on the other hand did not show any adverse effects at any block size.
Here are two pictures, which show very nicely the impact of the new driver + tweak.
First is of a SanDisk Cruzer Contour Extreme (a pretty fast USB-Stick)
(Since this stupid board does not allow me to add images anywhere, but at the end of the post fetch it from there.)
The second of a USB-HDD
(dito)
With default settings (64kB) speed does not improve anymore with files larger than 64kB.
With Turbo-Mode settings (2MB) speed stops improving only at 2MB.
In theory (not supported by the new driver), if you would only transfer really large files and increase the MaximumTransferLength further, you might get even still a bit more performance out of the transfer.