Ubuntu – Why is the data transfer rate so slow on the external USB 2.0 drive


My external 1TB hard drive is connected to the front USB2.0 socket on my 11.04 box. When copying files I have a very slow data transfer rate rate of approx. 12 MB/sec maximum even though from the hard disk utility it says it is connected at high-speed USB (480 MB/s):

enter image description here

This the output of lsusb:

Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 004 Device 002: ID 046a:010a Cherry GmbH 
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 008: ID 1058:1001 Western Digital Technologies, Inc. External Hard Disk [Elements]
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

This is the output of hdparm:

~$ sudo hdparm -Tt /dev/sdc1

 Timing cached reads:   1904 MB in  2.00 seconds = 952.06 MB/sec
 Timing buffered disk reads:  96 MB in  3.06 seconds =  31.35 MB/sec

With this rate it takes hours to backup my frequently edited large video files. This it makes it almost unusuable, even more so because I know it could perform much better.

Changing the USB port to another one on the back of the computer and changing the cable to a brand new one did not make any change.

Is there any setting I need to make in addition to defaults of my still quite vanilla but update 11.04 here?

Best Answer

OK - font of all knowledge (!) wikipedia says that for a USB 2.0 interface, the theoretical maximum transfer rate is 480 Mbps (mega bits per second). Hence I think the Disk Utility is incorrectly overstating your USB drive - this should probably be filed as a bug.

I know there is an issue with NTFS, but from the screen-shot it looks like you are using EXT4, so this is not the issue.

The theoretical speed is max 60MB/s. However, I've read various reports such as this (also look at the transfer rate article in the wikipedia link) that state that you could expect half-of this rate. Thus, your drive is probably running as fast as it can.

For better speeds, use either a SATA II external disk or try a USB3.0 interface card + USB 3.0 External Hard-drive.

Suggest also confirm your drive rate using some command line tools as described here. It would be interesting to see how accurate Nautilus is reporting the transfer rate compared to the command line tools as per this link.

It is also worth booting with pci=routeirq in your kernel grub option - sometimes IRQ issues slow down hard-drive read/writes.

Related Question