Posted by: kurtsh | February 26, 2007

INFO: Windows Vista’s ReadyBoost & why it makes sense most of the time

Recently, for a number of reasons I’ve been using an old tool from Roadkil called DiskSpeed that makes it easy to benchmark read/write storage devices like hard drives & flash drives.  (You can get it from http://www.roadkil.net/downloads/DskSpeed.zip)

One of things that has become readily apparent to me is how substantial the performance improvement can be for a Windows Vista machine that uses ReadyBoost.  ReadyBoost if you recall, is the caching technology that Windows Vista has for machines that have high speed Flash Media Drives connected to them.  What Windows Vista does is copy the most frequently used files on your hard drive to the flash-based cache, and when necessary, read those same files from the ReadyBoost cache instead of reading them from disk.  Dedicating a high speed Flash Media Drive to your desktop/laptop can potentially increase the performance of drive reads on your system by 300% simply by caching & reading commonly accessed files in this way.

Take for instance my Apacer 200X 4GB USB 2.0 Flash Drive:  It has an average linear read performance of 27.3MBytes/sec, a random read performance of 7.8MBytes/sec, and 2.1ms disk access time.  Compare this with my 7200RPM internal hard drive which has linear read performance of 42.3MBytes/sec, a random read performance of 2.3MBytes/second, and a disk access time of 10.1ms.

At first glance, you might think that my internal hard drive’s performance, based on linear read performance blows away my flash drive 2 to 1, (42.3 vs 27.3) but that’s simply not that case, and here’s why: 

  • RANDOM READS RULE
    Most accesses of disk consists of many little file reads – the equivalent of random reads, not linear reads.  This doesn’t bode well for linear read performance’s relevance since files are generally scattered across the disk.  Even with Windows Vista’s ability to sequentially order commonly read files (so that reads for commonly executed actions are done as linearly as possible), the magic number is random read performance, and for that flash has the hard disks number 3 to 1.  (7.8 vs 2.3)
  • ACCESS TIME AFFECTS EVERYTHING
    Additionally, access times for flash are always better because… well… there’s no moving parts, no moving drive head, no rotating spindle.  Everything on flash is addressed very quickly through electronic memory addressing.  And access time is a latent performance drag on both physical hard drives as well as flash drives. (to a much lesser degree of course)

In fact, the only time a physical disk could possibly prevail as the performance victor as a storage medium for Windows Vista would be if we were reading very large, very contiguous files.  Large multigigabyte workstation image files for example, could possibily be best served read from 7200RPM hard drives.  (Note however that this isn’t necessarily a certainty being that access times might also be lousy on the hard drive.)

Of course there’s a few caveats to be certain:

  1. Your flash medium must be HIGH SPEED.  A leftover USB 2.0 Flash Drive that you have lying around from a vendor’s presentation is probably not a good candidate for ReadyBoost usage and isn’t going to help your performance:  Most USB 2.0 Flash Drives have really lousy read/write performance and are sometimes even slower than today’s hard drives. 
    On the other hand, a cheap high-speed SDflash card plugged into the SDFlash slot of your laptop, like the A-DATA 150X speed 2GB Secure Digital Memory card, makes for a great "quick performance fix".
  2. If you have a lot of RAM, (like 2-4GB) the RAM cache implemented in Windows Vista will take care of most of these reads, rendering the ReadyBoost cache significantly less used and thus far less effective.
  3. Your performance may vary depending on the types of files you use.  If your day to day operation uses large sequential files, hard drive performance may be better than ReadyBoost cache… however Windows Vista itself consists of many little files making ReadyBoost effective at least for those files so it’s still probably a good idea to use it.
  4. Naturally, the I/O performance of your primary hard drive will greatly impact the difference in performance you see.  If you’ve got a desktop PC with a 7200RPM Western Digital high performance hard drive, you won’t likely see nearly as big a performance improvement as if you were a laptop user with a 4200RPM 2.5" Seagate portable drive using a ReadyBoost cache.
  5. ReadyBoost does some fascinating things at boot time.  No, really.  Because after a while, the Windows Vista operating system is likely to get it’s most frequently accessed files stored into the ReadyBoost cache, when you boot up your Windows Vista PC, you’re likely to see nothing going on on your hard drive’s lights… it’s kinda spooky.  Everything gets read off the ReadyBoost cache and you’ll find yourself good to go with relatively no actual sound eminating from your hard drive.

Categories

%d bloggers like this: