Had to read this a few times before I got the meaning of the confusing title.
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.
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.
I'd guess he's right. No one outside of Apple knows more about the inner-workings of the M series than Hector. For those that don't know, he's the main contributor and lead of Asahi Linux.
I think it's reasonable to say a PCIe 3.0 x4 attached thunderbolt controller is bottlenecked by the host attachment; but that doesn't much matter if you're using PCIe 3.0 x4 mode (+/- interleaved display port). And it's also not limiting if you're in USB3 mode.
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.
inside the TB link there's no such thing as "3.0" or "x4"
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.
I dont know the specifics of the Intel CPUs in Mac machines, but I do know that some Intel core series CPUs come with TB baked into the CPU/SoC. That being said, the comment you've quoted is plausible.
> 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.
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.
A lot of growing pains for sure. We've gone from "you have to find the cable which fits the port, and if you don't, you're out of luck" to "grab one of the 'universal cables' and see what happens when you plug it in".
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.
> for the Intel Macs it does not make much of a difference
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.
Regarding the lack of detail, this has to be taken in a bit of context. Howard Oakley -- the author of the site -- has many articles that go into great technical depth and ones that are more high level advice.
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:
And? I don't see the problem. The title does include a qualifier: "good". If one product lives up to the potential that the technology (connection type) allows but another product doesn't, then I'd call (only) the first product "good".
Really the takeaway is that the interop story for Thunderbolt/USB has turned into a big mess over the last decade[1], with way too many incremental revisions and standards changes that are supported by far too few actual devices, and combinations that are pretty much never tested.
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.
There's no interop story between Thunderbolt and USB. Thunderbolt is packetized PCIe over USB-C connector in the alternate mode, that's all, similar to DisplayPort over USB-C. Even the cable is different than USB.
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.
The article is detailing a device that has dual protocol support: TB and USB. It prefers TB in one case and USB in another. I don't see any ambiguity here: it goes down the list: USB 4, TB, USB 3.1. The Intel macs are missing USB 4.
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?
I believe he's responding to the characterization of the drive as a "Thunderbolt device". As the article and @vetinari note, the drive supports both Thunderbolt and USB. It's sort of a given that that performance would be different based on which "mode" it's in.
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.
> 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.
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.
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.
Or, for the techy detail and practical advice, the first enclosures which make use of USB4 and are faster are based on a ASMedia ASM2464PD controller chipset.
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.
I'm piggybacking off this comment in case people want to purchase one of these enclosures after reading your comment. I've tested a couple of these ASM2464PD enclosures since last November. If you buy one of these you're going to want to flash the firmware to at least the latest ASMedia one from January of 2024. This remedies some "random" unmount issues you could run into, particularly on Apple Silicon Macs. In my case, despite purchasing two identical enclosures, one had the disconnect issue and the other did not. But the firmware update has resolved it fully. Unfortunately, you'll need a Windows PC to flash the firmware. Running the flasher under Windows on Parallels didn't work for me. You do NOT need USB4 to flash the device, just a USB 3.2 USB-C port. A USB-C to USB-A cable may work too but I did not test that scenario.
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.
My experience with SSDs and nvme in usb enclosure is that temperature management is probably a much bigger factor.
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.
> So the fastest you’ll see with your Intel Mac’s Thunderbolt ports is up to 3 GB/s, while a suitable USB4 enclosure running from any Apple silicon Mac should comfortably exceed that if it really does support USB 40Gbps.
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.
Apart from what the article explains for TB3 vs USB4 enclosures, there are several additional issues with what connects how in an apple silicon mac. It is a mess to figure out an optimal set of enclosures and ssds for a macbook, as some combinations work better than other in apple silicon, while not having any difference in intel macs. For example, a lot of usb3.1 gen 2 enclosures seem to be recognised as gen1 (5Gb/s vs 10Gb/s). I don't think it is very clear why, but probably having to do with the specific usb controllers. In general, TB controllers seem to be more reliable.
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
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:
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:
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.
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. Forget the other networks, you just need a couple of high-$ cables.
I use an external drive for my main desktop drive. It is pretty nice to be able plug it into my laptop, and access my desktop /home without even going over the network.
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…
While we're here, are there any eHDD standards (and devices) that allow you to plainly read the SATA data from the drive, merely acting as a transport for the SATA connector itself? A fair number of them don't allow you to read SMART, for instance (I think this is terrible for a good number of reasons, but alas...)
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.
The standard you're looking for is UASP, which encapsulates raw SCSI commands over a USB connection. Most newer SATA enclosures should support it, they usually mention UASP in the product description if they do, since it has better performance than the older style which emulated generic USB mass storage.
iirc there are/were still issues because SMART is part of ATA but not part of SCSI so you need an extra encapsulation layer - smartmontools has code to send special vendor-defined packets because of this.
Ahh, Hacker News never fails to disappoint. Are there any ones you would recommend? A quick Amazon search yields a ton of rando-name products that I don't place much faith in -- the only brand name I could find was Sabrent[0], but that's only 2.5" and I suspect it's running the drive at 5v. My current one (which I believe is WD) has long since been liberated from its chassis, but it does have a separate 12/2 power supply as opposed to running the drive on the 5v USB connector.
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.
I went through this exact rabbit hole in 2021 looking to out about USB enclosure CPU usage. As jsheard mentioned, you're looking for UASP. UASP has been around for a decade or more and even the cheapest USB enclosures should support it. I use a Sabrent※ that was $11USD last year.
※ 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]"
Could you please clarify this? I was under the assumption that eSATA was the name for the external [hot-pluggable] SATA connector. If memory serves, eSATAp was that, but combined with a USB plug. Very clever engineering, though the connector seems to be very rare these days (possibly due to SATA itself losing market share [in the context of ordinary people]).
Even with a single mac, external drive is much cheaper and not much slower than built-in storage, and most importantly can be used to boot macos from it.
Meaning, if your mac dies, you plug that drive into another mac and continue working
Which is all of them now, besides the Mac Pro. The super thin MacBook Airs have the excuse that upgradable storage would add bulk at least, but there's really no excuse for a brick like the Mac Studio not having M.2 slots.
Yeah TB doesn't go up to 40Gbps for data transfer because there's reserved bandwidth for Display Port. But you can get around 2.5GBps which is plenty for most use cases.
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.