January 2007 - Posts

Recipe for ReadyBoost

I've begun to think that the new ReadyBoost feature of Windows Vista requires eye of newt or some other magical ingredient.  Actually, it's not the operating system so much, but the hardware itself -- until ReadyBoost came along, there was just no reason to get into the nitty-gritty performance aspects of the ubiquitous USB memory stick.

For some background, ReadyBoost is a new strategy Microsoft devised to increase the performance of the paging file.  It accomplishes this by writing a copy of the paging file out to a flash device, as well as putting it to the hard drive.  When Vista wants to pull that information back into RAM, it can be retrieved from flash much faster than the hard drive because there are no moving parts to wait for.  For Vista users, the result can be a substantial increase in performance, depending on the particulars of the PC.

These two metrics, seek time and sustained throughput are numbers we don't ordinarily think about with respect to flash memory.  I don't think anyone one expects high performance from a USB stick.  Vista changes this laissez-faire attitude, out of necessity.  It requires a device of 256MB or greater, a minimum of 2.5MB/s throughput and, I assume, a seek time that is less than that of a hard disk, or about 15ms.

I went into this thinking that ReadyBoost was going to be a piece of cake.  Here's a list of all the devices I ended up trying out:

  1. Sandisk Cruzer Micro - 4GB (link)
  2. Centon Pro flash drive - 1GB (link)
  3. Sandisk Ultra II CompactFlash card - 1GB (link)
  4. Sandisk SD Card - 512MB (link)
  5. Sandisk CompactFlash card - 256MB (out of production)
  6. Apacer CompactFlash card - 256MB
  7. Sandisk 8 in 1 USB card reader (link)
  8. Inland Products 'Multi in 1' card reader (link)
  9. Dazzle CompactFlash <> PCCard adapter

After trying all these devices out in every possible combination, I found a number of things that were counterintuitive to me:

  1. The Cruzer Micro worked, but not until I tested it the second or third time.  It failed to meet the performance requirements the first couple of times.
  2. I grew a love-hate relationship with the Centon USB stick.  After I started digging into performance questions in earnest, I downloaded the program HDTach from Simpli Software.  While the Centon had a really awesome sustained throughput, (14+MB/s) the seek time was awful, approximately 65msec.  As a result, I wasn't able to get it working either.
  3. Some USB sticks have both 'fast' and 'not fast' memory.  This money-saving architecture allows the stick to give good performance, but not in a sustainable manner.  This renders the stick unusable with ReadyBoost.
  4. All USB card readers are not the same:  The Sandisk unit isn't even labelled for USB 2.0 performance, but in informal testing, cards in it achieved up to twice the throughput of the Island Products device.
  5. My vaunted Ultra II CF card is going back - it performs at about a quarter of the advertised rates.
  6. The SD Card returned the second fastest bandwidth rating of all memory devices.
  7. ReadyBoost generally won't work with devices plugged in to external card readers.  Apparently if the card reader appears to be a disk drive regardless of whether there is any media, it's not your day.  This same principle got in the way of my great idea, using the Dazzle adapter.  I really wanted a device that could be permanently placed in my laptop. 

In the end, I've settled on the Cruzer Micro stick.  I didn't want an external device but there don't appear to be any alternatives for my Dell Latitude D620.  I like my laptop, but for once, I'm jealous of my Inspiron-toting coworkers that have SD Card readers built in.

Fortunately, there won't be this much variability when the new hybrid hard drives come out!

This blog entry of Tom Archer's has a more detailed accounting of the requirements for ReadyBoost.

Posted by jdevries with 1 comment(s)
Filed under: ,