USB-C vs USB4/Thunderbolt vs NVMExpress

I have a 1st-gen M1 MacBook Air, 2020 vintage, Sonoma 14.6.1. Its two USB-C jacks are spec’d to support “Thunderbolt / USB 4”, as well as Thunderbolt 3, and USB 3.1 Gen 2. I know a bit about all this alphabet soup, thanks to the excellent articles on the topic by @glennf . But I clearly don’t know enough. I recently decided to add another external drive for backups. Instead of getting an ‘ordinary’ SSD drive (such a Samsung T9), I decided to dip my toe into the Thunderbolt waters, and ordered a Thunderbolt-capable NVMe enclosure (MAIWO 40 Gbps USB4 M.2 NVMe). The AZ product listing says it’s compatible with Thunderbolt 4/3 USB4/3.2/3.1/3.0/2.0. How could I go wrong with this string of alphanumerics?!!

I first installed a 1TB Crucial P3 M.2 memory stick in the new enclosure. It’s a Gen3 x4 device. (More alphabet soup). Plugged it into my MacBook Air with the Thunderbolt cable that shipped with the MAIWO. macOS mounted the drive, which already had a SuperDuper clone on it. I could read and write to the volume. So far so good.

Since I’d never connected any Thunderbolt devices to the Mac before, out of curiosity I ran the macOS System Info utility to see how the MAIWO enclosure was being reported. But the Thunderbolt/USB4 chain was empty. Nothing connected there, despite the use of a Thunderbolt cable plugged into a Thunderbolt port of a Thunderbolt-equipped Mac. Hmm - that seemed odd. “It must have connected using USB”, I thought. But the USB chain was also empty. “Very odd”, I thought. There’s a device plugged into the Mac, there’s a volume mounted on the Finder, but System Information seemed to have no knowledge of it. Eventually, I found the external drive listed in System Info under NVMExpress, just like the Mac’s internal SSD. That came as a big surprise, as I’ve never heard of the NVMExpress interface.

The next puzzle appeared when I swapped the Crucial P3 for a Fanxiana S880 1TB memory stick. It’s spec’d as PCIe 4.0, up to 7300 MB/s. Much faster than I’ll ever need, but it was on sale at Amazon and cheaper than better known brands of 1TB memory. I installed it in the MAIWO enclosure, and connected it as before to the MacBook. The enclosure appeared as a device on the Thunderbolt/USB4 chain, but the memory was not shown. At first, I thought this might be because the new Fanxiana SSD was not initialized, but Disk Utility didn’t see it either.

I had a random thought to replace the Thunderbolt cable with a ‘plain-old’ USB-C cable, one that came with a Samsung T9. When I did that, the Fanxiana SSD appeared. Indeed, it was factory-fresh and had not been initialized, so I used Disk Utility to format it. Having done so, a new blank volume appeared on the desktop. Over the non-TB USB-C cable, System Information shows it’s on the USB 3.1 bus, with maximum speed of only 10 Gb/s, as expected.

So it appears that the Fanxiana SSD is functional. The MAIWO is functional. The combination of the two of them in conjunction with a Thunderbolt cable is not.
It’s clear that I’m in way over my head with Thunderbolt, PCIe memory, and NVMe technology. I’m mystified why the Crucial P3 SSD gets mapped to the NVMExpress interface, while the newer, faster, more modern Fanxiana SSD does not. Any ideas from the TidBITS community of experts?

Thanks!

I am assuming nobody at MAIWO responds to email? This definitely sounds like a compatibility issue. Some mode is required on the SSD and the Fanxiana lacks it. I’d send support emails to these folks!

1 Like

The flash you connect with TB4 interfaces to your Mac over PCIe (NVMe) which is why it shows up there in System Profiler.

That same flash connected over non-TB USB-C will interface to the Mac over USB3 which is why it shows up there.

That MAIWO’s ASM2464PD controller in the bridge speaks both protocols so it will adjust to the best it can do according to the entire chain. In the latter chain, USB-C is the weakest link thus forcing that same stick to interface over USB3 rather than TB4 (fallback).

Why that specific stick seems to not want to interface over NVMe via USB4/TB4 as it should per its specs is not clear to me without looking into details. I will say though, that with those advertised specs and a $130 price point I would be very skeptical. Even the quite inexpensive Samsung 990 PRO will run you $170 at 2TB whereas the highly respected 980 PRO is $205 for 2GB.

If it were me, I’d return that Fanxiang stick and instead order a trusted model, like the Samsung. MAIWO in fact commonly benchmarks against the 980 where they show (and this has been confirmed independently) that the MAIWO/980 combo indeed maxes out a Mac’s TB4 bus.

2 Likes

NVMExpress (aka NVMe) is the interface used internally by your Thunderbolt enclosure to connect to the SSD.

It is reported this way because Thunderbolt (among other things) is capable of tunneling a PCI Express bus to external devices. And NVMe is also based on PCI Express. So as far as software is concerned, it’s indistinguishable from an SSD connected to a hypothetical PCIe/NVMe slot on your motherboard.

I think your device is actually from FanXiang. Yep, I found the vendor’s product page.

There are tons of these no-name Chinese companies selling junk electronics, lying about the specs. I have no clue who FanXiang is, and I’ve never heard of them before today, so I’m immediately suspicious.

It would not be the least bit surprised to learn that the device is not “PCIe 4.0 up to 7300 MB/s”, but is in fact a SATA device, which will top out a 6 Gbit/s (750 MB/s). A non-PCIe device can’t communicate via the NVMe protocol. I’m not sure why the enclosure didn’t allow it to connect via Thunderbolt, but it might not have the circuitry to translate SATA to a virtual USB channel tunneled over the Thunderbolt link.

