1. When I connect 4 USB drives to the 4 available slots on a PC at the same time, does each slot have theoretical 480 Mbit/s or will it be quartered and every port will only have 120 Mbit/s?

  2. Does this change when you put 4 USB drives in a Marvell SoC, or is there the same internal infrastructure?


No. Each USB host controller will max out at 480Mbps. Everything else is just connected via external or internal hub, and will split the 480Mbps provided by that host controller. Quoting the wikipedia article:

The theoretical maximum data rate in USB 2.0 is 480 Mbit/s (60 MB/s) per controller and is shared amongst all attached devices.

This is the exact same for a SoC. There's usually very little variance in the USB architecture between devices. If the SoC just has 1 host controller, then all 4 ports share the 480Mbps. Depending on what that SoC is designed to do, it very well might have a dedicated controller for each port, but that depends on the specific SoC we're talking about.

When you buy a PCI or PCI-e expansion card with USB ports, that card contains its own controller, and the bandwidth on that card will not be shared with existing ports in your system. All ports on the expansion card will share the 480Mbps, however.

usb host controllers

Here we can see the two internal host controllers on my system, and the 3rd one provided by the docking station. These power 8 USB ports (4 on the laptop, 4 on the docking station). All four ports on the docking station must share 480Mbps, but on the laptop, only pairs of ports have to share (note, I'm assuming here that they have 2 ports on one controller and 2 on the other; there's no way to tell except to see how stuff is actually wired up inside).

Root hubs attach directly to the host controllers, and then secondary hubs attach to them. Secondary/generic hubs may be internal to your computer/motherboard, may be an external hub you plug in, or may be internal to a device you attach (the high-end gaming keyboards and mice usually contain an internal USB hub, and then all the extra/special macro keys actually show up as a second, separate USB device from the keyboard or mouse itself)

  • The host controllers will also be sharing limited DMI bandwidth with each other, and also with ever other onboard device including the SATA ports, unless you buy a PCIe USB host controller card which uses the CPU's dedicated PCIe lanes. – Monstieur Jan 4 '17 at 15:18

It depends on your PC.

If you connect them to a motherboard with four independent USB controllers then yes, each port will have full bandwidth.

If the motherboard uses some internal hubs (and many, if not all do) then you are sharing the controllers bandwidth.

You could work around this by using four USB expansion cards. (Each with its own controllers, and assuming that you have room for four cards).

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.