Why must external drives behave this way?


One of the banes of my existence now that I'm predominately a notebook computer user is external hard drives. I can't afford to shell out a small fortune for an integrated solution such as a Drobo, so (to shamelessly borrow a phrase I've already used here!) I have to make do with a veritable Stonehenge of external hard drives, each with their own space on the desk, individual data and power cables and a huge padded bag to carry them in when I go back to Singapore, Adelaide and so on.

This tangled spaghetti mess that will probably morph into an intelligent being and take over the world one day isn't the main problem for me though.

I think the problem stems with the way contemporary operating systems deal with them in two tiny yet painfully irritating ways that I think are the result of historically not having so many drives attached to a single personal computer. This happens on Windows and Mac OS X, but curiously not on my FreeBSD machines.

When I go to save or open a file with a application's modal dialog box, the OS insists on powering up and checking each external drive before it will let me do anything. This means every time I open a dialog box like this it can take upwards of 30 seconds before I can do anything! Leaving aside the issue of sleeping hard drives entirely (a possible future post topic) I just can't understand why a 2009 operating system can't determine that by opening a dialog box focused on an internal drive that I don't want to use the external ones, and even if I did I would only be saving a file to ONE of them not to all six!

As an addendum, why must external hard drives be awoken from sleep one at a time? Surely a modern, multi tasking operating system has the ability to process a few status check threads for separate hardware devices concurrently. I can understand the idea of minimising peak loads when we're dealing with server farms with hundreds of drives, but I just need my six to wake up in a reasonable time, and combined they'd still only draw a fraction of the power that, say, a refrigerator or grilled cheese sandwich iron would.

I'm a computer science student not a engineer so perhaps there are reasonable, logical reasons for why hardware like this behaves in this manner, but as it stands I can't see why the logic can't follow the second diagram above instead of the first. Feel free to correct me if I'm wrong, in fact I encourage it!

Author bio and support


Ruben Schade is a technical writer and infrastructure architect in Sydney, Australia who refers to himself in the third person. Hi!

The site is powered by Hugo, FreeBSD, and OpenZFS on OrionVM, everyone’s favourite bespoke cloud infrastructure provider.

If you found this post helpful or entertaining, you can shout me a coffee or send a comment. Thanks ☺️.