My colleague George Ou has an excellent rant on flash drive performance. As he notes, many people are in for a rude shock when they plug in a USB flash drive, Compact Flash card, or SD card and expect it work well with the new ReadyBoost feature in Windows Vista. Many of those flash devices will fail, with a message that reads: "This device does not have the performance characteristics for use in speeding up your system.”
But George gets one detail wrong in his post:
Unfortunately Vista doesn't report the actual raw data for its ReadyBoost test since it only gives you a pass/fail score making it as useless and confusing as the Vista performance index that's based on a scale of 0 to 6.
In broad terms, that's true. When you insert a new flash device and try to use it as a ReadyBoost device, it either passes or it fails. If you try to use a cheapo USB flash drive that some company passed out at a trade show, you won't know from that initial screen why it failed. But the actual numbers are there for all to see, if you know where to look. Carl Siechert, Craig Stinson, and I discovered this fact during our research for Windows Vista Inside Out, and to the best of my knowledge no one has published this information online yet.
I gathered together more than 20 flash devices I've picked up over the past several years and put them to the test. Follow along in the image gallery that accompanies this post and you'll see how you can measure the performance of your own flash devices.
To be used as a ReadyBoost device, your flash drive has to pass several tests, including available free space, write performance, and random read performance. When you connect a supported flash device to your system and choose the Speed Up My System option, Windows Vista runs a quick performance test to see if the device meets minimum standards required for ReadyBoost. Those standards are:
- 2.5 MB/sec throughout for 4 KB random reads
- 1.75 MB/sec throughout for 512 KB random writes
These results must be consistent across the entire device. In addition, the device must be at least 235 MB in size (although you can designate less than the full space on the drive for the ReadyBoost cache).
If any of these tests fail, the drive is rejected.
If you get a failure message when you first insert a flash device and try to use it as a ReadyBoost drive, you can click Test Again to get a second hearing. If the drive fails several tests, you can look up the specific performance results for yourself. Open Event Viewer (Eventvwr.msc) and click the Applications And Services Logs category in the console tree on the left. Under this heading, click Microsoft, Windows, and ReadyBoost. Under this latter heading, select Operational. The log entries in the center pane include performance test results for both successful and unsuccessful attempts.
Just to make things more confusing, the Event Viewer logs report results in KB/sec instead of MB/sec. Although the spec says 1.75 MB/sec write performance, the report in Event viewer would display this as 1750 KB/sec
So how did my motley collection of flash drives do? All in all, not bad.
Six drives, most of them originally given to me as freebies at various press events, failed because they were smaller than the minimum size.
One of my oldest flash drives, a PNY Attache 256MB device I bought about four years ago, passed with respectable scores (read 2920 KB/sec, write 3737 KB/sec). It was the only one of its vintage that passed. More typical was the story of a Micro Advantage 1GB QuickiDrive. (It's the oversized, roundish device at the right in the photo at the top of this post.) It was one of the first 1GB devices on the marker, although its designers cheated by repackaging a Compact Flash card in a USB case. It was very slow on the write test.
Several drives I was given at CES last week in lieu of paper press kits (PR people take note: this is a good thing) all failed. A 1GB no-name drive could only muster write scores of 1004 to 1040 KB/sec. Another very handsome 512MB leather-wrapped flash drive supplied by a vendor failed with dreadful read performance scores of 157 KB/sec.
One of the most interesting failures was an A-Data 1GB drive, originally purchased from an online outlet store. The rubber holder is in the shape of a soccer ball, dating it to last year's World Cup. I expected this cheap drive to fail, but it got surprisingly close. The first test produced a
read write [corrected after initial post - Ed] performance of 1602 KB /sec, only about 10% below the threshold of 1750 KB /sec. Three separate retests produced a range of results from 1401 to 1729 KB / sec. Closer, but still no cigar. On the sixth retest, I got a different result, indicating that it had failed because it "does not exhibit uniform performance across the device." This cheap device was able, on this pass, to clear the read and write performance bars, but that exposed a design decision that made the drive unacceptable for ReadyBoost. No doubt for cost reasons, its designers used a single fast 128MB flash chip matched with slower flash chips.
A 256MB Memorex Travel Drive, given away at last year's CES, passed with excellent test results: Random read speed 4627 KB/sec, sequential write speed 4131 KB/sec.
The 2GB Teac Mini-SD card in my Smartphone, originally purchased at retail, had a read speed that was too slow.
The runner-up in the speed trials was a SanDisk Cruzer 2GB flash drive, provided by Microsoft as part of its Windows Vista Launch Kit for press visitors at CES. It passed with excellent scores: random read speed of 5407 KB/sec, sequential write speed 3701 KB/sec.
But the speed champ in my tests was an Apacer Handy Steno 2.0 USB flash drive. I purchased two of these 1GB drives (update: these are model HT203) for the remarkably low price of $24 each a few months ago, on the recommendation of Scott Hanselman. He didn't steer me wrong. Both are now in use as ReadyBoost drives. They passed the ReadyBoost performance test with blazing speed, roughly twice as fast as any other device I tested: random read speeds were 8067 KB/sec and sequential write speeds were a blistering 9396 KB/sec. I can tell the difference in startup and app load times when this device is inserted into a Vista system.
Now, it's important to note that a device that scores low on this test might not be a dog for other purposes. I have a 2GB MyFlash drive that works just great for transferring files between machines; it just doesn't do well on the specific activities that count for the ReadyBoost cache.
Grant Gibson has already begun compiling a list of devices that pass or fail the ReadyBoost test. It would be great if someone could build a similar database with the actual numbers, so you can see for yourself which devices rock and which barely pass. Any coders out there want to take up the challenge? I'll gladly host the database if you'll help me build it.