Tuesday, April 3, 2007

A new home for your unused thumb drives

Yet another nice feature in Vista ...

One fine day, I plugged my thumb drive into the USB port. Windows opened the usual dialog box with the list of options like open, play etc. At the very end, I noticed a seemingly irrelevant addition - Speed up my system. Weird. I promptly changed the options, asking Windows to stop giving me wise ass recommendations every time I insert a device.

Later on, some googling revealed the mystery behind that "weird" option. It turned out to be an interesting feature in Vista called ReadyBoost. You can now put your sparsely used thumb drives to good use! All you need to do is plugin your USB 2.0 thumb drive and click on that "speed up my system" option. If you disabled the pop up like me, you can go to My Computer, right click on the thumb drive and choose Properties. In the Properties dialog, choose the ReadyBoost tab and choose "Use this device" and click OK (I didn't disturb the other options). Now you'll see a ReadyBoost.sfcache file in your thumb drive. Simple?

Now how is this supposed to speed things up? The theory is simple. Vista has a related feature called SuperFetch. Briefly, SuperFetch is supposed to learn your usage pattern and preload your favorite applications into memory. If your machine has enough memory, this sounds nice. But what if it doesn't? Leave alone SuperFetch, in general, if the memory isn't too big to hold your programs and data, they are written to a page file on the hard drive. This is usually the file c:\pagefile.sys. The data is shuttled back and forth between the main memory and the page file. The trouble with this arrangement is that, the hard drive takes non-trivial time to spin around and locate your data. While the transfer rate of the hard drives is great, the seek time isn't.

Here is where our thumb drive kicks in. A big selling point for flash drives is their seek time. Since they don't have moving parts, they can locate the data almost instantaneously. ReadyBoost exploits this feature - Vista now uses your thumb drive to store its paged out data. 2+2=4. Cool?

One nice thing about this implementation is that, you can pull out the drive anytime you want, since Windows doesn't cache critical data there, knowing your unsteady mind.

Now, did I notice a speed boost? I don't know. I have 2 GB RAM, and I have been using only a limited set of apps in the past few days. So I didn't notice anything special. But all those expert reviewers have! There is lot of nice material out there explaining the theory and showing good performance results. Here is one:

Windows Vista's SuperFetch and ReadyBoost Analyzed

Take a look. Not bad, eh?