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

whodiini

macrumors regular
Original poster
Aug 16, 2021
157
63
I did some tests as an experiment to see how well RAID 0 on 2 USB3.1 rev 2 enclosures work as an alternative to an expensive thunderbolt 3/4 enclosure using NVMe drives. In doing so, I discovered major issues with the front USB ports on the M1 Max Studio.

Short summary: the front ports on the M1 Max Studio are degraded and do not run at the same speed as the intel macs. Worse, the front ports seem to share the same bandwidth between them, so if you are using both simultaneously, they each run at half speed. I cannot believe apple saved $2 to have them share the same bandwidth!

Detailed answer:
For testing, I used the following 2 enclosures and drives I happen to have
1) SSk enclosure with JM583 controller 1.09 firmware. 500 GB Samsung 970 evo NVMe.
2) Netac enclosure with their controller and SSD.
Write read speeds tested with blackmagic. All drives formatted with disk utility as mac extended, journaled

Intel 2018 mac mini:
drives plugged into thunderbolt ports, using a single thunderbolt controller.
1) SSK 880 MB/sec write, 920 MB/sec read
2) Netac 840 MB/sec write, 910 MB/sec read
3) RAID 0 1500 write, 1560 read.

RAID 0 is 1.8x faster than individual drives! This is 2x cheaper than getting the cheapest thunderbolt 3 and performance is the same. $36 for SSK enclosures. It works.

Mac Studio Max with exact same drives and testing methodology
A. drives plugged onto the front USB ports on Studio
1) SSK 570MB/sec write, 600 MB/sec read.
2) Netac 700 MB/sec write 750 MB/sec read
3) Raid 0 720 MB/sec write 740 MB/sec read

WHOA! There are 2 issues here. The first is the major degradation in speeds compared to the intel mac mini. Something is wrong with the Studio M1 Max front ports. They are degraded. Issue 2 is that both ports seem to be run off a single USB controller so that the max bandwidth is 10Gbit COMBINED from the front 2 ports! RAID is about the same speed as a single drive. This is awful performance off a $2k computer. I cannot believe that apple saved $2 not to have each USB port run at full USB 3.1 rev 2 speeds.

B. I then decided to run a test with the SSK disconnected from the front port and connected to my Caldigit USB 4 hub.
1) SSK into the caldigit hub: 620 MB/sec write and read
3) RAID 0: 1200 MB/sec write, 1200 MB/sec read

Much better, RAID is 2x the speed of a single drive.

But because of the degraded performance of the M1 Max Studio USB ports, 1200 MB/sec isnt that great. Would rather pay for the OWC envoy express $80 thunderbolt 3 and get 1500 MB/sec. Very dissappointed in the M1 Studio max USB ports.
 
  • Like
Reactions: Steve Marston

joevt

macrumors 604
Jun 21, 2012
6,935
4,237
Can you show USB tab of System Information.app for the USB bus of the front USB ports? I am wondering what the USB controller is - did Apple use their own or a third party? I know for M1 iMac with extra USB ports Apple used a third party ASMedia ASM3142 which is supposed to be superior to Apple's M1 USB controller used for the Thunderbolt ports.
 

whodiini

macrumors regular
Original poster
Aug 16, 2021
157
63
Below is the info. It looks like they used a single ASMedia ASM3142 controller chip to control and share the bandwidth between the 2 front USB ports. Thanks for the suggestion, confirms my suspicion. Apple saved a buck to use one chip instead of 2. Strange thing is that the ASM3142 supports 3.2 Gen 2 x 2 so in principle, the ports could be enabled for 20GBps with firmware.

Plugged into the front ports 2 USB 3.1Gen2 drives and then looked at the system info:

USB 3.1 Bus
USB2 Hub
USB3 Gen 2 Hub
JMS583 - drive 1
Netac MobileDataStar - drive 2

And under in the details:
USB 3.1 Bus:

