You are on page 1of 12

Take a closer look at ReadyBoost features in Windows 7

By Greg Shultz March 17, 2010, 10:48 AM PDT Takeaway: ReadyBoost is a still a part of the Microsoft Windows 7 operating system, so Greg Shultz examines its features in more detail. The other day a friend and I were talking about the merits of Windows 7, and I was trying to convince him that it was time to let go of Windows XP and move up to the latest version. During our discussion he brought up Windows Vista and ReadyBoost and then asked me if ReadyBoost was even available in Windows 7. When I told him that it was indeed still a part of the Windows 7 operating system, he questioned whether it was really necessary anymore, considering the fact that 2GB-4GB of RAM was pretty common in new PCs these days. That got me wondering. During the Vista buildup, ReadyBoost was a pretty common topic of discussion. Back then, memory was still pretty expensive and ReadyBoost was being touted as an inexpensive way to make the new and memory-intensive operating system a little snappier. During the Windows 7 buildup, I really dont remember hearing much about ReadyBoost at all. Do you? Even so, ReadyBoost is a still a part of the Windows 7 operating system, and as such, I thought that I would examine it in more detail in this edition of the Windows Vista and Windows 7 Report. This blog post is also available in PDF format in a free TechRepublic download.

How it works
Lets begin with a brief overview. As you know, ReadyBoost is designed to use external USB flash drives, SD cards, or CF cards as a hard disk cache to improve disk read performance. For example, when you insert one of these types of devices into a Windows 7 system youll see an AutoPlay dialog box like the one shown in Figure A.

Figure A

When you insert one of these devices into a Windows 7 system, youll see this AutoPlay dialog box.

When you select the button Speed Up My System Using Windows ReadyBoost, the operating system will begin a series of tests to determine whether the drive is compatible with ReadyBoost. To be compatible, the device must be:

At least 256MB in size, with at least 64KB of free space At least a 2.5MB/sec throughput for 4KB random reads At least a 1.75MB/sec throughput for 1MB random writes Youll then see the ReadyBoost tab. If the device isnt compatible, youll see a message informing you that the device doesnt have the required performance characteristics for ReadyBoost. If the device is compatible, you can select the Use This Device or the Dedicate This Device to ReadyBoost option to enable ReadyBoost and specify how much space you want to make available to the disk cache. Since these types of memory devices are inexpensive these days, I recommend that you choose the Dedicate This Device to ReadyBoost option, as shown in Figure B.

Figure B

Since these types of memory devices are inexpensive these days, I recommend that you choose the Dedicate This Device to ReadyBoost option.

Once you click OK, ReadyBoost will configure the device to use the cache and immediately begin using it, as shown in Figure C.

Figure C

Once you click OK, ReadyBoost will configure the device to use the cache.

In order to ensure the safety, integrity, and efficiency of the ReadyBoost system, Microsoft has added several safeguards. To begin with, the data on device is automatically encrypted using the Advanced Encryption Standard AES 128. Therefore, if you happen to lose the device, you wont have to worry about someone getting access to data. While the operating system will actually work from the cache on the device, all the data in the cache is mirrored on the hard disk. Therefore, if you inadvertently remove the device while its in use by ReadyBoost, the operating system will immediately fall back to the cache on the hard disk and pick up right where it left off.

The SuperFetch cache


The SuperFetch cache management technology in Windows 7 is designed to enhance the operating systems responsiveness when loading and switching between applications that you use most often. Using adaptive techniques, SuperFetch will constantly monitor the data and system files related to the applications that you use most often and preload them into the cache where they can be loaded into memory the fastest. To further improve performance SuperFetch incorporates 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 the SuperFetch cache management technology works perfectly fine while running on your systems main hard disk, it usually works better when it is stored on a flash-based memory device using the ReadyBoost system. This is because a hard disk relies on physically moving components, which makes it inherently slow when compared to flash memory with its very fast, electronic data transfer system.

Does it really work in Windows 7?


OK, now that you have a pretty good idea of how the ReadyBoost system works, lets take a look at how effective it is in Windows 7 along with todays technology. To begin with it is important to point out that if you have a high-end hard disk in a desktop system that is pushing 7200-RPM or higher, ReadyBoost wont provide as significant of a performance gain as it would if your hard disk is running 5400-RPM or lower, such as those typically found in laptops. However, even if you are on the top end of the scale, that doesnt mean that you should write off ReadyBoost. Once ReadyBoost is enabled, it doesnt just take over. Rather, it essentially keeps tabs on hard disk operations and will only go into action reading and delivering files from its cache when doing so will boost performance. Otherwise, it defers to the cache on your hard disk. More specifically, during sequential read

