1st:
Always go for
AUSP enabled card readers and drive enclosures.
UASP stands for USB Attached SCSI Protocol.
This
enables parallel processing of data (way faster) and thus Native Command Queuing (NCQ) and
also enables TRIM (the SCSI equivalent) just for a start!
Buyer beware:
A good # of UASP enabled drive enclosures are indeed UASP capable, but are USB to SATA2 (300MB/s) not SATA3 (600MB/s)
Thats fine for a HDD where you only lose a bit of burst speed from/to the drives DRAM buffer, but is a serious bottleneck to today's SATA SSDs!
Similar 'tricks' are probably in play to sell cheaper USB to SD Card ctlr chips and USB to NVMe ctlr chips.
ie: Make sure the ctlr chip translates the fastest USB protocol your MB can do into Card Reader or NVMe protocols of a similar speed, so that neither protocol is a bottleneck...
2nd:
If your reader (or enclosure) is NOT AUSP capable; all is not lost:
USB sends data in packets, with control data attached to each packet.
The std packet size is 64KB of data + control data.
If you increase the packet size; you get more data per packet, decreasing overhead.
This can give you up to ~30% faster transferes for large files.
See
MaximumTransferLength since Windows 7 SP1 here:
Drive Tools for Windows (uwe-sieber.de)
for the why's and wherefore's and an easy way to set your registry to do this.
(I am particularly proud of the USBSTOR MTLT tool as it was I who brought this tweak to Uwe Sieber's attention. He then wrote the app)
Packet size choices are 64KB, 128KB, 256KB, 512KB, 1MB, 2MB.
For best performance you want to match this size to the average file size being transferred.
ie:
For running an OS off of USB;
stay with the default 64KB as OS I/O is ~68% random I/O, NOT the #s waved around like burning flags by drive marketing..!!!
For movies etc; go with the max packet size of 2MB.
A good compromise is 512KB as used by the UASP protocol and chosen to match the Erase Block Size of most NAND chips at the time.
Matching to the NAND's EBS can in fact be faster overall than 64KB for random I/O. It all depends on the ctlr, so testing is reqd if you want the absolute best speed.
3rd:
Windows only pretends to enable write caching on USB attached storage unless the drive is formatted NTFS..!
Again:
Windows Write Caching to USB is a lie, Unless the drive is formatted
NTFS!!!
This limitation can be
overcome with another of Uwe Sieber's tools:
USB-WriteCache V0.2
This tool is available at the same link as above:
Drive Tools for Windows (uwe-sieber.de)
Now this tool will speed up large transferes a bit, but really shines when you are trying to run apps or an OS off of a flash drive where there's a lot of random writes going on.
It will often allow a drive that fails the ReadyBoost compatibility test to pass it.
That means that the R4K read/writes, which is what ReadyBoost caches, OSs do 68% of the time, apps do, etc is greatly improved overall vs the unapplicable results you'll see in popular benchmarking software.