# Is the USB 2.0 speed of 480Mbps per device, port or for the whole USB subsystem?



## garysims (May 24, 2008)

Hi,

I have an external USB 2 hard drive on my Mac Mini and I have been very happy with it. It is mainly used for storing multi-media and DV clips from my firewire video camera.

I am thinking of adding a second hard external USB 2.0 hard drive and my question is this.

Is the USB 2.0 speed of 480Mbps per device, port or for the whole USB subsystem?

What I mean by that is that my Mac Mini has 4 USB ports at the back. Is each port going to do 480Mbps or is that the overall throughput speed of the chip set.

*IF* it is 480Mbps per port then I guess using a USB 2.0 high speed hub means that ultimatly only 480Mbps can go from it to the Mac so putting both hard drives on the hub isn't a good idea. No?

The reason I ask is of course if I add a second drive and then copy things between them the 480Mbps will be shared and so the speed will be half of that compared to copying to the internal SATA drive.

I'm not really interested in theoretical discussions of bits, bytes and nibbles but rather what is the practical reality.

Many, many thanks,

Gary


----------



## ElDiabloConCaca (May 24, 2008)

You get 480Mbit per USB "chipset," and on most Mac computers, there are one or more USB chips controlling one or more USB ports.  So, you could have two USB ports operating off of one USB controller chip, so there would be 480Mbit of bandwidth shared between those two ports.  Telling which ports operating off of which chips, though, is beyond me.

It really doesn't matter, though, since 480Mbit/sec roughly equals 60MB/sec, which is something a standard, one-drive, USB enclosure just won't do because of the real throughput of the hard drive in the case (more than likely, you'll never see more than about 20-30MB/sec transfer rates per hard drive).  So even if two hard drives were connected to "shared" USB ports, you'd still have trouble saturating the 480Mbit throughput of the USB chip.  I doubt you'd see any real slowdown using two hard drives on one USB controller chip than you would using two hard drives on different USB controller chips.

Now, throw a third USB hard drive into the mix, and we may have some theoretical USB throughput hubbly-bubbly to argue about, but with two hard drives, I think you'll see perfectly acceptable transfer rates.


----------



## garysims (May 24, 2008)

ElDiabloConCaca,

Thanks for your quick reply... It would certainly be interesting to know how many USB chips my Mac Mini has.

I can see what you are getting at about the hard drive performance vs. interface speed but I thought modern 7200 RPM disks had transfer rates of between 40-70MB/sec not 20-30 as you mention. Couple this with the fact that I have heard that the practical speed of USB 2.0 is not 60MB/sec but more like 40MB/sec then it looks like 1 drive could saturate the USB chipset and 2 might drown it!!!

I wonder if there is a USB I/O or speed monitor for the Mac?

Thanks, 

Gary


----------



## ElDiabloConCaca (May 24, 2008)

I don't know of any I/O monitors, but I believe that USB 2.0 is more heavily "processor-dependent" than FireWire (meaning FireWire puts less overhead on the processor and more data handling is done on the FireWire controller chip, vs. USB which uses more processor cycles to operate).

Modern hard drives have a theoretical throughput up in the 40-70MB/sec range, but you'll hardly see that in the "real world" unless you've got a RAID setup with multiple drives.  Most 7200RPM ATA/SATA drives will top out around 30MB/sec, and that's being generous.

If speed is your main concern, then I can see why you'd want the best setup for your USB hard drives and to maximize usage of different USB chips, but I really don't think you're going to notice much slowdown implementing what you've described (two USB hard drives on a single USB controller chip).

It seems from the developer's notes over at Apple that the Mac mini has one USB controller chip that controls multiple USB ports:

http://developer.apple.com/document...MiniG4/3Input-Output/chapter_4_section_2.html

However, that documentation may be out-of-date for the newer Intel-based minis.  I wouldn't think that Apple would throw in more USB controller chips in the move from PowerPC to Intel, but they may have.

If you have some spare USB hard drives around to test with, you can always use XBench to measure throughput of drives, available here:

http://xbench.com/


----------



## Mikuro (May 24, 2008)

I think it's worth mentioning that FireWire is better for HDs than USB 2. Despite the fact that USB 2's theoretical max speed (480mbps) is faster than FireWire's (400mbps), in practice FireWire is faster, because it's just more efficient. This shouldn't be too surprising when you consider that USB 2 has the same design as USB 1, which was not designed for such devices. It was made for low-speed, one-way devices like keyboards and printers. FireWire comes much closer to realizing its theoretical max speed than USB 2 does, especially with two-way devices like HDs.

However, since you're taking data from a FireWire camera, it's possible using a FireWire HD would strain the FireWire bus.

You might be able to see if you have more than one bus in System Profiler (in /Applications/Utilities). I'm really not sure how to read it myself, though. It seems to think my system has 3 USB buses and 1 USB high-speed bus, even though I only have two USB ports. I really don't know what to make of that.


----------



## garysims (May 24, 2008)

Guys,

I remembered that I had an 2.5 inch laptop drive and a USB 2 enclosure so I did some testing using Xbench and this is what I found (all figures are averages of the read and write sequential tests):

Internal drive: 22 MB/sec
Samsung USB drive: 19 MB/sec
20GB Laptop USB drive: 16 MB/sec

Now here is the odd thing when I connected the 20GB laptop drive BUT it WASN'T being used the speed of the Samsung external drive dropped to 17 MB/sec. Hmmm!!!

Running Xbench on the Samsung drive when the 20GB latop drive was copy 3GB of data to the internal mac drive yielded 13 MB/sec.

So clearly the speed of the Samsung USB 2 drive dropped from 19 to 17 MB/sec when the other USB drive was connected and from 17 to 13 MB/sec when the second drive was in use.

The CPU usage was marginal (< 10%) during all the tests.

According to Activity Monitor the Peak transfer rate for the system was 30 MB/sec during the loaded test.

Conclusions anyone?

Thanks,

Gary


----------



## ElDiabloConCaca (May 24, 2008)

Mikuro said:


> It seems to think my system has 3 USB buses and 1 USB high-speed bus, even though I only have two USB ports. I really don't know what to make of that.


Certain internal devices, like Bluetooth adaptors, are connected via their own USB bus.


----------



## VirtualTracy (May 24, 2008)

garysims said:


> I wonder if there is a USB I/O or speed monitor for the Mac?



How about the USB Prober? You'll might need to install it from your installation disc.  Here's how:

When you open up the install DVD, you'll see that in addition to the _"Install Mac OS X" _icon, there's also a folder labeled _"Optional Installs"_. That's what you want.

Within there's an icon labeled _"Optional Installs.mpkg"_. That's not what you want, so don't click on it. Instead, go into the folder _"Xcode Tools"_, where you'll see three installers: _"Dashcode.pkg"_, _"WebObjects.mpkg"_ and_ "XcodeTools.mpkg"_.

Double-click on "XcodeTools.mpkg" to get started.

FYI:


To get USB Prober for Mac OS 9, download the Mac OS USB DDK 1.5.5 from http://developer.apple.com/hardware/usb/. Unstuff and mount the disk image, and look for USB Prober in the Utilities folder. Select the USB Bus Devices window, and do a "Save As..."
To get USB Prober for Mac OS X, download it from ftp://ftp.apple.com/developer/Tool_Chest/Testing_-_Debugging/ Hardware_tools/USBProber.dmg.bin. Run the tool, and click the button to save the output.
Panther users: If you have Mac OS X 10.3.2 or higher, use *this link* for the Mac OS X USB Software Debug Kit 206.4.1, which includes an updated version of USB Prober.
​


----------

