Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.

Anonymous Freak

macrumors 603
Original poster
Dec 12, 2002
5,604
1,389
Cascadia
Did you use a benchmark to make sure the "Up to 5 Gb/s" is accurate?

Yes. Using my Samsung T5 SSD, when connected through the Thunderbolt 3 Dock, which gives 10 Gbps connection, I get about 6 Gbps, obviously faster than the 5 Gbps cap of the slower standard. When plugged in directly to the Mini, I get 4.7 Gbps.
 

joevt

macrumors 604
Jun 21, 2012
6,971
4,262
Yes. Using my Samsung T5 SSD, when connected through the Thunderbolt 3 Dock, which gives 10 Gbps connection, I get about 6 Gbps, obviously faster than the 5 Gbps cap of the slower standard. When plugged in directly to the Mini, I get 4.7 Gbps.
Ok, so we have some devices like the T5 that connect at 5 Gbps and some like the T7 that can connect at 10 Gbps.
I would like to see some tests with other 10 Gbps devices such as USB to NVMe enclosures like the Orico or Plugable that should be able to get ~980 MB/s
 
  • Like
Reactions: Slowbutsteady

Gnattu

macrumors 65816
Sep 18, 2020
1,115
1,675
Ok, so we have some devices like the T5 that connect at 5 Gbps and some like the T7 that can connect at 10 Gbps.
If this is the case, then I think it is more likely a firmware issue, the controller in either the host or the device side did not detected the controller on the other side supports a higher speed, hence fallback to a slower one.
 

Krevnik

macrumors 601
Sep 8, 2003
4,101
1,312
Correct. Outside the M1 die, Apple uses an Intel Thunderbolt 4 JHL8040R repeater for each Thunderbolt port. Apple can't call the ports Thunderbolt 4 because Thunderbolt 4 requires that a Thunderbolt port can support two 4K displays.

Looking into that repeater certainly cleared things up for me on a couple things. It explains why we have 2 buses, but only 2 ports on the Mini. Is Apple really going to add two more buses to the 16” MBP I wonder?

As an aside though, even if Apple supported dual 4K like required (which to me still reads as more of an HBR3 requirement), there’s also the “Intel VT-d based DMA protection” requirement. Do we have evidence that Apple supports a compliant DMA protection in their controllers? Seems like a line item Intel could (and would) use to block TB4 certification to systems not using an Intel CPU, even if they are otherwise compliant.
 

joevt

macrumors 604
Jun 21, 2012
6,971
4,262
Looking into that repeater certainly cleared things up for me on a couple things. It explains why we have 2 buses, but only 2 ports on the Mini. Is Apple really going to add two more buses to the 16” MBP I wonder?

As an aside though, even if Apple supported dual 4K like required (which to me still reads as more of an HBR3 requirement), there’s also the “Intel VT-d based DMA protection” requirement. Do we have evidence that Apple supports a compliant DMA protection in their controllers? Seems like a line item Intel could (and would) use to block TB4 certification to systems not using an Intel CPU, even if they are otherwise compliant.
A JHL8040R is needed for each port. There's two repeaters because there's two ports. It does not explain why there is a separate bus for each port. I don't think there's any reason a bus can't be just one port. Or have more than two ports. There are some Intel chips with only one port. Many have two ports. The new Intel Thunderbolt 4 peripheral chip JHL8440 has 4 ports (not sure if it can be used as a host? it says PC is a use condition so maybe). Apple can add as many controllers(buses) as they like with as many ports per bus as they like, it just takes space. The two current controllers have two DisplayPort inputs each so Apple could have done 4 displays on the two ports if the rest of the system was capable.

Dual 4K is dual HBR2. The M1 only does dual HBR2 when a dual link SST 5K display is connected (like the LG UltraFine 5K or HP Z27q or Dell UP2715K). It doesn't do two separate displays though which is the problem. As for VT-d based DMA protection - I suppose Apple could have some kind of protection but it's not VT-d since that's an Intel thing so you might be right about Intel blocking anything that isn't Intel based.

In other news, OWC has stated that their Thunderbolt 4 hub will be compatible with M1 Macs and Thunderbolt 3 Macs running Big Sur, so that's good news. I wonder if it uses the USB tunnelling method for USB4 computers for USB output? That will be something new to see - I guess in that case it will appear in the USB section of System Information.app as a USB hub. For Thunderbolt 3 computers, USB would have to be done using PCIe tunnelled to a USB controller in the Thunderbolt 4 hub - therefore it will appear as a USB bus in System Information.app as we've seen in all Thunderbolt 3 docks before this.
 
  • Like
Reactions: torncanvas

theluggage

macrumors G3
Jul 29, 2011
8,021
8,465
In other news, OWC has stated that their Thunderbolt 4 hub will be compatible with M1 Macs and Thunderbolt 3 Macs running Big Sur, so that's good news. I wonder if it uses the USB tunnelling method for USB4 computers for USB output?

Looking at this doc and reading between the lines, it looks like the 4-port hub (effectively 1 "in" and 3 "out") is mainly the upshot of there now being a 4-port controller whereas, before, the maximum was 2 (1 in, 1 out) and supporting it is just a driver issue (hence it works on TB3 Macs).

As for "tunnelling" - is that a good thing or a bad thing vs. the status quo where connecting a hub adds more PCIe-to-USB controllers? Tunnelling will presumably "use up" a USB controller on the host. Can't quite get my head around it but it might be a thing for "cheap", non-Intel, USB 4 docks and displays as a solution to the "can't have 4-lane DisplayPort and support USB 3 speeds" problem with current USB-C.
 

joevt

macrumors 604
Jun 21, 2012
6,971
4,262
Looking at this doc and reading between the lines, it looks like the 4-port hub (effectively 1 "in" and 3 "out") is mainly the upshot of there now being a 4-port controller whereas, before, the maximum was 2 (1 in, 1 out) and supporting it is just a driver issue (hence it works on TB3 Macs).

As for "tunnelling" - is that a good thing or a bad thing vs. the status quo where connecting a hub adds more PCIe-to-USB controllers? Tunnelling will presumably "use up" a USB controller on the host. Can't quite get my head around it but it might be a thing for "cheap", non-Intel, USB 4 docks and displays as a solution to the "can't have 4-lane DisplayPort and support USB 3 speeds" problem with current USB-C.
There might have been an older Thunderbolt controller with more than two ports, see table of Controllers
But probably that table is confusing ports and channels (2 channels per port?).

Tunnelling of USB means you don't have to tunnel PCIe (interrupts, PCIe bus numbers, PCIe BAR registers, PCIe config space, etc.) For USB4 hosts, PCIe tunnelling is optional, so some will not have PCIe tunnelling capability (that is the cheap option you are described). So if the OWC Thunderbolt 4 hub has a USB Down adapter with SuperSpeed hub, then it can work with such USB4 hosts (I don't know of any such hosts that exist yet).

As for which performs better, USB tunnelling to USB hub or PCIe tunnelling to USB controller, I guess we need benchmarks to determine that. I don't expect the difference to be significant but there could be surprises.

With USB tunnelling, System Information.app should be able to show the hierarchy of USB hubs and device. System Information.app does not show the hierarchy of PCIe bridges and device - it does not show PCIe bridges at all. PCIe bridges (sort of equivalent to USB hubs) may have info about PCIe bandwidth bottlenecks (PCIe link rate and link width of upstream bridges could be less than downstream which is a bottleneck).
 

Krevnik

macrumors 601
Sep 8, 2003
4,101
1,312
A JHL8040R is needed for each port. There's two repeaters because there's two ports. It does not explain why there is a separate bus for each port. I don't think there's any reason a bus can't be just one port. Or have more than two ports. There are some Intel chips with only one port. Many have two ports. The new Intel Thunderbolt 4 peripheral chip JHL8440 has 4 ports (not sure if it can be used as a host? it says PC is a use condition so maybe). Apple can add as many controllers(buses) as they like with as many ports per bus as they like, it just takes space. The two current controllers have two DisplayPort inputs each so Apple could have done 4 displays on the two ports if the rest of the system was capable.

