SQL Clone
SQLServerCentral is supported by Redgate
Log in  ::  Register  ::  Not logged in

Windows ReadyBoost in Windows 7

Perhaps you heard of or actually tried Windows ReadyBoost in Windows Vista, and were (like me) disappointed with the results? The idea behind ReadyBoost is to take advantage of flash memory as a cache for random disk I/O. Microsoft made some improvements to Windows ReadyBoost in Windows 7, which makes it a little more useful, especially if you know a couple of tricks to take better advantage of it.

My scenario is a desktop workstation or laptop that is running a 64-bit version of Windows 7. Many laptops (and workstations) have only a single, magnetic drive, hopefully running at 7200rpm, even though they may have a fast, multi-core processor and a decent amount of RAM.  Running applications such as SQL Server 2005/2008 and Visual Studio 2008/2010 during daily development use on such a machine often runs into disk I/O bottlenecks that noticeably affect performance.

The best solution in such a situation is usually adding a second hard drive or a faster hard drive, or upgrading to an SSD, and adding more RAM to the system. With a laptop, a second hard drive may not be possible, since most laptops only have a single hard drive bay. If your laptop is running with a 5400rpm drive, you should definitely think about upgrading to a 7200rpm drive or an SSD (if you can afford it). You can get a fast, 500GB 7200rpm drive for around $100.00, while a good SSD still costs considerably more. If you do upgrade to an SSD, you won’t need Windows ReadyBoost (and in fact ReadyBoost will be disabled if you have an SSD).

You should also max out your RAM (which can be anywhere from 4GB to 16GB) depending on the vintage of your machine, but maybe that is not possible for financial reasons. Going to 4GB sticks of RAM is still very expensive for a laptop. Whether or not you can upgrade your hard drive and memory, I think it is worth giving Windows ReadyBoost another try with Windows 7.

To do this, you need a fast USB flash drive or a decent SDHC card (such as a SanDisk Ultra SDHC card). You can get a decent 8GB SDHC card for about $30-40 if you shop around. The nice thing about an SHDC card is that most newer laptops have an SHDC slot, so you can just put a card in there, dedicate it to ReadyBoost and forget it. This is a better solution than using a USB flash drive in one of your USB slots, since it is easy to forget to always use the ReadyBoost USB flash drive.

If you want to use a ReadyBoost drive that is larger than 4GB, you will need to format it with NTFS. Every flash drive I have ever seen comes formatted from the factory with FAT32, which is limited to a 4GB file size. Just reformat it with NTFS, so you can dedicate more than 4GB to ReadyBoost. Once you have done that, just right-click on the drive, and choose the ReadyBoost tab, and decide how much of the drive to dedicate to ReadyBoost.  I usually change the name of the drive to ReadyBoost, just so it is obvious what it is for.


You should also double-check that the removal policy is set to enable write caching in Windows.


There are PerfMon counters that let you monitor what ReadyBoost is doing (as shown below):


I plan on doing some benchmarking with SQL Server 2008 to see if ReadyBoost has a measurable effect on performance.


Posted by knight_devin@hotmail.com on 29 December 2009

Great info!  I was wondering why I couldn't get more than 4 GB on a card that could hold 8.

Posted by Steve Jones on 29 December 2009

That is interesting. Didn't know that there was a 4GB limit here. I'll have to add one to the desktop and see if it helps.

Posted by Mark Underhill on 4 January 2010

In Vista Readyboost used to make suspend and resume take ages. Is that still a problem in Windows 7?

Posted by Mark Harr on 4 January 2010

Mark (Underhill): I have to disagree with you.  In my experience on multiple machines, Readyboost made suspend/resume MUCH faster.  On all my laptops, resume with Readyboost enabled was < 15 seconds, and I saw no noticable difference with suspend times.

Also, it is worth noting that the 4gb limit was for all readyboost drives in Vista, but removed for Windows 7.

Glenn: I notice that no matter if my drive is FAT or NTFS, to use ReadyBoost >4gb, it reformats the drive to exFAT, an dedicates the drive to ReadyBoost only.  My experience could be different because I use Lexar 8gb Expresscard drive (for same reasons you provided for SD card, but it is does not stick out that 1/4" like a SD card would).  Did your system  not format the drive to exFat?

Posted by joncooney73 on 4 January 2010

I thought ReadyBoost was like prefetch. If that's so, it won't improve SQLServer performance, Shirley?

Posted by GDI Lord on 5 January 2010

> You can get a fast, 500GB 7200rpm drive

> for around $100.00, while a good SSD

> still costs considerably more.

Over at TomsHardware.com they did a test on budget SSDs. You can get a 64GB SSD for approximately the same price. Check out it's performance, you might be very surprised...


Posted by Glenn Berry on 5 January 2010

Most of the inexpensive SSDs are still pretty small or have performance issues or both, compared to an Intel X25-M G2 for example. The situation does seem to be improving, and that is an interesting test on Tom's hardware.

Leave a Comment

Please register or log in to leave a comment.