Why good external SSDs are faster with Apple Silicon
eclecticlight.co
eclecticlight.co
The comparison is between a Mac with an Apple M series processor vs an Intel based Mac, using either a Thunderbolt 3 vs a USB4 external enclosure for the (unspecified) SSD.
The conclusion is that for the Intel Macs it does not make much of a difference, but for the M series there is a benefit from going USB4.
The article is very light on methodology or actual data.
- it's almost impossible to tell a priori what the performance will be, since manufacturers don't document their chipsets properly
- a faster drive may be slower on an Intel Mac, due to falling back to USB3
That's because it's not a benchmark, it's an explanation.
It's certainly an article that uses the word 'may' several times in the text, yet not once in its title.
All those extra modes sound great on marketing slides, but the upshot is that consumers no longer know what they're getting when reading a spec sheet on Amazon. So you get articles like this purporting to say something about Apple products when almost certainly it's down to the lack of Intel Macs on a benchtop at whatever vendor packaged that drive.
[1] In the last nine years there have been four independently issued USB standards and IIRC another two for Thunderbolt before the USB4 convergence. That's just not a reasonable landscape for a vendor to "support" in any meaningful way. Stuff that is correct at design time is obsolete by the time it ships, and the industry makes up for the churn by just skipping testing with the "old" stuff.
With TB, you know exactly what are you getting. On the connector, there's a flash icon (meaning: thunderbolt) and a number (if > 3). That number says, which TB version it is.
Even with USB4, there's no convergence. USB4 made TB alternate mode optional. USB4 is no guarantee, that you can use TB.
The article is literally detailing a Thunderbolt device that behaves differently when plugged into different macs, precisely because of the ambiguity introduced by the USB4 modes.
"You know exactly what you are getting" is a story about a specification being unambiguously written. It doesn't say anything about what happens when you have dueling specs on the same port, which is the problem here.
So, you agree that the specification landscape is a soup of incompatible variants which make practical interoperability mostly a crap shoot for consumers. You just don't think that's a problem?
One related complication of sharing a physical standard is that all Thunderbolt 4 cables work for USB 4, but the reverse isn't true. Ideally that would not be the case, but people want their cheap USB cables.
that's absolutely not true at all - for example, cables can be either active or passive, which is not denoted on the cable. Many devices will not work over a passive cable, because it does not provide power.
It is not this. PCIe can be encapsulated over a Thunderbolt connection, but that is not what Thunderbolt is. Thunderbolt is Thunderbolt.
Not exactly, as it actually mentions intel macs do not support USB4, so USB4 enclosures will fall back to USB3 which is slower than TB3. The article is no less confusing than the actual topic. So the actual advice is TB3 for intel macs, USB4 for apple silicon.
It's worse than that; if you use a USB4 enclosure with an Intel Mac (or, really, just about any computer that's more than a few years old), it'll run at 10Gbit/sec (because USB3 is the fallback point, not Thunderbolt 3), but if you use it it with ARM Mac it'll run at 40Gbit/sec. If you use a Thunderbolt 3 enclosure instead it'll run at 32Gbit/sec in both cases. All bets are off if Thunderbolt 4.
As always, USB, and associated standards like Thunderbolt, continue to be absolutely baffling. I think there had been the perception that USB4 would make all this a bit less confusing, but it very much hasn't.
Although in practice I find it pretty easy to pick out power-only UBC-C, USB-only USB-C, and Thunderbolt USB-C, by the build quality/thickness of the cable. What's aggravating is devices (cheap ones) which use the USB-C port but will only charge from an OG 500mA charger. I keep those chargers in rotation as a result, but they're useless for any other purpose.
Read 2692 MB/s
Write 1774 MB/s
System information claims the device as "USB4 NVME SSD Pro Enclosure" on the Thunderbolt 3 bus and not the USB bus This article talks about TB4 vs USB4 but that's a
red herring. This has nothing to do with USB4 and
Intel USB4 compliant controllers have the same problem.
The real reason Apple Silicon is faster is simple:
Intel Thunderbolt controllers are *external* and
bottlenecked on a PCIe 3.0 x4 link to the host,
while Apple Silicon *embeds* the controllers right
into the SoC, so there is no physical PCIe link
anywhere. They connect directly to the much faster
SoC fabric, so have no such bottleneck.
I can't say whether he's right or not, but it sounds plausible.There's only a real issue with capacity if you're using USB4, so I don't see how it's a red herring. Also, I've just read that Thunderbolt 3 has a hard reservation of 18 Gbps for display port data, limiting other data to 22 Gbps, so comparing TB3 to TB4 in pci-e mode will have that caveat as well.
hector goes over this as well, but basically you've replaced all the lower (physical) layers of PCIe's networking stack. intel like to pretend that thunderbolt and USB4 just tunnel actual PCIe links unchanged (as if they're emulating everything down the PCIe lanes and PHYs), but they don't. PCIe over thunderbolt can run at whatever speed you please, limited only by the throughput of TB and the overhead of the remaining layers of the PCIe stack.
While I would agree the article should link to more details, they are easy to find on the site. In fact, the author has written many benchmarking tools. Here are their tools related to disk and file system performance:
https://eclecticlight.co/dintch/
It is a fair bet, they used their own benchmark tools. You can read other articles on the site that describe their work.
1. problems are mostly thermal for external devices, ie if you have an enclosure that is not good for dissipating heat, and the device consumes Watts of power... it is unlikely you will see sustained performance
2. Not all USBC interfaces are alike, and getting USB2, USB3, USB Super Speed or USBC performance will vary based on
a. the usb cable construction / performance spec,
b. the usb-c cable orientation in the socket (yes they are symmetric, but not physically sometimes),
c. the port you plug into,
d. the orientation of the usb-c cable in the socket.
If you are a person who desires more texture:
1. the real speed limit is how many lanes of PCI/CXL are extended to the controller on the USB bus, the controller on the device,
2. and the raw performance of the nand device, ie how many addressable bits are available per cycle &/or the amount of real-time recovery in LDPC that is successful in single pass ... ie optimization of throughput.
USB4 ASM2464PD SSD ENCLOSURES [1]: These enclosures sustain higher throughputs compared to older Thunderbolt 3 designs which reserved bandwidth for DisplayPort and legacy USB. Real-world peak throughput is ~3.1-3.8GB/s with the latest Gen4 M.2 NVMe SSDs. Many enclosures since 2020 are marketed as “USB4 compatible” but are based on the older Thunderbolt 3 chips, so you need to pay attention to the fine print.
[1] https://dancharblog.wordpress.com/2024/01/01/list-of-ssd-enc...
Also, if you have the device plugged straight into your USB4 equipped computer, it will run in USB4 mode and you will easily see 3GB+/s benchmarks. If you have it plugged into a USB4/Thunderbolt 4 dock, it will run in Thunderbolt 3 mode. The speeds in TB3 mode will be limited to about 2.7GB/s or the same as Intel JHL7440 enclosures. So it performs no better than Intel Thunderbolt 3 enclosures in that scenario. However, the ASM2464PD enclosures run HOT. I bought a couple of Maiwo enclosures off AliExpress when you couldn't purchase these at retail in North America. If I had to do it again, I'd buy the OWC version. I've heard the OWC enclosure has extra heatsink accommodations to handle the heat. I bet they'll ship the latest firmware too.
Even on my old thinkpad USB3.0 ports, performance drop when the drive is hot. I have one drive that I use to run my "works" VM on different computers, and when I am doing IO intensive stuff I can really observe the difference wether the usb casing is open or closed or if I put a ventilator in front of it.
One of the article's sins is that it mixes units, and accounts for overheads in one case but not the other, but I think it's fair to normalize this to <24 Gbps vs <40 Gbps. Dropping to <10 Gbps USB3 would be even worse.
I can imagine someone would notice the difference if it was in the critical path of their workflow such as importing and exporting high-quality video files. I'm not a video editor, but to proactively empathize, if all of my compiles took 2x-4x as long because of IO spec nonsense, I would have plenty of time to form an opinion about it.
My takeaway is that, while you already had to benchmark a storage product's performance rather than trust their claims, it appears you also have to benchmark it on the particular host hardware (and likely even specific cables) being used.
If the stakes are 2x-4x performance in the critical path of your workflow, it's quite a headache, and will further confound the applicability of third-party reviews. At best it may mean they have to test more combinations at the reviewer's expense, but still leaving many combinations untested at the potential user's expense.
https://forums.macrumors.com/threads/usb-on-m1-macs-isnt-act...
There are a lot of other factors to consider too, like how many pci-e lanes is dedicated in a usb port, how they may be shared between usb ports etc, eg it seems that some usb ports that are usb3.1 gen 2 are actually limited to ~8Gb/s because of that
https://forums.macrumors.com/threads/issues-with-usb-ports-o...
Advice: get an enclosure and ssd that you have seen somewhere in the internet as working with your device.
say a ubuntu desktop, a macbook air and a windows laptop.
yeah file formats becomes a hinderance -- but they all can read exFAT at decent performance.
From what I understand, many eHDDs don't actually do this, instead reading the contents of the drive and exposing them to the computer by essentially emulating a USB flash drive. I would have to sniff the packets to be sure, but this is what I suspect my eHDD caddy is doing.
My main reason for wanting this is that, in some cases, it would make reading random drives substantially easier -- I have amassed a collection of HDDs that all have different partition schemes, filesystems, etc., and a fair number of those are unable to be processed by my caddy. This is a very frustrating experience, as a Linux device has some of the best filesystem / partitioning support in the world (and a random £15 caddy is obviously not going to provide very good competition.)
On the contrary, having the kernel process the HDD as a block device would most likely place it under marginally more computational stress (as opposed to the drive reading partition tables and filesystems itself), but I believe that's been fairly well-optimized by now.
On a positive note, I very much suspect the USB-C connector of being miles better than the Micro USB 3.0 interface my current caddy uses. In my experience, a bit of external force can easily encourage the connector out of the port.
> (and a random £15 caddy is obviously not going to provide very good competition.)
P.S. re this, I can sort of understand it, as the caddy came with a drive -- they clearly had the opportunity to optimize away support for filesystems that they weren't pairing the caddy with.
[0]: https://www.amazon.co.uk/SABRENT-enclosure-indicator-tool-fr...
https://www.amazon.co.uk/SABRENT-enclosure-indicator-tool-fr...
I'm a bit confused, but isn't eSATA exactly what you are looking for?
※ Listed on Amazon as "SABRENT 2.5-Inch SATA to USB 3.0 Tool-Free Clear External Hard Drive Enclosure [Optimized for SSD, Support UASP SATA III]"
Fyi, it's somewhat common knowledge in tech circles that exFAT is an unreliable way of permanently sharing data between different operating systems: https://www.google.com/search?q=exfat+corruption+macos+windo...
exFAT is ok to use as a secondary file system for transferring/copying data between systems (aka "sneakernet") but not as a critical primary disk drive.
EDIT reply to : >the more reliable file system to use if different operating systems need to use it is UDF
UDF like exFAT does not have journaling feature in HFS+ and NTFS. Without journaling as a self-check feature, it makes the filesystem very fragile and prone to corruption. Similar to this explanation:
https://apple.stackexchange.com/questions/7609/what-are-the-...
For permanent data sharing between macOS/Windows/Linux, the more reliable setup than exFAT is network shares such as SMB/NFS mounts on a NAS with ZFS/btrfs filesystems. Unfortunately, that costs more money because of the extra hardware.
EDIT reply to: >If you just want to share files between 2-3 computers, by far the fastest and cheapest will be to wire the computers together over Thunderbolt.
When I researched the idea of daisy-chaining Thunderbolt with mac + Linux + Windows, I ran into stories saying it was not reliable. Example:
https://macperformanceguide.com/blog/2023/20230213_1022-Thun...
I could see where Thunderbolt daisy-chaining macos+Windows might work 100% perfectly for some but others have flaky issues because of various interactions of Thunderbolt chipsets, TB dock/hub quality, drivers, etc.
But, I never went all the way and got the install set up with drivers for both systems. I think that would be the dream. Only one filesystem to think about.
I wonder if there’s some clever overlay way to plug the drive into my laptop, boot off that, have it copy everything over, then unplug the drive, work for a bit, and then have it automatically send it all back next time I plug the drive in…