I would also run some tests trying to fill the storage device and verify that everything was written properly. Another scam from these no-name companies is to pair a really small flash chip with a controller that lies about the capacity. So it may report itself as 1TB, but it may fill up or start corrupting your data after writing only a few GB. Again, this device might be legitimate, but it’s an unknown brand sold at a dirt-cheap price, which makes me extremely suspicious.

See also:

Update. Some additional web searching about FanXiang:

So, to summarize: Not a scam, but lousy quality. Spend a bit more for a good quality brand like Crucial or Samsung.

3 Likes

Many thanks to @glennf and @Shamino and @Simon for the help and insight.

I did some more troubleshooting and discovered that one of the problems was that the USB4 cable that was bundled with the MAIWO enclosure was dodgy. One end had a bad connection. A slight wiggle from moving the drive or the MacBook a tiny bit would interfere with the connection and cause various problems. I ordered another USB4 cable from Cable Matters to deal with that.

I tried the enclosure with both a Crucial and Silicon Power SSDs, and got different results. With either of those, I was able to get the volume on the SSD to mount, though I first had to initialize the SSD using a USB 3.1 cable. Was never able to get Disk Utility to succeed to format it using a USB4 cable.

With the SSD formatted/partitioned with GUID & APFS, a new behavior appeared. Upon connecting the enclosure, its LED activity light started blinking rapidly, endlessly. Activity Monitor showed no sign of CPU or disk activity, but something was happening on the USB4/Thunderbolt connection that was heating up the SSD. The enclosure quickly became quite warm, so much so that I put a freeze pack underneath it to cool it.

While it was blinking away, I tried transferring a 500 MB file to the SSD. Within a few seconds, the MacBook crashed with a pink screen of death. I’ve been using Macs for decades and I’ve never seen a crash preceded by a momentary pink screen. Rebooted the Mac and tried again. Same thing. Now that I understand that Thunderbolt tunnels the PCIe bus out to external devices, I can see how a sketchy NVMe device or enclosure could cause unhappiness deep in the Mac.

While this was going on, I contacted MAIWO. After some back and forth, they concluded the enclosure must be defective.

End of story - I returned the fanxiang SSD to Amazon. Will stick with brand names.
Decided that USB4/Thunderbolt is still a bit too advanced for my skill set - too many interdependencies between the various parts. (I don’t really need the speed in any event).
I may keep the MAIWO enclosure and just use it with a USB3.1 cable, as it seems to be stable in that configuration.

Thanks again - I really appreciate your input.

3 Likes

I feel like somebody in the industry should pay you for all the time you’ve invested in their problem that became your problem. That is so many things. What a waste of time, but also, thank you for sharing troubleshooting steps.

I will tell you this, though: despite all the nonsense I’ve seen with cables, etc., nearly all the time, I plug in a Thunderbolt 3/USB 3 or Thunderbolt 4/USB 4 device and it just works exactly as expected with no trouble. I think you unfortunately hit a couple different edge cases!

1 Like

I can say the same for myself. I have several TB3/4 devices I use daily for many hours and I rarely have seen any issues there. Certainly fewer than with USB3.

I will say though that getting reasonable enclosures and cables is crucial.

Enclosures have become easier — these days there’s good cases with performant bridge chips for not much money. Cables was not that simple for the longest time. Thankfully @glennf wrote good TidBITS pieces on how to navigate that. Sticking with just TB4 cables rated for full power is the way to go for sure. In the past these cables were expensive. But that’s no longer true either (here’s a $9 1-m USB4 cable rated for 240 W with USB-IF certification).

2 Likes

Fun fact. Not so much “fun”, but more in the column of hi-tech curiosities

Out of curiosity, I plugged my dodgy MAIWO enclosure into my iPhone 15 Pro. I’ve never had occasion to plug any USB-C accessories into the phone, other than chargers. I don’t shoot hi-res 60 fps video with the phone, don’t need to add external SSD storage. I just did it 'cause the two of them were sitting on my desk and they both have USB-C jacks.

When I used my new USB4 cable for the connection, the activity light on the enclosure started rapidly flashing, non-stop, just as it did when I connected the SSD to my MacBook. I switched to a USB 3.1 cable, and the flashing went away. I then found that I could access the SSD volume using the iOS Files app. Personally, I can’t think of any reason I’d want to transfer files between the iPhone and a 1TB SSD, but I now know it’s possible.

Being a neophyte, I’ll go way out a limb and conclude there’s something flawed in the MAIWO USB4/Thunderbolt interface - a firmware bug?, a faulty chip? - that causes it and the TB interface on the connected host to go wild and transmit bits back and forth endlessly. Hence the endlessly flashing activity light.

The MAIWO seems to work OK when I connect it with a ‘SuperSpeed’ USB-C cable (not a TB4 cable), but I don’t think I want to rely on it. Time to go shopping for a reliable, well-reviewed enclosure at a reasonable price.

Agreed. If you want 10Mbps USB 3.0, there are less expensive enclosures you can use.

I’ve been using this one for about a year and a half, with good results.

I have mine configured with an inexpensive 2 TB NVMe SSD, formatted for exFAT so I can use it with both my Mac and Windows computers. The entire file system (mostly) stores a single VirtualBox virtual disk image, which I use for building Yocto-based Linux system images for various embedded devices that I develop software for (for my employer).