
Signature
morenuf@nobodyhome.com.invalid
> Are all USB 2.0 connected external hard drives that much slower than a
> similar Firewire 400 connected drive? It seems that based on what my
> friend's setup did.
It seems that the Mac's implementation of USB 2.0 has peak performance
for transfers to/from hard drives which is significantly slower than
Firewire 400.
In my testing on a late model PowerBook G4 with a 7200 rpm 250 GB
external hard drive that had both FW800 and USB2 interfaces, I was able
to get maximum transfer rates in the order of 17 MB/s for USB 2.0, 40
MB/s for Firewire 400 and 50 MB/s for Firewire 800. (This was doing
tests such as duplicating data on the external drive and observing the
data transfer rate reported by Activity Monitor, so it wasn't dependent
on the speed of the internal drive.)
It is possible that the particular hard drive enclosure I was testing
with had a performance bottleneck in its USB 2.0 interface, but I have
yet to see anything else go much faster than that.
I haven't repeated my tests on an Intel Mac, but I expect they will get
somewhat better USB 2.0 performance, due to being faster and possibly
because Intel does a better USB implementation in their chipset than
Apple was able to achieve in PowerPC models.
Some Mac models might get better performance than others, depending on
how the USB 2.0 port interfaces to the CPU, and what else is travelling
over the same I/O bus. The Firewire port often has a direct connection
to the primary memory controller (same as the Ethernet port and video
hardware), while the USB port is offloaded to a secondary I/O controller
and may have to share the I/O bus with the optical drive and other PCI
or USB peripherals.
I have seen suggestions that some computers (probably not Macs) are able
to get peak transfer rates in the order of 30 to 35 MB/s over USB 2.0.
Firewire 400 on most Macs can do 40 to 45 MB/s given a fast enough hard
drive.
Another factor is that USB 2.0 will drop significantly in speed if the
bus is shared with any other devices, even if they aren't doing active
data transfer. A friend of mine told me he observed very poor
performance with a USB 2.0 hard drive if any other USB 2.0 devices were
connected to the same bus controller or external hub, but it got a lot
faster if it was on the bus all by itself. A hub between the computer
and drive is likely to slow it down as well.
Firewire scales more consistently and is not affected as much by the
presence of other devices (unless they are actively transferring data).
> Recently I was helping a friend with a MBPro and he'd bought a USB 2.0
> external hard drive. We copied his boot volume off his internal hard
[quoted text clipped - 4 lines]
> I just wanted to know if this was true in general for all USB 2.0
> external hard drives.
Looking at raw numbers (in megabits or gigabits per second):
The internal hard drive has a theoretical maximum transfer rate in the
order of 1.5 Gbps (SATA-1) or 3.0 Gbps (SATA-2). The actual drive
hardware can't go that fast, but if the drive is able to make use of its
internal cache, it can achieve that sort of speed for brief intervals.
USB 2.0's theoretical limit is 480 Mbps (about a third of SATA-1), but
peak average transfer rate on any Mac I've tried is somewhat less than
half that in a good bus configuration. This is well below the speed
which the drive is able to sustain for continuous transfers.
Firewire 400's theoretical limit is 400 Mbps (about a quarter of
SATA-1), and it really is able to achieve nearly that limit for
sustained transfers. This is fast enough for many hard drives to only be
a limit in some conditions.
Firewire 800's theoretical limit is 800 Mbps (about half of SATA-1), and
it is able to achieve nearly that limit for sustained transfers. This is
easily fast enough for sustained transfers for any single hard drive
available at present, but cached transfers will still be limited by the
Firewire bus.
eSATA (external SATA) should be just as fast as SATA-1, so it is about
twice the speed of Firewire 800 and is unlikely to be a bottleneck.
> I had read USB 2.0 in Mac OSX was actually slower than FireWire 400. I
> had confirmed this with my external hard drive enclosures on some
> limited testing with my older G4s, using my drives which had both USB
> 2.0 and Firewire 400 connections (trying them one at time of course). I
> normally run my external drives as Firewire 400.
Yep. See earlier.
All my external drives since 1998 have been at least Firwire 400, but I
get them with USB 2.0 as well, just in case I want to plug them into a
computer which doesn't have Firewire. I've hardly ever needed to do
that, as I'm not dealing with Windows PCs very often (or when I am, a
USB flash drive will suffice).
My current drives are Firewire 800 + USB 2.0 (with Parallel ATA drive),
and Firewire 400 + Firewire 800 + eSATA + USB 2.0 (with Serial ATA
drive). I don't have anything which can connect to the eSATA port yet,
but it might be useful in future.
> My simple tests were booting, copying a few small files, copying many
> small files (total about 500MB) and finally copying single large files
[quoted text clipped - 5 lines]
> 3) single large file ====Firewire 400 much faster
> 4) booting ====Firewire 400 much faster booting
Copying small files will elminate most of the speed advantages of
Firewire, because most of the time is taken up by the computer
processing all the data about each file, or doing repeated small read
and write operations, which may also involve seeking.
There will still be an advantage for Firewire with many small files,
because the actual data transfer phase can proceed faster.
With large files, most of the time is taken up with the continuous data
transfer, and Firewire is much faster at that.
Booting is probably similar: it involves accessing large files and also
repeated access to small files or directory information which the drive
may be caching. Firewire is able to access the cached data faster than
USB.

Signature
David Empson
dempson@actrix.gen.nz
> Are all USB 2.0 connected external hard drives that much slower than a
> similar Firewire 400 connected drive?
In a word, yes. It's more pronounced in some circumstances than others
but in real-world terms, regardless of controller or OS, the best case
performance of USB 2 seems to equal about the mean performance of FW400.
USB rarely achieves its best and FW often exceeds its mean.
G