Building a blazingly fast external SSD
NVMe + Thunderbolt = π
I recently decided to upgrade my external Samsung T5 SSD to something a bit more inline with the speeds my M2 MacBook Pro would throw at it, especially with the Thunderbolt 4 ports which handle 40Gb/s (5,000 MB/s) β more on that below.
This lead me down a rabbit hole of learning more about NVMe, PCIe, enclosure chipsets, different USB specs, and Thunderbolt.
Not All Enclosures Are Equal
This really comes down to the chipset inside the enclosure. Most enclosures claim to be Thunderbolt 3/4 compatible, and run the JHL7440
chipset. This chipset provides transfer speeds up to 24Gb/s, with real-world speeds maxing out around 2,800 MB/s.
To push the limit further, I needed to find an enclosure that used the ASM2464PD
chipset. It seems this chipset will provide higher throughput because unlike the Thunderbolt 3 designs, no bandwidth is reserved for the DisplayPort or legacy USB 3.x spec.
Dan Charlton has a great writeup on chipsets that led me to this revelation.
There are very few enclosures running this chipset, and I decided to go with both the HyperDrive Next USB4 NVMe SSD Enclosure, and the ZikeDrive USB4 NVMe SSD Enclosure. Both drives include a Thunderbolt 4 cable as well.
NVMe SSD
When is came to performance, researching the NVMe SSD almost always yielded the same results:
As a sidenote, I did try running the Crucial T700 PCIe Gen5 NVMe M.2 SSD, but I couldn't even get the drive to format. Errors on errors, on errors. PCIe is suppose to be backwards and forwards compatible β so the T700 should have worked, but alas, no luck.
Results
For a baseline, I ran the Samsung T5 through Blackmagic Disk Speed Test, and a 305 GB file transfer. I then performed the same tests with the Samsung 990 PRO, and WD_Black SN850X (in each enclosure).
Moving over 305+ GB worth of data with the new setup saw a read/write speed increase of around 1,223% β which also translated into a decrease in transfer time of 9+ minutes!
Drive | Read / Write | Transfer (305+ GB) |
---|---|---|
Samsung T5 | 234/385 (MB/s) | 12min |
HyperDrive Samsung 990 PRO NVMe | 3,096 / 3,078 (MB/s) | 2min 49sec |
HyperDrive WD_Black SN850X NVMe | 3,085 / 2,922 (MB/s) | 2min 26sec |
ZikeDrive Samsung 990 PRO NVMe | 3,176 / 3,102 (MB/s) | 2min 35sec |
ZikeDrive WD_Black SN850X NVMe | 3,145 / 3,100 (MB/s) | 2min 30sec |
Why Can't I Get The Full 40 Gb/s (5,000 MB/s)?
If the Samsung 990 PRO and WD_Black SN850X claim read/write speeds up to 7,300+ MB/s, why are they topping out at more like 3,100 MB/s?
To achieve these speeds you need PCIe 4.0 link rates through the entire chain β in this case: M2 MacBook Pro (TB 4) β TB 4 Cable β SSD Enclosure β NVMe.
In this case, the NVMe, enclosure, and cable support PCIe 4.0, but Thunderbolt 3/4 on the MacBook Pro uses PCIe 3.0 x 4, which caps out at 3,500 MB/s after PCIe overhead.
The only way to overcome this hurdle would be to run two enclosures/SSDs on different Thunderbolt ports simultaneously in RAID 0... but even I have my limits.
References
- Intel JHL7440 Thunderbolt 3 Controller Specs
- Intel JHL8540 Thunderbolt 4 Controller Specs
- ASMedia ASM2464PD Thunderbolt Controller Specs
- USB-C SSD enclosure chipsets compared
- Whatβs the Difference Between Thunderbolt 3, Thunderbolt 4, and USB4
- How to actually get 40 Gbps on an external NVMe via Thunderbolt 3 on M1?
- Why your external SSD is not hitting max speed: EXPLAINED