operations, a hard disk will outperform a flash-based drive; during nonsequential read operations, a flashbased drive, and subsequently ReadyBoost, will outperform a hard disk. Its also important to understand that recognizing the performance gain provided by using ReadyBoost is pretty subjective and will depend on what kind of applications you run on your computer and what type of data you typically work with. Ill follow up on this performance issue in next weeks blog, so stay tuned.

Other notable enhancements


Windows 7 ReadyBoost can employ multiple devices. In fact, Windows 7s ReadyBoost can support up to eight devices for a maximum 256GB of cache memory.

Keep tabs on ReadyBoost with Windows 7's Performance Monitor


By Greg Shultz March 24, 2010, 8:52 AM PDT Takeaway: To see ReadyBoost in action, youre going to have to keep tabs on it with Windows 7s Performance Monitor. Greg Shultz shows you how to do just that. In my last blog post, Take a Closer Look at ReadyBoost Features in Windows 7, I showed you how to set up ReadyBoost and explained how it works. Once you understand how ReadyBoost works and have it configured on your system, youre obviously going to be looking for the promised performance gain. Unfortunately, ReadyBoost isnt like adding rocket fuel to your system, and its not going to dramatically speed up every task that you regularly perform. There are some tasks where the performance gain will be evident, and there are others where it will not. In other words, it is very difficult to be plugging away at some task on your system and just feel it kick in and say to yourself Wow, there goes ReadyBoost! What a rush!

To see ReadyBoost in action, youre going to have to keep tabs on it with Windows 7s Performance Monitor. In this edition of the Windows Vista and Windows 7 Report, Ill show you how to do so. This blog post is also available in PDF format in a free TechRepublic download.

A quick review
In a nutshell, ReadyBoost allows Windows 7s SuperFetch cache management technology to use flash-based devices to maintain a copy of the disk cache. Once ReadyBoost is enabled, it essentially keeps tabs on hard disk operations and will go into action reading and delivering files from its copy of the cache only when doing so will boost performance. For example, during sequential read operations, ReadyBoost will sit back and allow SuperFetch to use the cache on the hard disk since the hard disk can outperform a flash-based drive for these types of read operations. During nonsequential read operations, ReadyBoost will jump in and essentially redirect SuperFetch to use the cache on the flash-based drive since a flashbased drive can outperform a hard disk for these types of read operations.

Furthermore, fast hard disks pushing 7200-RPM or higher will in many cases be able to perform some, but not all, nonsequential read operations faster than a flash-based drive. As such, ReadyBoost wont provide as significant of a performance gain as it would if your hard disk is running 5400-RPM or lower, such as those typically found in laptops. However, even if you have a fast hard disk, there are situations where ReadyBoost can make a big performance contribution. So dont write off ReadyBoost just yet.

ReadyBoost does NOT equal RAM


And one more thing that I should point out: ReadyBoost does NOT equal RAM. Ive heard plenty of people comment Oh, I have 8GB of RAM in my system, I dont need ReadyBoost. Thats only for systems with 1GB of RAM. The truth of the matter is that ReadyBoost is about improving hard disk performance, not enhancing or adding RAM to the system. Sure, a system with only 1GB of RAM can use all the help it can get, but it is important to keep in mind that with ReadyBoost, the performance gain is coming from improved hard disk performance, not from an addition to RAM. So, again, even if you have 8GB or more of RAM, there are situations where ReadyBoost can make a big performance contribution. So dont write it off. (I admit that in some of my previous posts about ReadyBoost, I have inadvertently contributed to this confusion, and I apologize.)

Configuring Performance Monitor


As you may know, Performance Monitor is a visualization tool that allows you to view performance data or counters, both in real time and from log files. You can view performance data in graph, histogram, and report form. To help you monitor ReadyBoost, Performance Monitor provides a special set of counters under the heading ReadyBoost Cache. Lets take a closer look. To launch Performance Monitor, click on the Start button, type perfmon in the Start Search box, and press [Enter]. Once the tool launches, expand the Monitoring Tools branch, if it isnt already, and click on Performance Monitor. When the graph appears, as shown in Figure A, youll see that in its default configuration, Performance Monitor is configured to monitor Processor Time. Since we wont need this for the task at hand, the first order of business is to click the Red X or Delete Key icon.

Figure A

In its default configuration, Performance Monitor is configured to monitor Processor Time.

Now, click the Green + or Add icon. When you see the Add Counters dialog box, locate and select the ReadyBoost Cache header and click the Add button. When the ReadyBoost Cache header appears in the Added Counters section, as shown in Figure B, click OK.

Figure B

When the ReadyBoost Cache counter appears in the Added Counters section, click OK.

