Vista's optimized caching features turn flash drives, flash cards, and new hybrid hard drives into booster rockets for OS performance.

David DeJean, Contributor

March 23, 2007

12 Min Read

In all of the commotion over the introduction of Vista and since, one thing is obvious: Vista needs speed more than Mars needs women. Early reports from Vista users can make it sound like they're dealing with two different products: a Good Vista and a Bad Vista. Some users talk about how fast it is, how quickly it boots up, while other complain about how slow it feels.

The key seems to be that Vista's performance is extremely hardware-dependent. Running Vista on a 2GHz processor, 2GB of RAM and a 256MB video card can be a very pleasant experience. But Trying to run Vista on a marginal hardware set-up can be an exercise in frustration. Getting good performance out of Microsoft's Windows Vista requires more of everything -- more system memory, a faster CPU, more hard-disk space, and much more graphics processing power.

Of all these, system memory is the most important, because it impacts the performance of the others. For example, the graphics subsystem might borrow system memory, which in turn diminishes memory available for caching data and program code pages, which could force the processor to wait . . . and wait . . . for data to be read off the hard drive.

Vista does what it can to optimize this digital choreography. Caching technology, in particular, has been pushed beyond anything available in previous versions of Windows. A new memory-management technology called SuperFetch works like a combination of fortune teller and inventory clerk to predict the data the CPU will ask for next, and make sure it's on the system memory shelves, where it can be delivered to the CPU fastest.

"Ready" For Vista
But software optimization can only do so much, and Vista also includes technology to support some relatively new hardware solutions for improving its performance. The names of some of these functionalities were in flux during Vista's long development process, but with the OS finally shipping, the list has settled on a common family name: "Ready." It has three main members:

  • ReadyBoost uses flash memory in external devices -- USB drives and memory cards, for example -- to supplement system memory with a special cache that takes advantage of flash devices' very quick random read times to boost system performance.

  • ReadyDrive takes advantage of new hybrid hard disk drives (abbreviated H-HHD) that combine conventional rotating disk storage with flash memory. Vista treats the flash and disk as one memory space, so that it can be used for caching frequently-needed data, for ReadyBoot data, or as a disk-write cache when the disk is spun down, in order to save battery power.

  • ReadyBoot uses the ReadyBoost services to tackle one particular problem -- speeding up the processes of booting the system and recovering from hibernation. It keeps track of the files most often needed when the system boots and builds a temporary cache -- sort of a "Boot-Up's Greatest Hits" -- when the system starts. It can use flash wherever it finds it in either external flash devices or H-HHDs.

ReadyBoost and ReadyDrive are matched to new kinds of hardware products. In addition to H-HHDs, flash drives marked "Enhanced for ReadyBoost" are making their way to the market, fast flash memory cards popular for digital cameras are finding new uses, and embedded flash memory is even appearing on special "Enhanced for Vista" motherboards. Putting ReadyBoost To Work
Testing, like the thorough review of ReadyBoost done by Tom's Hardware Guide, proves there's no substitute for system RAM. But, particularly on PCs with minimal system memory (around 512MB or so) nothing helps more than plugging in a ReadyBoost-compatible flash drive.



Setting up a flash device for ReadyBoost is simple: In the device Properties, set the amount of space to set aside as a cache, and select "Use this device." (Click image to enlarge.)

Setting up ReadyBoost on a PC is about as hard as feeding a hamburger to a hungry dog. The most important thing to remember is to get your fingers out of the way. All you need is a flash device fast enough to support ReadyBoost (more on that later). Plug the flash drive into a USB port, or the memory card into an appropriate slot, and Vista will open an Autoplay window inviting you to "Speed up my system using Windows ReadyBoost." All you have to do is accept the suggested size for the cache.