Host Controller Driver: AppleEmbeddedUSBXHCIASMedia3142
PCI Device ID: 0x2142
PCI Revision ID: 0x0000
PCI Vendor ID: 0x1b21

USB2 Hub:

Product ID: 0x8009
Vendor ID: 0x05ac (Apple Inc.)
Version: 53.07
Serial Number: 742
Speed: Up to 480 Mb/s
Manufacturer: Apple
Location ID: 0x08300000 / 2
Current Available (mA): 500
Current Required (mA): 0
Extra Operating Current (mA): 0
Built-In: Yes

USB3 Gen2 Hub:

Product ID: 0x800a
Vendor ID: 0x05ac (Apple Inc.)
Version: 53.07
Serial Number: 742
Speed: Up to 10 Gb/s
Manufacturer: Apple
Location ID: 0x08100000 / 1
Current Available (mA): 900
Current Required (mA): 0
Extra Operating Current (mA): 0
Built-In: Yes

JMS583:

Product ID: 0x0562
Vendor ID: 0x152d (JMicron Technology Corp.)
Version: 2.09
Serial Number: DD
Speed: Up to 10 Gb/s
Manufacturer: JMicron
Location ID: 0x08120000 / 4
Current Available (mA): 900
Current Required (mA): 896
Extra Operating Current (mA): 0
Media:...

Netac MobileDataStar:

Product ID: 0x0562
Vendor ID: 0x0dd8
Version: 2.06
Serial Number: DD
Speed: Up to 10 Gb/s
Manufacturer: Netac MobileDataStar
Location ID: 0x08110000 / 3
Current Available (mA): 900
Current Required (mA): 896
Extra Operating Current (mA): 0
Media:
...
 
Last edited:

whodiini

macrumors regular
Original poster
Aug 16, 2021
157
63
What system info doesnt report are the number of PCie lanes connected to the ASM3142 chip. Speculating here, if Apple throttled the design to only use 1 PCie lane instead of 2, then the max thruput of PCIe 3.0 would be 8Gbps instead of 10Gbps. That could also partially xplain the degraded 80% performance of the front ports to what I measured... e.g. A single ASM3142 controller connected to a single PCIe 3.0 lane connected thru a hub to the 2 front USB ports could explain what I measure. It would still meet the advertised specs, but talk about el cheapo engineering, not worthy of Apple. So I hope this speculation is wrong and it can be corrected with firmware. I note that the firmware that enabled USB 3.2 2x2 on the ASM3142 was released around March of this year...
 
Last edited:

joevt

macrumors 604
Jun 21, 2012
6,935
4,237
What system info doesnt report are the number of PCie lanes connected to the ASM3142 chip. Speculating here, if Apple throttled the design to only use 1 PCie lane instead of 2, then the max thruput of PCIe 3.0 would be 8Gbps instead of 10Gbps. That could also partially xplain the degraded 80% performance of the front ports to what I measured... e.g. A single ASM3142 controller connected to a single PCIe 3.0 lane connected thru a hub to the 2 front USB ports could explain what I measure. It would still meet the advertised specs, but talk about el cheapo engineering, not worthy of Apple. So I hope this speculation is wrong and it can be corrected with firmware. I note that the firmware that enabled USB 3.2 2x2 on the ASM3142 was released around March of this year...
It says "Embedded". It may be that Apple is not using a real ASM3142 which may explain why it doesn't have two ports or a PCIe connection. Try looking at it using IORegistryExplorer.app or
ioreg -filw0 It will show if there's a PCIe connection or not and the info will show the supported and current PCIe link link rate and link width (which you might have to decode from the IOPCIExpressLinkStatus and IOPCIExpressLinkCapabilities values). I suppose Apple may have crippled the ASM3142 so it doesn't perform better than their USB controller that's used for the Thunderbolt ports.

This is the first time I've heard about the ASM3142 having 20 Gbps support. I don't think I've seen the ASM3242 tested with Ventura yet. Monterey doesn't have working 20 Gbps support, at least not with the ASM3242 PCIe card I have.
 

