I was looking for an external USB enclosure to house a spare 256 GB SDD that I have laying here on my desk. While looking around I noticed a housing for about $20 on Amazon that boasts support of “UASP.” Curious, I wanted to find out if this is something I care about.
In short, it is.
USB storage uses something known as USB Bulk Only Transfer (BOT). This is essentially a subset (read: stripped down) of the SCSI command set that was built specifically for USB attached storage. While it is fine for things like thumbdrives and even desktop external disk drives, the BOT scheme has severe performance limitations when it comes to random read/writes and out of order commands as you would get when running VMs from an external USB drive. (Come on now. I am not the only one.)
This is where the USB attached SCSI protocol (UASP) comes in. UASP addresses a number of the problems with BOT including more robust command set and command queueing to allow out of order commands. It also eliminates much of the CPU overhead. So you get the full SCSI command set over USB with no out of order penalty.
Keep in mind since most desktop drive use the ATA commands set (aka SATA drive) there is always some level of SCSI to ATA translation happening in the external housing regardless if you are using BOT or UASP.