The Flash

posted by chip on Friday, the eighth of January 2010, at three in the morning
A couple of weeks ago, the hard drive in my laptop finally gave up the ghost. It had been a little wonky for quite a while, occasionally needing a loving reboot to get it working again. This time, it would consistently go out to lunch during or shortly after booting, so it was time to put the drive in a shoebox, bury it out back, and teach the kids an important lesson... wait, no, I got off track there. It was time to proceed with my Netbook Refurbishment Plan and get a flash drive.

As it turned out, the better option was compact flash. The T23 is an old machine, so the only PATA SSDs I could find were made by Transcend, a company that, when I think about data integrity, makes me feel like I've swallowed a greasy hairball from the kitchen sink drain trap. Amazon had a sale for a pro-level 8GB SanDisk CF card for $65, and I picked up a dual CF adapter from Newegg. That's right, dual. I have room for another CF card in case this one fills up (which is not likely as I'll explain in a moment).

After cleaning up my home directory and reinstalling Slackware 13, I'm sitting with about 3.9GB free out of a usable 7.4GB. The amount of data I actually need to use on a daily basis is tiny — basically just configuration files and some documentation. To extend the life of the flash, I've turned off browser caching and I'm not using swap. This does of course put me in some peril of invoking the wrath of the OOM killer if something gets out of hand, but usually I'm sailing along with over half a gig unused (which of course means it's sitting as disk cache or buffers).

Slackware 13 is, as usual, a solid piece of work. Most of my favorite apps are stable nowadays, and with the help of slacky.eu I've had to compile very little to bring my desktop back up to speed. I've even set up a build system on yomiko so that I can compile faster and not wear out my flash drive.

I had a little trouble getting the CF card working at full speed. The chipset driver detected it as having a 40-conductor cable and thus limited it to ATA/33. I told the chipset this was poppycock (ide_core.ignore_cable=0) and it's now zooming along at ATA/100. The drive will actually only sustain about 50MB/sec, but it's a solid improvement over its 25MB/sec ATA/33 speeds.

After a week or so of running on flash, I can say that it's a huge improvement over spinning disk. Not just in transfer speeds, but there is an overwhelming improvement in latency. Hard drives, especially laptop drives with slow rotation speeds, must wait on heads and platters to align before a sector can be read. Flash drives have no such limitation, and can bring you sectors with a low upper bound on latency even if the sectors are on opposite ends of the disk.

The advantage of low latency is apparent whenever you're doing things that access many files at once — system startup, source code compilation, running scripts — the sort of tasks UNIX systems do all day. It's a noticeable improvement. For some tasks, my humble T23 beats my Athlon 64 wintendo machine. Starting Opera cold after a boot, for example, is about twice as fast on my laptop.

But of course, the start that burns twice as bright burns but half as long. I now begin the waiting game to see how much abuse a CF card will take. Oh well, that's the price of speed.

reply

All content printed on 100% recycled internet memes.