whodiini

macrumors regular
Original poster
Aug 16, 2021
157
63
Need more help to decode. I ran IORegistryExplorer, did a search for ASMedia3142 and it showed the levels of
IOService:/AppleARMPE/arm-io/AppleT600xIO/apcie@90000000/AppleT6000PCIe/pci-bridge3@3/IOPP/pcie-xhci@0/AppleEmbeddedUSBXHCIASMedia3142@08000000

There was no IOPCIExpressLinkStatus listed on the right window for AppleEmbeddedUSBXHCIASMedia3142@08000000.
So I went to pcie-xhci@0 and there it lists:
IOPCIExpressLinkCapabilities 0x43fc23
IOPCIExpressLinkStatus 0xb013
IOPCIExpressCapabilities 0x12

I dont know how to decode this.

Finally, the ASM3142 - I must have read wrong and read about the ASM3242. When I now look at the ASM website it only shows that it is USB 3.1 Gen2. It also says "ASM3142 supports two USB3.1 Gen-II ports and perform trusting high speed bandwidth with PCI Express Gen-III x2 supporting." Sorry for the confusion.
 

whodiini

macrumors regular
Original poster
Aug 16, 2021
157
63
I found the link again where it said that new firmware brought the 3142 to 20Gbps:
 

joevt

macrumors 604
Jun 21, 2012
6,935
4,237
Need more help to decode. I ran IORegistryExplorer, did a search for ASMedia3142 and it showed the levels of
IOService:/AppleARMPE/arm-io/AppleT600xIO/apcie@90000000/AppleT6000PCIe/pci-bridge3@3/IOPP/pcie-xhci@0/AppleEmbeddedUSBXHCIASMedia3142@08000000

There was no IOPCIExpressLinkStatus listed on the right window for AppleEmbeddedUSBXHCIASMedia3142@08000000.
So I went to pcie-xhci@0 and there it lists:
IOPCIExpressLinkCapabilities 0x43fc23
IOPCIExpressLinkStatus 0xb013
IOPCIExpressCapabilities 0x12

I dont know how to decode this.

Finally, the ASM3142 - I must have read wrong and read about the ASM3242. When I now look at the ASM website it only shows that it is USB 3.1 Gen2. It also says "ASM3142 supports two USB3.1 Gen-II ports and perform trusting high speed bandwidth with PCI Express Gen-III x2 supporting." Sorry for the confusion.
There's instructions at #23 It will do all pci devices including the parents. The bandwidth of all devices between the CPU and controller needs to be examined to know if there's any bottlenecks.

I plugged in your numbers like this:
Code:
printf '"IOPCIExpressLinkCapabilities" = %d\n"IOPCIExpressLinkStatus" = %d\n"IOPCIExpressCapabilities" = %d\n' $((0x43fc23)) $((0xb013)) $((0x12)) > /tmp/ioregtemp
./ParseIORegPCILinkStatus.sh /tmp/ioregtemp

And got this result:
Code:
"IOPCIExpressCapabilities" = 18 (0x0012): Version:2 (Legacy PCI Express Endpoint) Interrupt:0
"IOPCIExpressLinkCapabilities" = 4455459 (0x0043fc23): 8.0 GT/s x2 L0sAndL1Supported L0s:(4,∞)µs L1:(64,∞)µs ASPM Port:0
"IOPCIExpressLinkStatus" = 45075 (0xb013): 8.0 GT/s x1 SlotClocked Active Changed

It appears that Apple did cripple the chip to x1 so it can only do 8 Gbps instead of 10 Gbps. I would like to see the parent devices. A command like the following can be used to get the info for the ASM3142, its ancestors, and its children.
ioreg -filrtw0 -n pcie-xhci > ioreg_MacStudioAsm3142.txt

I found the link again where it said that new firmware brought the 3142 to 20Gbps:
If the firmware works, the 3142 would be limited to 16 Gbps but I don't think macOS supports > 10 Gbps. And the chip in the Mac Studio would still be limited to 8 Gbps.
 