The difference is going from external controllers that support 2 ports, to an internal controller with a repeater that supports one port.

Yes, they could technically run more I/O lines out of the SoC to handle more ports, and use a repeater for each. But that’s pretty wasteful of SoC pins. A better option for how Apple builds things would have been a port mux/hub of some kind as the repeater, but it doesn’t look like such a beast currently exists. To me that explains why we have the current situation of two buses, two ports.

Yes, Apple can do what they want, but there’s definitely an opportunity cost to adding extra I/O lines for additional ports to the SoC itself.

Dual 4K is dual HBR2. The M1 only does dual HBR2 when a dual link SST 5K display is connected (like the LG UltraFine 5K or HP Z27q or Dell UP2715K). It doesn't do two separate displays though which is the problem. As for VT-d based DMA protection - I suppose Apple could have some kind of protection but it's not VT-d since that's an Intel thing so you might be right about Intel blocking anything that isn't Intel based.

“Dual 4K or Single 8K” is what Intel says. You can feed Dual 4K using HBR3 using 4 lanes you normally have in a single stream. It may allow for two HBR2 streams per the letter of the requirement, but again, without getting details about exactly what certification requires from an OEM perspective, we’re really just spitballing based on what’s possible, not what Intel’s actually telling OEMs to do. With DisplayPort 1.3 and 1.4 being out for a while, HBR3 wouldn’t even be a horrible requirement to impose on TB4 at this point.

Technically, Apple could support single 8K with their current setup if they are using HBR3, meeting the requirements here.
 
  • Like
Reactions: torncanvas

joevt

macrumors 604
Jun 21, 2012
6,971
4,262
“Dual 4K or Single 8K” is what Intel says
They said:

Thunderbolt 4 certification requirements include:​
  • Video: Support for two 4K displays or one 8K display.​
I think they're using lazy, ambiguous English there. I think they meant that the controller must support each of the following options:
  • two 4K displays
  • one 8K display
But I don't know for sure since I can't find the real certification requirements documentation (probably not publicly available).

The M1 probably supports HBR3 and DSC so 8K 60Hz should be possible, but Apple might have limits in the software or maybe the hardware can't go that high. 8K 30Hz doesn't require DSC - just HBR3 - so that might be an option - the pixel clock is much lower than 6K 60Hz which requires dual HBR3 (when not using DSC) but not full dual HBR3 which cannot fit in Thunderbolt 3.
 

Sarpanch

macrumors regular
Jan 12, 2013
138
128
SoCal
After quite a bit of testing, I have concluded that the USB bus on at least my Mac mini M1 does not actually support "USB 3.1 Gen 2 (up to 10Gb/s)" as listed on the Tech Specs page.

I have a Samsung T5 USB-C SSD. It supports "USB 3.1 Gen 2 10Gb/s" (Gawd, I hate USB 3.1+ naming conventions...†)

When I plug it directly to one of my 16" MacBook Pro's ports via USB-C-to-USB-C cable, it connects at 10 Gb/s

When I connect it to my new M1 mini, on the other hand.... If I go through my Thunderbolt 3 Dock, it connects at the full 10 Gb/s:

But if I connect directly to the other Thunderbolt 3/USB-C port, it only connects at 5 Gb/s, yes, using the same USB-C-to-USB-C cable as both previous connections:
View attachment 1673321

I can confirm the same behavior with 2 USB-C enclosures as well (Cable Matters, UGreen) Both use USB 3.1 Gen 2 and ASMedia ASM235CM chip.

They are connecting at 5Gbps on M1 Mac Mini instead of 10Gbps on the 2018 Mac Mini. Speeds are reduced by 20%.

USBSpeedIssue.png
 

alexballvideos

