take a closer look at ready boost features in windows 7
TRANSCRIPT
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 don’t 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
Let’s 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 you’ll 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, you’ll 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
You’ll then see the ReadyBoost tab. If the device isn’t compatible, you’ll see a message informing you that
the device doesn’t 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 won’t 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 it’s 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
system’s 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 system’s
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, let’s take a look at how
effective it is in Windows 7 along with today’s 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 won’t 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 doesn’t mean that you should write off ReadyBoost.
Once ReadyBoost is enabled, it doesn’t 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 flash-
based drive, and subsequently ReadyBoost, will outperform a hard disk.
It’s 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.
I’ll follow up on this performance issue in next week’s blog, so stay tuned.
Other notable enhancements
Windows 7 ReadyBoost can employ multiple devices. In fact, Windows 7’s 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, you’re going to have to keep tabs on it with Windows 7’s
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, you’re obviously going to be looking for the promised
performance gain. Unfortunately, ReadyBoost isn’t like adding rocket fuel to your system, and it’s
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, you’re going to have to keep tabs on it with Windows 7’s
Performance Monitor. In this edition of the Windows Vista and Windows 7 Report, I’ll 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 7’s 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 flash-
based 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 won’t 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 don’t write off ReadyBoost just yet.
ReadyBoost does NOT equal RAM
And one more thing that I should point out: ReadyBoost does NOT equal RAM. I’ve heard plenty
of people comment “Oh, I have 8GB of RAM in my system, I don’t need ReadyBoost. That’s 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 don’t 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. Let’s 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 isn’t already,
and click on Performance Monitor. When the graph appears, as shown in Figure A, you’ll see
that in its default configuration, Performance Monitor is configured to monitor Processor Time.
Since we won’t 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 ReadyBoost’s 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. (I’m 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, you’ll 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, you’ll 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, you’ll 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.
You’ll 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
You’ll 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, you’ll 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, you’ll 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.