whodiini

macrumors regular
Original poster
Aug 16, 2021
157
63
attached

Thanks for the help sleuthing!
 

Attachments

  • ioreg_MacStudioAsm3142.txt
    181.6 KB · Views: 981

joevt

macrumors 604
Jun 21, 2012
6,935
4,237
attached

Thanks for the help sleuthing!
Here's the PCIe items:
Code:
              +-o pci-bridge3@3  <class IORegistryEntry:IOService:IOPCIDevice, id 0x1000008fe, registered, matched, active, busy 0 (5621 ms), retain 12>
                |   "name" = <"pci-bridge3">
                |   "compatible" = <"pci106b,100c","pciclass,060400","pci-bridge3">
                |   "vendor-id" = 106b
                |   "device-id" = 100c
                |   "pcidebug" = 00:03.0-[01]
                |   "IOPCIExpressCapabilities" = 66 (0x0042): Version:2 (Root Port of PCI Express Root Complex) Interrupt:0
                |   "IOPCIExpressLinkCapabilities" = 7567396 (0x00737824): 16.0 GT/s x2 L1Supported L0s:(4,∞)µs L1:[32,64]µs ActiveReporting BandwidthNotifications ASPM Port:0
                |   "IOPCIExpressLinkStatus" = 45075 (0xb013): 8.0 GT/s x1 SlotClocked Active Changed
                  +-o pcie-xhci@0  <class IORegistryEntry:IOService:IOPCIDevice, id 0x1000008ff, registered, matched, active, busy 0 (5621 ms), retain 16>
                    |   "name" = <"pcie-xhci">
                    |   "compatible" = <"usb-xhci,ASM3142">
                    |   "vendor-id" = 1b21
                    |   "subsystem-vendor-id" = 1b21
                    |   "pcidebug" = 01:00.0
                    |   "IOPCIExpressCapabilities" = 18 (0x0012): Version:2 (Legacy PCI Express Endpoint) Interrupt:0
                    |   "IOPCIExpressLinkCapabilities" = 4455459 (0x0043fc23): 8.0 GT/s x2 L0sAndL1Supported L0s:(4,∞)µs L1:(64,∞)µs ASPM Port:0
                    |   "IOPCIExpressLinkStatus" = 45075 (0xb013): 8.0 GT/s x1 SlotClocked Active Changed
Vendor 106b is Apple.
Vendor 1b21 is ASMedia.
M Series chips support PCIe gen 4 (16 GT/s) but the ASM3142 is a gen 3 (8 GT/s) device. It says both the bridge and ASM3142 support x2 link width but Apple decided to connect only one lane between them...