Once the cache file (it's named ReadyBoost.sfcache) is configured on the device, it will be used by Vista whenever it's available. This mean if you need to use the device for something else and remove it from the PC, you can do it without causing a problem -- just remember to click on the "Safely Remove Hardware" applet in the system tray. You can even delete the cache file (simply go back into the device's properties and select "Do not use this device") and then reconfigure it again later on.

Picking A Flash Device For ReadyBoost
You can use just about any kind of flash device that you can insert directly into your PC. That includes USB flash drives, Secure Digital cards, CompactFlash cards, and Memory Stick cards. You can't use cards inserted into external USB readers, or anything on a USB 1.0 or USB 1.1 port.

To work with ReadyBoost, a flash device has to have more than 256MB with 230MB of free space. It must also be faster than the average flash drive has been in the past -- it must perform random 4K reads at 2.5 megabytes per second or faster, and perform random 512K writes at 1.7MB or faster. You can use devices as large as 32GB for ReadyBoost and format it as either FAT or NTFS, but Vista will use a maximum of 4GB for the cache file because of compatibility with FAT32 file format restrictions. ("Enhanced for ReadyBoost" devices have to meet a higher standard: 5MB per second for random 4K reads and 3 MB for random 512K writes.)



If a flash device is too slow for ReadyBoost you'll see this message. Vista will retest a device each time you connect it unless you instruct it otherwise. (Click image to enlarge.)

Flash device makers have rushed "Enhanced for ReadyBoost" devices to market, but it's still early days for ReadyBoost compatibility. If you've got a device you'd like to try, Vista will let you know pretty quickly whether it's ReadyBoost-ready or not: Just plug it in and check the ReadyBoost pane in its Properties listing. If the device is not compatible, Vista hands out three kinds of gentle rejection: You'll be told the device is "plugged into an unsupported interface" (meaning something about it is probably USB 1.x), or that the device "must be greater than 256MB" (as with other things in life, size does matter), or you'll see the message below, which indicates it's just plain too slow:

There may be some work-arounds for slow drives. Vista will retest devices that fail the speed test, but once a device passes, it's good forever. One blogger claims to have squeeked a marginal flash drive past the test by formatting it as NTFS and compressing it. But you use slow devices at your peril.

Not all compatible devices are marked as such, and if you're looking to buy a flash drive to use as a ReadyBoost device and want to know whether it's compatible, a British Web designer has started a community-driven Web site to capture information and opinions on which ones are and which ones aren't.

ReadyBoost-Ready Motherboards
Another way to utilize ReadyBoost is to buy a motherboard with flash memory installed. The first of these are already on the market, introduced by ASUS a week before Vista's official birthday on January 29, 2007.



New motherboards from ASUS include flash memory on the board that can be allocated as a ReadyBoost cache.

There are four models in the series: a Plus and a Premium model each for the Intel Core 2 Quad and the AMD Athlon 64 FX processors. All include several Vista-specific features, but most important in the current context is their ASAP ("ASUS Accelerated Propeller") feature which is, essentially, a 512MB flash drive soldered to the board. The flash is recognized by Vista as an external drive, and can be used for whatever you'd use a flash drive for, including, of course, ReadyBoost.

ReadyDrive: Bringing The Boost To Hard Drives
ReadyDrive does for hard drives and flash memory more or less what ReadyBoost does for system memory and flash drives. This new feature of Vista takes advantage of equally new hybrid hard drive technology that combines conventional rotating storage with flash memory.

All hard disks have some RAM built into them as a cache, but it's there just to buffer reads and writes, and it's volatile -- its contents evaporate when the drive powers down. Adding nonvolatile flash to the drive does something entirely different from buffering I/O. It means that, in effect, the drive can be on even when it's off. This can save not only time but battery power, if the PC running Vista happens to be a laptop (and increasingly, they are -- laptop sales have equaled or bettered desktops in recent years).

That's why the first hybrid hard drives just beginning to reach the market are 2.5-inch laptop drives. Samsung announced early in March that it had begun shipping samples of its first H-HHD, and Seagate is expected to follow suit any day.



Samsung's FlashON hybrid hard drives combine rotating storage with 256MB of flash memory to enhance the speed of laptops running Vista. (Click image to enlarge.)

The Samsung drives in the 2.5-inch FlashON series will combine 80, 120, or 160 gigabytes of rotating storage with 256MB of flash memory. Seagate's first drives will be in the same configuration -- 2.5-inch drives with 256MB of flash, and the company has said it will produce drives with larger flash buffers of 512MB and 1GB in the second half of 2007.

That 256MB of flash will be shared among several separate cache functions, according to Ruston Panabaker of Microsoft's Windows Hardware Innovation Group, who gave a presentation on ReadyDrive at last year's Windows Hardware Engineering Conference (WinHEC 2006):

  • About 10MB of it will be devoted to caching the hard drive's firmware.

  • The next 32MB will be used as a write cache. Laptop drives spin down to save power, and a write cache in flash means that writes can be accumulated and the disk left off longer.

  • Another 32MB will be available for caching data and program code that supports hardware features and Vista's new Windows HotStart function. (HotStart ties a program function to a hardware button so that users can do things like run a media player, or browse and play files from the hard disk, or open an e-mail program with one click, whether the laptop is on, sleeping, in hibernation, or off.)

  • Whatever flash memory is left is set up as a ReadyBoost that SuperFetch will use to cache code pages while it works to maintain optimal memory content, and to accelerate the boot and resume processes.

This not only improves the laptop's performance, according to Panabaker, but it can save 4 to 12 percent of the machine's battery by allowing the hard drive to power down while the flash cache stays on to serve cached code to the CPU and aggregate writes to the disk.

ReadyBoot: A Flash Booster Rocket For Boot-Ups
ReadyBoot may be a little too much like ReadyBoost to be clearly differentiated, but maybe that's the point. After every boot-up, the ReadyBoost service does an analysis of the files read during the last five boots, then builds a list of the files it predicts will be used in the next boot in what order, and their locations on disk. When the PC boots up, the ReadyBoost service creates a compressed cache of those files. That serves the right files in the optimal order to boot the machine faster.

If the computer is equipped with an H-HHD, ReadyDrive can accelerate the boot process even more. When a shut-down or hibernation is initiated, ReadyDrive loads data required early in the boot process to the H-HHD's flash cache. When the disk is powered on again, even though it won’t spin up for 2 to 4 seconds, data can start flowing from the flash memory almost immediately.

Ready? Boost!
ReadyBoost isn't a magic bullet for Vista performance. There is no substitute for system memory, so if you're going to run Vista, load up on as much as your machine will hold or you can afford, depending on which limit you hit first. But if you've got a machine with a limited amount of system RAM -- an older PC or a laptop -- flash memory and the ReadyBoost technology that's in every copy of Vista can make a difference. An "Enhanced for ReadyBoost" flash drive or card can give you an immediate shot in the arm -- and, when they get here, hybrid hard drives could help as well.

Those technologies aren't the end of the line, by any means. As Panabaker pointed out, with ReadyBoost there's a direct relationship between flash memory performance and Vista performance gains -- and the performance of flash memory interfaces has been doubling every year. As Vista is adopted by more and more PC users, the result will undoubtedly mean more flash in our future.

About the Author(s)

Never Miss a Beat: Get a snapshot of the issues affecting the IT industry straight to your inbox.

You May Also Like


More Insights