When you add the ReadyBoost Cache header to Performance Monitor, you are actually adding a set of 10 counters to the monitor, as shown in Figure C. These counters are listed and described here:

Bytes Cached: The total amount of uncompressed data currently stored in the cache. Cache Space Used: The total amount of space currently being used by the cache. Compression Ratio: The actual size of the data in the cache divided by the uncompressed size of the data in the cache. Total Cache Size Bytes: The total amount of space reserved on the device for the cache. Cache Reads/Sec: The number of times data is read from the cache per second. Cache Read Bytes/Sec: The number of bytes read from the cache per second. Skipped Reads/Sec: The number of read operations skipped per second. Skipped Read Bytes/Sec: The number of bytes not read from the cache per second. Total Reads/Sec: The number of read operations directed to ReadyBoost. (Includes both satisfied and skipped read operations.) Total Read Bytes/Sec: The number of bytes in the read operations directed to ReadyBoost. (Includes both satisfied and skipped read operations.)

Figure C

When you add the ReadyBoost Cache header to Performance Monitor, you are actually adding a set of 10 counters to the monitor.

As you can see, having 10 counters on the monitor at one time can be a bit confusing. Furthermore, these 10 counters monitor the full spectrum of ReadyBoosts activities and not all of them are pertinent when measuring performance gains. As such, you will want to whittle down the counters to just the ones that give you a good view of what is happening. For example, what I really want to know is how much the ReadyBoost cache is being used to deliver data, so I chose Cache Reads/Sec and Cache Read Bytes/Sec. These two counters will

help you gauge the amount of read activity occurring in the cache and will let you know how much data is being delivered from the cache. To balance this view I also want to know how often ReadyBoost is deferring to the hard disk for reading data from the cache. So, I also chose Skipped Reads/Sec and Skipped Read Bytes/Sec. I then initiated several large file copy operations involving multiple gigabytes of data and let the monitor run in the background. (Im using a Western Digital 500GB SATA drive that pushes 7200 RPM.) When I returned to Performance Monitor, I discovered that there was a lot of activity displayed on the graph, as shown in Figure D.

Figure D

After several large file copy operations, the Performance Monitor graph displayed a lot of activity.

If you look closely, youll see that the amount of data being read from the ReadyBoost cache is roughly equal to the amount of data being read from the hard disk cache. However, this is but a snapshot of ReadyBoost in action under a specific operation. To really gauge how much and under what circumstances ReadyBoost is actually benefiting your system, youll want to configure Performance Monitor to create a log file over a period of time. For instance, you might want to log ReadyBoost activity over a period of a couple hours during which you perform the types of tasks that you regularly use your system to do.

Creating a Data Collector Set


If you want to log ReadyBoost activity over a period of time, youll need to create a Data Collector Set. Doing so is pretty easy once you know the steps. To begin, expand Data Collector Sets branch in the Performance Monitor navigation pane. Then, right-click User Defined, select New, and click Data Collector Set. When the Create New Data Collector Set wizard appears, type a name for your Data Collector Set and select the Create Manually option button, as shown in Figure E.

Figure E

This wizard will walk you through the steps of creating a Data Collector Set.

Youll then select the Performance Counter check box and on the next page use the Add button to access the Add Counters dialog box where you can individually select the four pertinent counters. These steps are condensed in Figure F.

Figure F

Youll work through the next two steps in the wizard to add the four pertinent counters to your ReadyBoost Monitor Data Collector Set.

Even though there are other settings, click Finish at this point to complete the wizard. When you return to the Performance Monitor window, youll see your ReadyBoost Monitor Data Collector Set. When you are ready to begin logging ReadyBoost activity, just click the green Play icon, as shown in Figure G.

Figure G

To begin logging ReadyBoost activity, just click the Green Play icon.

When you have used your system for what you would consider a substantial amount of time, you can open you Data Collector Set and view the log. Click the Stop icon, and then select Performance Monitor in the navigation pane. Now, click the View Log Data icon and when the Performance Monitor Properties dialog box appears, click the Add button. You can then locate and select your log file, as shown in Figure H.

Figure H

Click the Add button to locate and select your ReadyBoost Monitor log file.

When you click OK, youll see your log file and can determine how ReadyBoost behaved during your test period. During my 15-minute sample test, you can see in Figure I that ReadyBoost made a very minimal contribution to the tasks that I was performing.

Figure I

During this particular test, ReadyBoost made a very minimal contribution.

Remember that you will most likely want to conduct multiple tests under various usage circumstances in order to get a real handle on how much ReadyBoost benefits your particular system. As always, keep in mind that your mileage may vary.

You might also like