Vista: How SuperFetch and ReadyBoost work together

Here's a look at SuperFetch and ReadyBoost and an explanation of how they work together to enhance Windows Vista's performance.

In order to make Windows Vista, with all of it new GUI enhancements, a success, Microsoft knew that it was going to have to figure out some ingenious ways to squeeze more performance out of the operating system and the currently available hardware technology. Along the way, they've even helped to spur a new hardware technology.

To squeeze more performance out of the operating system, Microsoft has endowed Windows Vista with SuperFetch. To squeeze more performance out of the currently available hardware technology, Microsoft added ReadyBoost to Windows Vista. To help spur new hardware technology, Microsoft added ReadyDrive capability to the operating system.

Tips in your inbox
TechRepublic's free Windows Vista Report newsletter features news, scuttlebutt, and tips on Longhorn development, including a look at new features planned for this next version of the Windows OS.
Automatically sign up today!

In this edition of the Windows Vista Report, I'll take a closer look at SuperFetch and ReadyBoost and explain how they work together to enhance Windows Vista's performance. I'll then briefly discuss the concept of ReadyDrive as it relies on technology that is not yet available.


Of the three performance enhancement technologies, SuperFetch is the only one that comes fully operational right out of the box. And while SuperFetch by itself can enhance the operating system performance, it will jump up to the next level when used in conjunction with ReadyBoost or ReadyDrive.

The biggest culprit when it comes to slow performance in the computer is disk I/O. As the Windows operating system has evolved over the years we've seen several technologies designed to attempt to mitigate this performance drain. The most notable of these technologies is virtual memory, which is also known as the swap file of page file. The Windows XP operating system added a new technology called Prefetch. And while these technologies did indeed do their part to improve performance, there was room for improvement.

The SuperFetch technology in Windows Vista is that improvement! SuperFetch is essentially a memory management feature designed to enhance Windows Vista's responsiveness when loading and switching between applications that you use most often. Using adaptive techniques, SuperFetch will constantly reorganize most often used data and applications on the hard disk and intelligently move them to specific locations on the hard disk where they can be loaded into memory the fastest.

For those of us who remember using Windows 3.x, the notion of constant data reorganization may bring back memories of an performance stealing annoyance we called disk thrashing, in which the operating system tried to simultaneously perform all disk I/O operations. However, SuperFetch won't fall victim to that problem as it takes advantage of an I/O prioritization technology, in which applications are marked as either a low- or high-priority I/O application. With this system SuperFetch will temporarily sideline a low-priority I/O application when a high-priority I/O application takes precedence. Of course, this will greatly improve the performance of those applications marked as high-priority I/O.


While SuperFetch is designed to more efficiently manage memory usage, it must still depend on the speed of the hard disk to move data and applications from the cache to RAM. And as we all know by now, the fact that a hard disk is a device that relies on physically moving components makes it inherently slow, regardless of how much hard disk performance has improved over the last few years.

However, the widespread availability of USB memory stick with fast access flash memory offered Microsoft an alternative place to work with SuperFetch's cache. When you insert a USB memory stick into a Windows Vista system you'll see an AutoPlay dialog box like the one shown in Figure A.

Figure A

When you insert a USB memory stick into a Windows Vista system you'll see this AutoPlay dialog box.

When you click the button Speed Up My System Using Windows ReadyBoost, Windows Vista will initiate a series of tests to determine whether the USB memory stick is compatible with ReadyBoost. You'll then see the ReadyBoost tab on the disk's properties sheet. If the USB memory stick isn't compatible, you'll see a message informing you that the device doesn't have the required performance characteristics for ReadyBoost. If the memory stick is compatible, you can select the Use This Device option to enable ReadyBoost and specify how much space that you want to make available to SuperFetch, as shown in Figure B.

Figure B

Windows Vista will automatically set aside a recommended amount of space for use with SuperFetch.

(While many of currently available USB memory sticks meet the compatibility requirements for ReadyBoost--2.5MB/sec throughput for 4K random reads and 1.75MB/sec throughput for 512K random writes--Microsoft is working with vendors and developing a ReadyBoost logo program for USB memory sticks.)

As you can see, Windows Vista will automatically set aside the recommended amount of space, but you can use the slider to change the amount of space. In this example, Windows Vista recommended reserving 880MB of the 1GB USB memory stick.

Once you click OK, Windows Vista will configure the USB memory stick for ReadyBoost and immediately copy the cache over to the drive and begin using it. If you access the drive from Computer, you can actually see the cache, as shown in Figure C.

Figure C

Windows Vista immediately copies the cache over to the drive and begins using it.

In order to ensure the safety, integrity, and efficiency of the ReadyBoost system, Microsoft has added several safeguards. To begin with, the data on the USB memory stick is automatically encrypted using the Advanced Encryption Standard - AES 128. Therefore, if you happen to loose the USB memory stick, you won't have to worry about someone easily accessing the data. While Windows Vista will actually work from the cache on the USB memory stick, all the data in the cache is mirrored on the hard disk's cache. Therefore, if you inadvertently remove the USB memory stick while it's in use by ReadyBoost, the operating system will immediately fall back to the hard disk's cache and pick up right where it left off.


As I mentioned, ReadyDrive is designed to work with technology that's not yet available called a Hybrid Hard Drive (HDD), which is actually the combination of traditional hard disk and flash memory. In this case, the two technologies function together with the flash memory working on the frontline intercepting data and then dispatching it to the hard disk. This improves performance because the flash memory can handle the immediate I/O requests faster than the hard disk. Then, during periods on inactivity, cache data can be transferred back and forth between flash memory and the hard disk.

In addition to its performance enhancement features, the HDD technology will be a real boon to laptop users since it will decrease power consumption and lengthen battery life. In this case, while flash memory will be able to handle the majority of the hard disk related tasks, the hard disk, which is one of the biggest hogs of battery power, can actually spin down to a low power state until needed. In fact, chances are good that the HDD technology will first show up in new laptops.


Windows Vista's performance enhancing technologies SuperFetch, ReadyBoost, and ReadyDrive offer a real improvement for disk I/O operations. If you have comments or information to share about Windows Vista's SuperFetch, ReadyBoost, and ReadyDrive, please take a moment to drop by the Discussion area and let us hear.