ReadyBoost: Flash Improves Windows Vista Performance
Vista's optimized caching features turn flash drives, flash
cards, and new hybrid hard drives into booster rockets for OS performance.
By David DeJean,
InformationWeek
March 27, 2007
URL:
http://www.informationweek.com/story/showArticle.jhtml?articleID=198500307
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.
|