macrumors member
Mar 11, 2017
78
50
I also have this problem with a m1 MacBook Air base model. Samsung T5 1TB and 2TB are 380MB/s read on m1 Air VS 520MB/s read on MBP 15" 2018. Have submitted a bug report to Apple.
 

adonis3k

macrumors 6502a
Apr 15, 2012
547
109
SO annoying!

I have 2TB Samsung SSD and a 1TB Sabrent NVME, both in enclosures which are rated at USB 3.1 Gen 2 but only get 400/450 both connect at 5Gbps

Any nvme enclosures that will do 10Gbps?
 
  • Like
Reactions: OSX15 and joevt

mr_roboto

macrumors 6502a
Sep 30, 2020
856
1,869
The difference is going from external controllers that support 2 ports, to an internal controller with a repeater that supports one port.

Yes, they could technically run more I/O lines out of the SoC to handle more ports, and use a repeater for each. But that’s pretty wasteful of SoC pins. A better option for how Apple builds things would have been a port mux/hub of some kind as the repeater, but it doesn’t look like such a beast currently exists. To me that explains why we have the current situation of two buses, two ports.

Yes, Apple can do what they want, but there’s definitely an opportunity cost to adding extra I/O lines for additional ports to the SoC itself.
I'm a little bewildered as to what you're trying to say, here. It seems to be counterfactual. Apple actually did use enough I/O pins to provide two thunderbolt ports, no "technically" there, and it's not wasteful to use pins to do an important job.

The real "could technically" here is that they could've saved a small number of pins by using an external hub IC. But that wouldn't be smart, because buying someone else's hub IC costs a lot more than the incremental cost of one thunderbolt port's worth of pins on their own SoC, and would use significantly more power and board space.

I get the sense that you may be overthinking what the repeaters are. They're very cheap devices which do one job, signal conditioning. It's difficult to push 20 Gbps signals through copper wires over long distances. Some kind of active repeater/retimer needs to be physically close to the port. This line conditioning can in theory be part of the SoC, but it's not always possible to place the SoC right next to the ports, which is why Apple used separate repeater ICs.
 
  • Like
Reactions: joevt

JippaLippa

macrumors 68000
Jan 14, 2013
1,706
2,071
Only thing I can add...USB specs and naming conventions are a sh*tshow.
I agree....needlessly confusing.
Even if you update the standard every 2 months, you should keep naming them incrementally.
Sure...with all the USB 3 revisions we'd be at USB6, but at least there would be no confusion.
It's absolutely ridiculous there are even 2 generations of the same substandard (USB 3.1), which comes itself in 2 different form factors (A & C).
I seriously hope that, moving on from USB 4, things will be unified....
 

DEMinSoCAL

macrumors 603
Sep 27, 2005
5,090
7,366
Ok, so we have some devices like the T5 that connect at 5 Gbps and some like the T7 that can connect at 10 Gbps.
I would like to see some tests with other 10 Gbps devices such as USB to NVMe enclosures like the Orico or Plugable that should be able to get ~980 MB/s
I have one of these cool devices (pun intended) with a SK Hynix NVMe SSD installed and my M1 Mini does see it at 10Gb/s connection and Blackmagic shows about >900 read and >800 writes.

They are on sale right now for Cyber Monday if anyone is interested. I'm returning my first two and ordered two more at the lower price.
 

deconstruct60

macrumors G5
Mar 10, 2009
12,493
4,053
Looking at this doc and reading between the lines, it looks like the 4-port hub (effectively 1 "in" and 3 "out") is mainly the upshot of there now being a 4-port controller whereas, before, the maximum was 2 (1 in, 1 out) and supporting it is just a driver issue (hence it works on TB3 Macs).

That Wikipedia.org page needs some work on presentation. There have never previously been a TB controller than handled 4 ports. The column descriptor on that chart is "Ch" which is short of "Channel". A Port is something substantively different.

Early on when Thunderbolt evolution there was a focus on "thunderbolt channels". In TBv1 the PCI-e and Video were physically segregated onto different two line bundles that form a "channel". DisplayPort , USB , Thundebolt has two line/write bundles that from a data channel. For DP and TB there has always been four of those in the standard port.

