May 23 2007

Memory in a Flash

Use ReadyBoost to improve performance with USB flash drives.

With cheap memory and dual- and quad-core processors, only hard-disk speed limits the performance of many computers. Microsoft hopes to remedy this with ReadyBoost, a feature of Windows Vista that caches files from your disk to a flash drive (such as a Universal Serial Bus flash drive or a CompactFlash card). Windows Vista only uses ReadyBoost to improve read performance. Updates are written directly to the disk. That way, you can pull out the ReadyBoost drive any time you want to without losing data.

How ReadyBoost Works

Flash memory performs differently than hard disks. Flash memory has no physical head that needs to move to access different files. This reduces latency — the time it takes to find the start of a file — and makes access time much faster than in hard disks. However, throughput — the speed of reading consecutive blocks of a file — tends to be much slower than a typical hard disk. So while you might be able to start Windows from a typical flash drive, you probably wouldn’t be happy with the performance because of the slow throughput.

ReadyBoost uses the cache selectively, taking advantage of the different performance characteristics of flash memory. It only reads from the ReadyBoost cache when it would be faster than reading it from the hard disk. ReadyBoost will never read a large file from the cache because the higher throughput of the disk will always be faster.

Will ReadyBoost Help You?

ReadyBoost helps whenever Windows Vista needs to randomly access small amounts of data, which is almost constantly. The slower your hard disk, the more improvement ReadyBoost can give you. In tests, ReadyBoost reduced startup and logon time by 30 percent on a computer with a 4,500 revolutions per minute hard disk. On a computer with a 7,200 RPM hard disk, it didn’t help startup times at all, but it could still improve performance after logon. You can also see performance benefits when starting programs, opening files or searching the local computer. If the computer has an activity light, watch that light to see whether ReadyBoost is working.

If you have an extra flash drive, plug it into your computer and let Windows Vista test it to see if it can support ReadyBoost. If it passes the performance test, Windows Vista will prompt you to enable ReadyBoost. You can also view the drive’s properties in Explorer and click the ReadyBoost tab to manually enable ReadyBoost.

IT Takeaway

Unfortunately, drive manufacturers don’t typically show a flash drive’s random read access time, which makes it difficult to determine whether a specific drive will support ReadyBoost without testing. Some flash drives will carry a ReadyBoost logo that shows they support ReadyBoost, but most new drives will work with ReadyBoost even if they don’t have the logo. The “X” performance rating (such as 32X or 64X) is a measurement of the flash drive’s throughput, which has almost no impact on ReadyBoost performance — only random access times are useful for ReadyBoost.

For a flash drive to support ReadyBoost, it must meet these requirements:

  • • A capacity of at least 256 megabytes.
  • • A throughput of 2.5 megabytes per second for 4k random reads.
  • • A throughput of 1.75MBps for 512k random writes.
Tony Northrup is a developer, security consultant and author with more than 10 years of professional experience developing applications for Microsoft Windows.