Microsoft Innovation

For a really long time, I felt like all I ever did was bash Microsoft. Not so much because I’m mean, but because I really didn’t see them doing anything terribly creative. I was somewhat impressed with Vista, mostly because it’s a ‘fresh’ attempt at Windows, one without all the suck. It seems like they got a lot of things right this way. But still, it was just an extension of existing technology, even if it was optimized under the hood.

I just plugged in a solid-state USB drive (a 2GB CF card from my camera), and Windows popped up with its usually little dialog asking if I wanted to import the pictures or AutoPlay or whatever it usually asks. But I noticed there was an additional option, to use it as a ReadyBoost drive.

I did some reading up on it, and it essentially uses solid-state media, which has super-fast seek times, as a ‘swap partition’ (or whatever Windows calls it). When you run out of RAM, your computer will normally “swap out” (hence the name ‘swap file’ in Linux circles) the least-recently-used stuff from memory to your hard drive to free up some room for newer stuff. But hard disks are slow, especially compared to RAM, so this results in a major performance hit. (And eventually, you’ll have to read it back in, which slows things down again!) So Windows allows you to offload much of that to solid-state storage, which makes the moving of data much quicker.

This, in and of itself, isn’t entirely a ground-breaking idea. It’s just generally accepted that you want your swap partition in Linux on your fastest drive, and it’s not entirely unheard of to do stuff like have a big ol’ IDE disk, but use a 9GB, 15K RPM SCSI disk (or similar) for swap and the boot partition, to speed things up. Doing it on solid-state media has surely been done before Windows implemented this feature.

But I remain impressed, for a number of reasons:

  • Moving your swap partition to a high-speed storage medium is akin to compiling a custom kernel on Linux: not all that hard in the grand scheme of things and quite beneficial, but also quite obscure. “Yeah, I moved my paging file to a solid-state disk!” is a conversation ‘normal people’ don’t have. Microsoft’s just made it quite accessible. No black magic is involved: plug in a USB thumbdrive or similar, and click the option that pops up.
  • They apparently include some logic to move stuff likely to be accessed in random fashion to solid-state, to eliminate seek time, yet it will put big, contiguous stuff on normal disks, which have higher throughput. Sheer brilliance, and probably a bit of code that’s never been written.
  • The contents are encrypted. This seems like it’s right out OpenBSD’s book, in that it’s pretty awesome security. I actually wouldn’t have done this myself, as I don’t have anything all that secret in memory, so it seems like the overhead in encrypting it isn’t worthwhile. But the fact that it’s there still impresses me.
  • Some sort of compression is available as well; they cite 2:1. Much like encryption, I’m really not sure what to make of this: the whole point is to improve speed by using solid-state disks, so I wonder about the overhead here. But But then again, it means that my 2GB CF card, which matches the amount of RAM I have, might just work.
  • Per Wikipedia, “According to Jim Allchin, for future releases of Windows, ReadyBoost will be able to use spare RAM on other networked Windows Vista PCs.” For a long time, I’ve thought that this would be a good idea, and something easy enough to do. (Though there is the risk that I’m going to write data to your machine, and then you’re going to shut your computer down for the night…) This is a pretty exciting future idea!

Leave a Reply

Your email address will not be published. Required fields are marked *