Windows Vista's ReadyBoost feature allows Windows to treat a USB flash drive as a disk cache. What does that m...
Disk caches are one way of coping with the inefficiencies of hard disk drives, which are the slowest component in most computers. Any time the computer reads data from or writes data to the hard disk, it must stop and wait for the operation to complete.
In disk caching, an area of memory is reserved for storing copies of recently used or commonly used files. When these files are requested again, Windows can read the files from the cache, which is much faster than the hard disk.
The problem with disk caches implemented by the operating system is that they consume system RAM, leaving less RAM available for other tasks. This is why the size of the disk cache is limited. This is paradoxical. Larger caches mean better performance, but larger caches consume more memory, which has the effect of diminishing performance. But what if you could increase cache size without consuming additional system RAM?
This is exactly what Windows Vista's ReadyBoost feature does. ReadyBoost allows Windows to treat a USB flash drive as a disk cache.
Flash drive cache means better performance
But if hard disk drives are faster than USB flash drives, won't caching files to a slower medium diminish performance? No, and the reason why you can get better performance by using a flash drive cache has to do with the types of reads being made. Hard drives perform much better than flash drives for sequential reads, but hard drive performance diminishes when random disk reads are required. (This is why systems generally perform so much better when their hard disks have been defragmented.)
ReadyBoost works by caching pages of memory that are written to the pagefile (these pages are also written to the pagefile in case the flash drive is unexpectedly removed). When the system needs to read a page from virtual memory, it checks the flash drive to see if the page is there first, before reading the page from the pagefile. Note: ReadyBoost is not just using the flash drive to store a copy of the pagefile. The flash drive is acting as a true disk cache and is only storing portions of the pagefile.
How much of a performance boost ReadyBoost really gives depends on several things. Random reads of 4KB pages of data are about ten times faster on a flash drive than a hard drive. But this doesn't mean that your system will run ten times faster. Your performance gain depends on the size of the ReadyBoost cache and on the current workload of the system. Generally speaking, the larger the cache and the higher the workload, the greater the performance boost. In contrast, ReadyBoost will provide almost no performance gain on a PC with 4GB of RAM that is being used solely for word processing or Web browsing.
Three things to know about ReadyBoost
Before you start filling every available USB port with flash drives, here are a few things you should know about ReadyBoost.
- USB is a bandwidth-sharing technology. The speed available to USB devices is shared among all the devices plugged into the USB bus. ReadyBoost will perform best if no other USB devices are in use.
- Your flash drive must meet certain criteria before ReadyBoost can use it. Only USB 2.0 flash drives can be used, ranging from 256MB to 4GB. You should base the flash drive you use on the amount of RAM installed in the system.
Microsoft recommends that, on the low end, you use a flash drive equivalent in size to the amount of memory installed in your system. On the high side, the flash drive should be no more than 2.5 times as large as your physical memory. There aren't really any consequences to exceeding the 2.5 times the memory limit, but you won't see any real additional performance gain by using a larger flash drive than that. On the low end, Windows won't stop you from using a flash drive that is too small, but by doing so, you will not receive much of a performance boost.
Setting up ReadyBoost is simple. Insert a flash drive in your USB 2.0 port. AutoPlay will engage and ask if you want to open the folder to view files, or if you'd rather speed up your system. You can see the AutoPlay screen below.
Choose the option to speed up your system. Windows will now run a quick test to make sure that the flash drive is fast enough to improve system performance. You won't actually see the test being run, but Windows must check to make sure that the drive can deliver 2.5 MB/sec random reads based on 4KB data and 1.75 MB/sec random writes based on 512KB data.
Once the speed test is complete, Windows will display the screen below. Select the option to use the device, set the amount of space that you want to reserve as a disk cache and click OK. Now you're in business.
About the author:
Brien M. Posey, MCSE, is a Microsoft Most Valuable Professional for his work with Windows 2000 Server, Exchange Server and IIS. He has served as CIO for a nationwide chain of hospitals and was once in charge of IT security for Fort Knox. He writes regularly for SearchWinComputing.com and other TechTarget sites.