Lately I purchased SanDisk Excessive Professional Transportable SSD. It’s marketed as delivering nearly 2GB/s learn and and write speeds. In fact, such speeds are solely achievable with appropriate {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 velocity. In fact, I believed, it’s outdated {hardware} and it’s pointless to count on any miracles from it.
The second is the newest 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 assist 40Gb/s switch charges in native ThunderBolt mode and at the very least 10Gb/s in USB 3.2 mode. This manner USB 3.2 connection ought to ship about 1GB/s switch velocity. The expectation didn’t come true. One of the best switch velocity I can see from the newest and best 2019 MBP is 48.8MB/s.
Being technically superior I do know — to attain good switch speeds UASP should be supported. After connecting my new SSD drive to Catalina Mid 2015 MBP IOUSBAttachedSCSI will not be activated, i.e., SSD is working inside outdated USB Mass Storage protocol, which isn’t optimum and isn’t designed for velocity. The scenario is even worse with the newest and best MBP, operating 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 velocity and 2019 MBP demonstrated 700MB/s switch velocity.
My velocity measurement methodology.
To measure velocity with macOS I utilized dd and gdd. The outcomes are much less then 0.1% completely different, repeatable and constant. This manner I describe solely gdd methodology, since it’s easy.
... % diskutil record
...
...
/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 velocity 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 offered are collected from 2019 MBP, operating Huge Sur.
Disclaimer: I do know, that dd is measuring synchronous reads and writes. I.e., subsequent information change operation begins solely after earlier operation fully completed and information reached their remaining vacation spot. In fact, fio as a substitute of dd in asynchronous mode might probably enhance outcomes, however I doubt 48.8MB/s from Huge Sur could possibly 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 assist. This manner each single USB packet should be ship/obtained by host driver and extracted/replicated into digital tackle area. In fact, many superior issues, like widespread reminiscence and quick IPCs are employed to make issues occur, however virtualization layer remains 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 The whole lot Excellent” someplace in macOS, which I simply don’t know the place to search for.
Please, counsel, how you can get anticipated USB SSD/HDD switch speeds with newest Catalina and Huge Sur.