For example here is the ark product page for Cactus Ridge. (TB v1 second iteration )


Channels and Ports are two separate columns. They are different. The Wikipedia page is being lazy and reusing the Channels column for "ports" for post TBv2 controllers. The notion of Thunderbolt channels pragmatically became obsolete with TBv2 but the discussion and commentary around the controllers from v1 products crept into the description of v2 products. Once got to TBv3 the value of that "descriptor" basically collapsed. The TB protocol didn't have the limitations that the v1 controllers had. Multiple types of data could be muxiplexed onto a single channels. The v1 controllers were just easier to more quickly implementing by ignoring the more advanced parts of the protocol and doing fixed hardware bandwidth allocations ( instead of having to compute and do they dynamically). Wait for the available fab process to improve and it is easier to do far more at lower power.


For example the TBv3 products.


There is no "channel" column at all anymore.


So there is no "in between the lines there"; more just noise. ( usually Wikipedia does a good job but this isn't one of those cases. )




As for "tunnelling" - is that a good thing or a bad thing vs. the status quo where connecting a hub adds more PCIe-to-USB controllers? Tunnelling will presumably "use up" a USB controller on the host. Can't quite get my head around it but it might be a thing for "cheap", non-Intel, USB 4 docks and displays as a solution to the "can't have 4-lane DisplayPort and support USB 3 speeds" problem with current USB-C.

The Mac Pro 2019 goes through some gyrations to route the two USB 3 provisioning lanes out to the ports on the i/O card. There are some corner case USB dongles/products ( locks) that act quirky if not attached to the primary host USB controller. There is no need for a USB controller driver other than the one the PC has built in. That will probably get full attention of OS developer. All need is for USB device to depend upon some quirk in that driver as oppose to the generic one.

Technically the remote USB controller in a peripheral would have to "soak up" some of the local PCI-e bandwidth to provision that controller. This way the USB signal ( say it is USB 3.0 5G/bs) can just be routed back separately without the need for a local switch. (e.g. the whole x4 PCI-e off of the perhiperhals TB controller is assigned to a SSD or some other non x1 lane device. And there is an easy to carve off four x1's off mode on the controller )


P.S. TBv2 ( falcon ridge still have channel column )



One quirk that Intel could do with fewer TB channels was make the package smaller. That market for things like the TB-to-FW dongle didn't really get much traction. ( where had to press controller into a very confined space. ). Video doesn't need it because the host and two port peripheral could do backward compat mode on the 2nd port (required by compilance standard). So just left with relatively slower devices that need only a fraction of a bandwidth. Once had to provision USB 2.0 as minimal also (in TBv3) .... what is left that isn't covered by USB 2 and 3.0 ? About nothing.
 
Last edited:

Ethosik

Contributor
Oct 21, 2009
8,144
7,120
So is this just an enclosure/dock issue? If you plug in the port directly on the computers is it 10 Gbps?
 

aUniqueName

macrumors member
Aug 29, 2016
53
272
SO annoying!

I have 2TB Samsung SSD and a 1TB Sabrent NVME, both in enclosures which are rated at USB 3.1 Gen 2 but only get 400/450 both connect at 5Gbps

Any nvme enclosures that will do 10Gbps?

You guys need to stop messing around with those crappy Samsung T5/T7 drives and move to NVME enclosures if you want speed.

On my M1 Mac mini:

NVME.jpg
 

Populus

macrumors 603
Aug 24, 2012
5,987
8,450
Spain, Europe
You guys need to stop messing around with those crappy Samsung T5/T7 drives and move to NVME enclosures if you want speed.

On my M1 Mac mini:

View attachment 1682640
Do you think we’ll get similar results on a MacBook Air?
Aren’t those Thunderbolt enclosures pretty expensive?

Thank you @arn for the picture search on the forum, I wouldn’t have entered onto this thread if I hadn’t seen that picture above.
 
  • Like
Reactions: arn
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.