Hmm… that backup seems to be running slowly

Many years ago one of my colleagues purchased a Dell server complete with an expensive SCSI-based tape backup system. About a year ago we began to have recurring problems with the tapes, and the drive itself started to get very fussy about which tapes it would actually use. Due to the age of the drive it also only supported relatively small capacity tapes, compared with current hard drive sizes. There was much discussion about whether or not to replace the drive with a newer model, but one thing quickly became clear: a new drive, plus a new collection of tapes, was going to be very expensive.

So I suggested that we simply buy a number of external hard drives instead. They all connected via USB, so could be hot-swapped as needed – and because all of the drives were identical we only needed to have one power supply and one USB cable available. Everything worked well, the capacity of each drive was far in excess of the old tapes, and the backups completed more quickly than before.

A few days ago one of the SCSI hard drives in the server died – not one of our USB backup drives, but one of the drives in the machine itself. The server was pulled out from our collection of servers (not an easy task – it’s a heavy box in an awkward location), and attempts were made to recover what data we could from the drive. In practice there wasn’t much on there worth saving, so we decided to ignore it.

Then the problems began. We plugged in a USB drive for our nightly backup, but by the morning the backup was still going. We restarted the backup process and tried again… the backup was running very, very, very slowly. Wild theories and speculation began: perhaps the network connection in the server’s current location was problematic, causing the data throughput to be throttled. We moved the big, heavy server back to its awkward location alongside the other servers and tried again. Still the backup was slow.

Perhaps the dead SCSI drive was somehow to blame. Could it be putting erronous data on the bus, causing the processor to be so burdened with error messages that everything was being slowed down? We removed the big, heavy server from its awkward location and removed the errant drive. We even cleaned out the dust bunnies (though they were so large that perhaps “dirt pookas” would be a better description). Still the backup ran slowly.

We were about to boot from a Knoppix CD to rule out Windows configuration issues when someone spotted the problem. As I mentioned at the start, this machine was purchased many years ago. So many years, in fact, that the USB ports were all USB1, which has a maximum data rate of about 12 Mbit/s (1.5 MB/s) – i.e. very, very, very slow.

When we first switched to using the USB drives for backups we were aware of this limitation, so bought a USB2 card for the server. USB2 allows for a theoretical data rate of 480 Mbit/s – i.e. about 40 times as fast as USB1. The underlying cause of our problem was quite simply that someone had plugged the backup drive into the wrong socket.

Ignoring the embarrassment of three otherwise technically-competent men taking several hours (and two unnecessary moves of a heavy server) to spot the problem, I’d like to focus on how this problem occurred in the first place. You see, in their wisdom, the designers of USB2 decided that it should use identical sockets to USB1. I wouldn’t mind this if the two systems were similar – perhaps with USB2 being twice as fast as USB1 – but we’re talking about radically different things here. Yes, they might share some technical details, but to all intents and purposes USB1 is for slow devices – mice and keyboards – whereas USB2 is for much faster devices – hard drives. Up to 40 times faster.

When two sockets offer such radically different levels of performance then I, for one, would rather see a break from the old standard with the introduction of a new socket. They could be made electrically compatible, so that a small and cheap adaptor would suffice for those people who really do want to plug their USB1 mouse into a USB2 port, but a slight mechanical difference would have saved us many man-hours of work.

Better still, they should have abandoned the idea of USB2 before it ever really got off the ground. USB for mice and keyboards, Firewire for hard drives and other fast connections. Two different standards for two radically different requirements. But I guess that would have made too much sense.