# Absurdly Slow USB 2.0 Drive

## sonix

Hello World,

I just purchased my first external hard drive. Its a simpletech usb 2.0 500gb disk. 

http://www.simpletech.com/parts/spu35500.htm

I plugged it in, and dmesg says....

```
usb 1-2: new high speed USB device using ehci_hcd and address 3

usb 1-2: configuration #1 chosen from 1 choice

scsi3 : SCSI emulation for USB Mass Storage devices

usb-storage: device found at 3

usb-storage: waiting for device to settle before scanning

scsi 3:0:0:0: Direct-Access     STECH    Simple Drive     8.14 PQ: 0 ANSI: 0

sd 3:0:0:0: [sdf] 976773168 512-byte hardware sectors (500108 MB)

sd 3:0:0:0: [sdf] Write Protect is off

sd 3:0:0:0: [sdf] Mode Sense: 23 00 00 00

sd 3:0:0:0: [sdf] Assuming drive cache: write through

sd 3:0:0:0: [sdf] 976773168 512-byte hardware sectors (500108 MB)

sd 3:0:0:0: [sdf] Write Protect is off

sd 3:0:0:0: [sdf] Mode Sense: 23 00 00 00

sd 3:0:0:0: [sdf] Assuming drive cache: write through

 sdf: sdf1

sd 3:0:0:0: [sdf] Attached SCSI disk

sd 3:0:0:0: Attached scsi generic sg5 type 0

usb-storage: device scan complete
```

I wanted to clear it completely before I formatted it into fat32 or vfat (not sure which to go for). So this is what I did, and it took 2 days for it to complete.

```
# dd if=/dev/zero of=/dev/sdf

dd: writing to `/dev/sdf': No space left on device

976773169+0 records in

976773168+0 records out

500107862016 bytes (500 GB) copied, 150299 s, 3.3 MB/s
```

That seems a bit slow... So I did hdparm -tT

```
# hdparm -tT /dev/sdf

/dev/sdf:

 Timing cached reads:   756 MB in  2.00 seconds = 377.36 MB/sec

 Timing buffered disk reads:   68 MB in  3.03 seconds =  22.43 MB/sec

# hdparm -tT /dev/sda

/dev/sda:

 Timing cached reads:   760 MB in  2.01 seconds = 378.39 MB/sec

 Timing buffered disk reads:  132 MB in  3.04 seconds =  43.42 MB/sec
```

/dev/sda is a sata drive about 2+  yrs old.

So, I am hoping there's a scientist here that can interpret these results. Should I go on and use this drive? 3.3mb/s to write a bunch of zeros is awfully slow. No? dimelo.

----------

## eccerr0r

I wouldn't call that 'absurdly' slow (that's reserved for the ones that churn out in the KB/sec range for modern devices), but it is quite slow...  Should be around that 15MB-20MB/sec mark.

How well does the disk itself operate without the USB adaptor (i.e. take it out of the case)?  Has it been reporting any bad sectors?  Does it sound like it's having trouble writing any sectors?  Does windows/other Linux distributions have the same issue?

Tried partitioning it and see if the different partitions have different speeds?

----------

## gentuse

Make sure you have the correct drivers for your USB2.0 interface loaded.

Make sure you don't have any strange interrupt conflicts/errors with your USB2.0 interface.

Make sure you have a USB2.0 cable to your drive.

Make sure any hubs you have in between your computer and drive are USB2.0, they are recognized as USB2.0, and their cables are USB2.0.

----------

## lyallp

I think the key is 2, as in USB 2, not USB 1.1

To satisfy yourself about the speed of the disk itself, remove the drive from the case, plug it directly into your machine and see it run then.

Regarding USB, are you running a USB Hub? Is the hub 2.0 or 1.1? Do you have a 1.1 item plugged into your hub?

I seem to recall that a 1.1 device will drag an entire USB interface down to 1.1 speeds, although I have had trouble finding where I thought I read this (http://en.wikipedia.org/wiki/USB makes no mention of this and it's been quite a while since I read the USB specs)

You may need to separate your 1.1 and your 2.0 usb devices over separate usb interfaces (ie, ports on your computer).

----------

## PaulBredbury

 *sonix wrote:*   

> 3.3 MB/s
> 
> 22.43 MB/sec

 

Perhaps dd was syncing the drive continually. Anyway, 22mb/s is fine for an external USB drive - they're geared for cheapness and minimal heat production in their fanless cases, rather than speed.

It not USB 1.1, because USB1 is 12 megabits per second. 22mbytes/s is definitely USB2.

----------

## LiquidAcid

Maybe the blocksize when zeroing with dd wasn't optimal for the drive. When doing this again you should first experiment with some 2^x byte values and check how fast it goes. You can save quite some time this way.

I did this once with my external 80gig drive before putting a truecrypt container on it.

----------

## danomac

I've never had much luck with my USB caddy. I did, however, find out that the firewire interface was faster than the USB on my model. It seems the USB chipset on the drive caddy takes forever to flush its cache.

----------

## eccerr0r

Definitely try 4K to 16K byte blocks, also you don't have to write to the whole disk to know if it made a difference  :Smile: 

(just interrupt it mid run, it should still dump out the benchmark)

----------

## drescherjm

 *Quote:*   

> Timing cached reads:   756 MB in  2.00 seconds = 377.36 MB/sec

 

I find this very slow for a modern computer however I am not sure if this is the cause. 

It is not likely that you are running at USB 1.1 speed as that is 1.2 MB/s max instead of 40MB/s theoretical max of USB2.

----------

## drescherjm

 *Quote:*   

>  they're geared for cheapness and minimal heat production in their fanless cases, rather than speed. 

 

At 500GB, I can guarantee this is a regular 7200 RPM IDE or SATA drive in a cheap case as it would cost the manufacturer a lot more if it were special.

----------

## PaulBredbury

 *drescherjm wrote:*   

> It is not likely that you are running at USB 1.1 speed

 

You are forgetting the difference between bits and bytes. It's not just unlikely, it's impossible.

----------

## sonix

I tried to copy a large folder (157gb). After it was done, dmesg said...

 *Quote:*   

> sd 5:0:0:0: Device not ready: <6>: Sense Key : 0x2 [current] 
> 
> : ASC=0x4 ASCQ=0x2
> 
> end_request: I/O error, dev sdf, sector 476801
> ...

 

What happened? It seems like it copied the entire folder, but I am not sure what dmesg is saying.

I checked the filesystem but no errors showed up.

 *Quote:*   

> # dosfsck -rv /dev/sdf1
> 
> dosfsck 2.11 (12 Mar 2005)
> 
> dosfsck 2.11, 12 Mar 2005, FAT32, LFN
> ...

 

----------