Here's a summary of all the devices leading to and from the ASM3142:
Code:
+-o Root  <class IORegistryEntry
  +-o J375cAP  <class IORegistryEntry:IOService:IOPlatformExpertDevice>
    +-o AppleARMPE  <class IORegistryEntry:IOService:IOPlatformExpert:IODTPlatformExpert:AppleARMPE>
      +-o arm-io  <class IORegistryEntry:IOService:IOPlatformDevice>
        +-o AppleT600xIO  <class IORegistryEntry:IOService:IOPlatformIO:AppleARMIO:AppleT600xIO>
          +-o apcie@90000000  <class IORegistryEntry:IOService:AppleARMIODevice>
            +-o AppleT6000PCIe  <class IORegistryEntry:IOService:IOPCIBridge:IOPCIHostBridge:AppleEmbeddedPCIE:AppleT810xPCIe:AppleT6000PCIe>
              +-o pci-bridge3@3  <class IORegistryEntry:IOService:IOPCIDevice>
                +-o IOPP  <class IORegistryEntry:IOService:IOPCIBridge:IOPCI2PCIBridge>
                  +-o pcie-xhci@0  <class IORegistryEntry:IOService:IOPCIDevice>
                    +-o AppleEmbeddedUSBXHCIASMedia3142@08000000  <class IORegistryEntry:IOService:AppleUSBHostController:AppleUSBXHCI:AppleUSBXHCIPCI:AppleASMediaUSBXHCI:AppleASMedia3142USBXHCI:AppleEmbeddedUSBXHCIASMedia3142>
                      +-o AppleUSB30XHCIPort@08100000  <class IORegistryEntry:IOService:AppleUSBHostPort:AppleUSBXHCIPort:AppleUSB30XHCIPort>
                      | +-o USB3 Gen2 Hub@08100000  <class IORegistryEntry:IOService:IOUSBDevice:IOUSBHostDevice>
                      |   +-o AppleUSB30Hub@08100000  <class IORegistryEntry:IOService:AppleUSBHub:AppleUSB30Hub>
                      |   | +-o AppleUSB30HubPort@08110000  <class IORegistryEntry:IOService:AppleUSBHostPort:AppleUSBHubPort:AppleUSB30HubPort>
                      |   | +-o AppleUSB30HubPort@08120000  <class IORegistryEntry:IOService:AppleUSBHostPort:AppleUSBHubPort:AppleUSB30HubPort>
                      |   | +-o AppleUSB30HubPort@08130000  <class IORegistryEntry:IOService:AppleUSBHostPort:AppleUSBHubPort:AppleUSB30HubPort>
                      |   | +-o AppleUSB30HubPort@08140000  <class IORegistryEntry:IOService:AppleUSBHostPort:AppleUSBHubPort:AppleUSB30HubPort>
                      |   +-o IOUSBHostInterface@0  <class IORegistryEntry:IOService:IOUSBInterface:IOUSBHostInterface>
                      +-o AppleUSB30XHCIPort@08200000  <class IORegistryEntry:IOService:AppleUSBHostPort:AppleUSBXHCIPort:AppleUSB30XHCIPort>
                      +-o AppleUSB20XHCIPort@08300000  <class IORegistryEntry:IOService:AppleUSBHostPort:AppleUSBXHCIPort:AppleUSB20XHCIPort>
                      | +-o USB2 Hub@08300000  <class IORegistryEntry:IOService:IOUSBDevice:IOUSBHostDevice>
                      |   +-o AppleUSB20InternalHub@08300000  <class IORegistryEntry:IOService:AppleUSBHub:AppleUSB20Hub:AppleUSB20InternalHub>
                      |   | +-o AppleUSB20HubPort@08310000  <class IORegistryEntry:IOService:AppleUSBHostPort:AppleUSBHubPort:AppleUSB20HubPort>
                      |   | +-o AppleUSB20HubPort@08320000  <class IORegistryEntry:IOService:AppleUSBHostPort:AppleUSBHubPort:AppleUSB20HubPort>
                      |   | +-o AppleUSB20HubPort@08330000  <class IORegistryEntry:IOService:AppleUSBHostPort:AppleUSBHubPort:AppleUSB20HubPort>
                      |   | +-o AppleUSB20HubPort@08340000  <class IORegistryEntry:IOService:AppleUSBHostPort:AppleUSBHubPort:AppleUSB20HubPort>
                      |   +-o IOUSBHostInterface@0  <class IORegistryEntry:IOService:IOUSBInterface:IOUSBHostInterface>
                      +-o AppleUSB20XHCIPort@08400000  <class IORegistryEntry:IOService:AppleUSBHostPort:AppleUSBXHCIPort:AppleUSB20XHCIPort>

Ok, the chip does have multiple ports but it also has a hub. The chip is limited to 8 Gbps so it's screwed anyway even if both ports get used. But it would be nice to map the ports properly:
- Plug a USB 1.1/2.0 device (e.g. a mouse or keyboard) into the first port.
- Plug the USB 1.1/2.0 device into the second port.
- Plug a USB 3.x device (e.g. a thumb drive) into the first port.
- Plug a USB 3.x device into the second port.

