Professional Documents
Culture Documents
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.
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.
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.
Figure A
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.
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
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.