Not too long ago I purchased SanDisk Excessive Professional Moveable SSD. It’s marketed as delivering nearly 2GB/s learn and and write speeds. In fact, such speeds are solely achievable with suitable {hardware}.
I’ve two MBPs.
The primary one is Mid 2015 with ThunderBolt 2 and USB 3.1 ports. It runs Catalina and I’m variety reluctant to improve it to Huge Sur. I linked my new SSD to this machine to get nearly 18MB/s switch pace. In fact, I believed, it’s previous {hardware} and it’s pointless to count on any miracles from it.
The second is the most recent MBP with high specs, which I purchased simply few weeks in the past. It’s 16 inch mannequin from the top of 2019. ThunderBolt 3 ports are claimed to help 40Gb/s switch charges in native ThunderBolt mode and not less than 10Gb/s in USB 3.2 mode. This fashion USB 3.2 connection ought to ship about 1GB/s switch pace. The expectation didn’t come true. The very best switch pace I can see from the most recent and best 2019 MBP is 48.8MB/s.
Being technically superior I do know — to realize good switch speeds UASP have to be supported. After connecting my new SSD drive to Catalina Mid 2015 MBP IOUSBAttachedSCSI is just not activated, i.e., SSD is working inside previous USB Mass Storage protocol, which isn’t optimum and isn’t designed for pace. The scenario is even worse with the most recent and best MBP, working Huge Sur. It doesn’t have IOUSBAttachedSCSI driver in any respect.
I did humorous experiment. On all my methods I normally have some virtualization software program put in. I occur to have VMware Fusion and Ubuntu 20.04.2 digital machine on each computer systems. I disconnected my new SSD from host OS and linked it to digital Ubuntu 20.04.2. Mid 2015 MBP demonstrated 416MB/s switch pace and 2019 MBP demonstrated 700MB/s switch pace.
My pace measurement methodology.
To measure pace with macOS I utilized dd and gdd. The outcomes are much less then 0.1% totally different, repeatable and constant. This fashion I describe solely gdd methodology, since it’s easy.
... % diskutil listing
...
...
/dev/disk2 (exterior, bodily):
#: TYPE NAME SIZE IDENTIFIER
0: GUID_partition_scheme *2.0 TB disk2
1: Microsoft Primary Knowledge Excessive Professional 2.0 TB disk2s1
...
...
... % sudo gdd if=/dev/disk2 of=/dev/null bs=1M standing=progress
537919488 bytes (538 MB, 513 MiB) copied, 11 s, 48.9 MB/s^C
549+0 information in
548+0 information out
574619648 bytes (575 MB, 548 MiB) copied, 11.7698 s, 48.8 MB/s
To measure pace with virtualised Ubintu 20.04.2 I utilised related methodology:
... $ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 32G 0 disk
├─sda1 8:1 0 487M 0 half /boot
└─sda2 8:2 0 31.5G 0 half /
sr0 11:0 1 1024M 0 rom
sdb 9:0 1 2000G 0 disk
└─sdb1 9:1 1 2000G 0 half /mnt
...
...
... $ sudo dd if=/dev/sdb of=/dev/null bs=1M standing=progress
18229493760 bytes (18 GB, 17 GiB) copied, 26.3 s, 692 MB/s^C
18647+0 information in
18646+0 information out
19551748096 bytes (20 GB, 18 GiB) copied, 28.2948 s, 691 MB/s
The outcomes supplied are collected from 2019 MBP, working Huge Sur.
Disclaimer: I do know, that dd is measuring synchronous reads and writes. I.e., subsequent information alternate operation begins solely after earlier operation utterly achieved and information reached their last vacation spot. In fact, fio as an alternative of dd in asynchronous mode might presumably enhance outcomes, however I doubt 48.8MB/s from Huge Sur may very well be improved 14+ instances to simply attain what virtualized Ubuntu is demonstrating.
Only for these, who understands what virtualization is. VMware Fusion is Kind 2 hypervisor with out {hardware} pass-through help. This fashion each single USB packet have to be ship/acquired by host driver and extracted/replicated into digital deal with area. In fact, many superior issues, like widespread reminiscence and quick IPCs are employed to make issues occur, however virtualization layer continues to be there. Virtualization isn’t free. On this case it provides latency and overhead for any IO operation.
In easy phrases – {hardware} is there. I can use virtualized Linux to carry out transfers, however this isn’t what I’ve my MBP’s for. I nonetheless hope, that there’s a hidden button “Make Every little thing Excellent” someplace in macOS, which I simply don’t know the place to search for.
Please, recommend, the best way to get anticipated USB SSD/HDD switch speeds with newest Catalina and Huge Sur.