after each plug item above, run the following command with a different name for each file. Then disconnect the USB device and do the next plug item.
Code:
ioreg -rw0 -n pcie-xhci | sed -E '/^\+/d; /^  \|/d; /, id 0x.*/s///' > macstudio_ASM3142_usb2_port1.txt

This will show where in the USB tree devices get connected for each port. It's similar to what you can see in the USB tab of System Information.app but this also shows unused ports.

I don't see the SD card reader. Is that implemented as a PCIe device instead of USB? Or is it disconnected from USB until you insert an SD card?
 
Last edited:

Steve Marston

macrumors newbie
Aug 11, 2020
4
3
I did some tests as an experiment to see how well RAID 0 on 2 USB3.1 rev 2 enclosures work as an alternative to an expensive thunderbolt 3/4 enclosure using NVMe drives. In doing so, I discovered major issues with the front USB ports on the M1 Max Studio.

Short summary: the front ports on the M1 Max Studio are degraded and do not run at the same speed as the intel macs. Worse, the front ports seem to share the same bandwidth between them, so if you are using both simultaneously, they each run at half speed. I cannot believe apple saved $2 to have them share the same bandwidth!

Detailed answer:
For testing, I used the following 2 enclosures and drives I happen to have
1) SSk enclosure with JM583 controller 1.09 firmware. 500 GB Samsung 970 evo NVMe.
2) Netac enclosure with their controller and SSD.
Write read speeds tested with blackmagic. All drives formatted with disk utility as mac extended, journaled

Intel 2018 mac mini:
drives plugged into thunderbolt ports, using a single thunderbolt controller.
1) SSK 880 MB/sec write, 920 MB/sec read
2) Netac 840 MB/sec write, 910 MB/sec read
3) RAID 0 1500 write, 1560 read.

RAID 0 is 1.8x faster than individual drives! This is 2x cheaper than getting the cheapest thunderbolt 3 and performance is the same. $36 for SSK enclosures. It works.

Mac Studio Max with exact same drives and testing methodology
A. drives plugged onto the front USB ports on Studio
1) SSK 570MB/sec write, 600 MB/sec read.
2) Netac 700 MB/sec write 750 MB/sec read
3) Raid 0 720 MB/sec write 740 MB/sec read

WHOA! There are 2 issues here. The first is the major degradation in speeds compared to the intel mac mini. Something is wrong with the Studio M1 Max front ports. They are degraded. Issue 2 is that both ports seem to be run off a single USB controller so that the max bandwidth is 10Gbit COMBINED from the front 2 ports! RAID is about the same speed as a single drive. This is awful performance off a $2k computer. I cannot believe that apple saved $2 not to have each USB port run at full USB 3.1 rev 2 speeds.

B. I then decided to run a test with the SSK disconnected from the front port and connected to my Caldigit USB 4 hub.
1) SSK into the caldigit hub: 620 MB/sec write and read
3) RAID 0: 1200 MB/sec write, 1200 MB/sec read

Much better, RAID is 2x the speed of a single drive.

But because of the degraded performance of the M1 Max Studio USB ports, 1200 MB/sec isnt that great. Would rather pay for the OWC envoy express $80 thunderbolt 3 and get 1500 MB/sec. Very dissappointed in the M1 Studio max USB ports.
Thanks for the info - I'm glad I waited... and continue to wait, unfortunately.
 

whodiini

macrumors regular
Original poster
Aug 16, 2021
157
63
when I type in the command, i get:
>

and no file is created

I thiink its missing a '

Is this what you meant:
ioreg -rw0 -n pcie-xhci | sed -E '/^\+/d; /^ \|/d; /, id 0x.*/s///' > macstudio_ASM3142_usb2_port1.txt
 
Last edited:

whodiini

macrumors regular
Original poster
Aug 16, 2021
157
63
Assuming I did correctly, files attached. USB2 is LINUX, USB3 is Sabrent
 

