up vote 2 down vote favorite
share [g+] share [fb]

I know this is normal and not a fault but why is the throughput so low when using a brand new 7200RPM hard drive and a fast usb external drive? I know there is some "overhead" but what is this overhead? Why is it so slow?

Thanks

link|improve this question
There's way too little information here to give an answer. What type of hardware are we dealing with here? What OS? Is this a server-class system or a desktop system? What type of hard drive? How much cache on the hard drive? – ErikA Jan 28 '10 at 22:47
2  
USB isn't a very fast interface. If you want throughput, get Firewire. – duffbeer703 Jan 28 '10 at 23:16
cause fast USB is more USB than fast. – quack quixote Jan 28 '10 at 23:32
feedback

migrated from serverfault.com Jan 28 '10 at 23:30

This question came from our site for system administrators and desktop support professionals.

4 Answers

"As far as we know, effective rate reaches at 40MBps or 320Mbps for bulk transfer on a USB 2.0 hard drive with no one else is sharing the bus. Flash Drives seem to be catching up too with the some hitting 30MB/s milestone. For all we know, USB interface could become become the bottleneck for flash drives as early as 2008."

http://www.everythingusb.com/usb2/faq.htm#2

Note megabits, rather than megabytes.

As mentioned above, throughput will depend on the size of the files and folder structure you're copying. If there's lots of files, or the process moving the files is doing some additional processing e.g. ZIP, the throughput will be much lower.

If you're copying a single large file (1Gb upwards) using explorer, you should see speeds approach 40Mb/s.

As mentioned, check nothing else is active on the USB bus. Even mice use up a chunk of the available bandwidth.

link|improve this answer
Thanks Chris, nice answer. – Scott Jan 28 '10 at 23:02
feedback

A typical 7200 rpm SATA drive has a maximum transfer rate of 125MB/s (example, Seagate Barracuda 7200.12)

So if you have the bandwidth, and you do nothing except read consecutive sectors with no seeking, you will get about 5 times faster than what you are seeing.

However, data is not contiguous even in a single file, and multiple files might be in multiple blocks. Further, each file write requires a change to the directory tables and/or FAT. Whether you're seeking because the file isn't contiguous, or you're seeking because you have to write to the file or directory table, you're going to eat up time in the seek.

An average seek time is around 8mS, so you're eating up a LOT of time each seek.

Not only is this going on at the target drive, but the source hard drive must also seek around for the bits and pieces of each file and directory entry. It's probably worse at the source due to greater fragmentation (files are broken up into more pieces).

Also, each command must go over the USB. It's not a ton of overhead, but it's a 'dumb' mass storage device, so windows says, "Hey, give me sector 4923847" and the drive complies. Then windows ask for, or writes to another sector. With command queuing it's at least as efficient as it can be, but the USB interface is transferring a lot more than just the raw data you are copying.

The USB tops out at 480Mbits/s, but the reality is that you are doing very well if you get 48MBytes/s out of that interface, and it may be competing with your slower mouse, keyboard, and other USB peripherals. Depending on how the hosts and hubs are set up, and how cheap they are, you could be losing very significant USB bandwidth due to low speed peripherals chewing up time slots.

All of these factors combined say, essentially, "Wow, you're getting 24MB/s? That's actually pretty good!"

link|improve this answer
feedback

24 MBytes/sec is pretty reasonable for a single-SATA -> single-SATA throughput regardless of interface. Especially if there are lots of small files (versus one big file), fragmentation on either disk, etc.

You can use IOmeter to test the maximum sustained read and write speeds for sequential reads and writes. You have to do a full defrag or work against a cleanly formatted partition to get an accurate test.

link|improve this answer
Thanks for that, I can live with the speed I'm curious why it's so low when the disk and USB2 interface claim such high speeds. I appreciate fragmentation but would this be such a big deal? – Scott Jan 28 '10 at 22:58
feedback

I would suggest reading over this: http://www.usb-ware.com/firewire-vs-usb.htm

In short, sustained throughput on USB isn't as good as firewire.

link|improve this answer
... unless you already have USB 3.0 :) – Molly7244 Jan 29 '10 at 0:33
feedback

Your Answer

 
or
required, but never shown