Attachments

  • macstudio_ASM3142_usb3_portR.txt
    6 KB · Views: 87
  • macstudio_ASM3142_usb2_portR.txt
    5.8 KB · Views: 88
  • macstudio_ASM3142_usb3_portL.txt
    6 KB · Views: 98
  • macstudio_ASM3142_usb2_portL.txt
    5.8 KB · Views: 143

whodiini

macrumors regular
Original poster
Aug 16, 2021
157
63
It looks to me that USB3:
AppleUSB30HubPort@08110000 <class AppleUSB30HubPort is the left port
AppleUSB30HubPort@08120000 <class AppleUSB30HubPort is the right port
both connecting to AppleUSB30Hub@08100000

USB2:
AppleUSB20HubPort@08310000 left port
AppleUSB20HubPort@08320000right port
both connecting to o AppleUSB20HubPort@08310000

And both of those connecting to hte ASM3142

Not sure how that helps
 

whodiini

macrumors regular
Original poster
Aug 16, 2021
157
63
BTW, is it then deceptive advertising on Apple's part? They advertise that the front port are "up to 10Gbit/sec"

It is impossible for the ports to be 10Gbit, since they are only 1 PCIe channel so max 8Gbit/sec.

You cant advertise a car to go up to 300 mph when the max is 100 mph, or it gets up to 100 mpg when the most it can get is 40mpg.
 

joevt

macrumors 604
Jun 21, 2012
6,935
4,237
when I type in the command, i get:
>

and no file is created

I thiink its missing a '

Is this what you meant:
ioreg -rw0 -n pcie-xhci | sed -E '/^\+/d; /^ \|/d; /, id 0x.*/s///' > macstudio_ASM3142_usb2_port1.txt
I think I corrected it. There was a space that got removed because I used [icode] instead of [code]
Testing:
There's two spaces
Code:
There's  two spaces


It looks to me that USB3:
AppleUSB30HubPort@08110000 <class AppleUSB30HubPort is the left port
AppleUSB30HubPort@08120000 <class AppleUSB30HubPort is the right port
both connecting to AppleUSB30Hub@08100000

USB2:
AppleUSB20HubPort@08310000 left port
AppleUSB20HubPort@08320000 right port
both connecting to o AppleUSB20HubPort@08310000

And both of those connecting to hte ASM3142

Not sure how that helps
I think you meant "both connecting to AppleUSB20InternalHub@08300000" for the USB 2.0 devices.

The USB 2 hub is named "USB2 Hub"
The USB 3 hub is named "USB3 Gen2 Hub"
Those are names that come from the hubs.

It would have been interesting if one of the ports was directly connected to the controller. Then you might figure out if it performs slightly faster because it's not connected to a hub.

BTW, is it then deceptive advertising on Apple's part? They advertise that the front port are "up to 10Gbit/sec"

It is impossible for the ports to be 10Gbit, since they are only 1 PCIe channel so max 8Gbit/sec.

You cant advertise a car to go up to 300 mph when the max is 100 mph, or it gets up to 100 mpg when the most it can get is 40mpg.
Well, the USB ports transmit at 10 Gbps on the wire regardless of how much data can actually be moved. It uses 128b/132b encoding so it can't transmit more than 9.7 Gbps of data. But there's USB protocol overhead, so it can't be more than ≈8.5 Gbps. PCIe gen 3 x1 is 8 GT/s and uses 128b/130b so it can transfer 7.877 Gbps of data but there's PCIe protocol overhead so it's more like ≈6.4 Gbps.
 

joevt

macrumors 604
Jun 21, 2012
6,935
4,237
looks like the double spaces were faithfully reproduced in both tests. Oh well, it's a mystery what happened to the command. The command is updated to include the double space and added the missing '
 

whodiini

macrumors regular
Original poster
Aug 16, 2021
157
63
6.4Gbps/8bits/byte ~ 800 MB/sec The highest transfer speed I measured was 750 MB/sec. So that seems very consistent with this explanation. Thank you for your help in understanding the situation. Bottom line is that the front ports are of limited utility.

I reran the revised command and see that it provides the same info as the one I attached, albeit with less extraneous info. So I dont need to rerun it.
 
Last edited:

joevt

macrumors 604
Jun 21, 2012
6,935
4,237
6.4Gbps/8bits/byte = 800 MB/sec
Well, 6.4 comes from me multiplying 800 MB/sec * 8 since 800 MB/s is a benchmark I've seen for PCIe gen 2 x2. PCIe gen 3 x1 is maybe slightly slower than that.
So I usually try to add a ≈ next to those benchmark numbers.
 

whodiini

macrumors regular
Original poster
Aug 16, 2021
157
63
done ~!

Now to figure out why my JM583 USB 3.1 Gen 2 runs so slow on the Studio and so fast on my intel mac mini. (33% slower).
 

whodiini

macrumors regular
Original poster
Aug 16, 2021
157
63
thanks. That thread is all over the place. If I connect a JM583 controller to either direct to the rear thunderbolt or to a hub connected to the rear thunderbolt, I get ~ 650 MB/sec, about 33% slower than doing the same on an intel mac mini. System info shows 10Gbit/sec connection thru the rear ports. Going thru the thread you linked, there is an identical enclosure to mine that has about the same speed. My hypothesis is that the M1 macs do not work well with the JM583 control chip., even with an intermediary hub. Since there is an embedded ASM3152 in the Studio Max, I will guess that a USB enclosure based on a ASM controller will be much faster than a JM controller since Apple probably worked with ASM. Since all my USB enclsoures are JM583 based, I will need to get a ASM based one to test this hypothesis. I found the JM583 enclsoures to be fast, stable and cheap when I was using the intel mac mini. Too bad. Will take some time to get one and report back...
 

joevt

macrumors 604
Jun 21, 2012
6,935
4,237
thanks. That thread is all over the place. If I connect a JM583 controller to either direct to the rear thunderbolt or to a hub connected to the rear thunderbolt, I get ~ 650 MB/sec, about 33% slower than doing the same on an intel mac mini. System info shows 10Gbit/sec connection thru the rear ports. Going thru the thread you linked, there is an identical enclosure to mine that has about the same speed. My hypothesis is that the M1 macs do not work well with the JM583 control chip., even with an intermediary hub. Since there is an embedded ASM3152 in the Studio Max, I will guess that a USB enclosure based on a ASM controller will be much faster than a JM controller since Apple probably worked with ASM. Since all my USB enclsoures are JM583 based, I will need to get a ASM based one to test this hypothesis. I found the JM583 enclsoures to be fast, stable and cheap when I was using the intel mac mini. Too bad. Will take some time to get one and report back...
I don't thing a different USB bridge chip is going to help. That thread points to related articles in the OWC blog and EclecticLight blog which are also interesting.
 

whodiini

macrumors regular
Original poster
Aug 16, 2021
157
63
Many people reported improvements with a RTL or asm controller chip enclosure over the JM583 chip. Figured for $20 worth a try. The OWC blog has interesting info - turns out I already follow their suggestions/found out the optimum without reading it prior. Hard to find a ASM controller chip but easy to find RTL. Most enclsoures have moved from JM to RTL chips. Will report back tomorrow on what I find....I have suffiicient number of NVMe brands around I can try quite a few to see if it is the controller chip or the NVMe. (Samsung 970 evo, Adata sx8200pro, Hynix P31, MSI M470, WD SN750, teamgroup MP34, sandisk/WD blue.) So far, with the JM controller, its slow on the Studio period.
 

joevt

macrumors 604
Jun 21, 2012
6,935
4,237
(Samsung 970 evo, Adata sx8200pro, Hynix P31, MSI M470, WD SN750, teamgroup MP34, sandisk/WD blue.) So far, with the JM controller, its slow on the Studio period.
Any of those PCIe gen 4? Those usually get me the highest Thunderbolt scores, but shouldn't matter for USB. Even an Intel 660p will get 1060 MB/s from Intel Thunderbolt USB controller.
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.