Thursday, October 4, 2007

Windows Vista ReadyBoost

Modern day software is more and more resource hungry, in every aspect of computing power.

Demands increase continuously, regardless of whether it's CPU frequency, hard-drive capacity or RAM memory that we are talking about.

Although a RAM memory upgrade is often desirable, there are cases when it cannot be immediately done. RAM memory is still quite expensive so this may prevent some and if you are upgrading an older computer you may have already achieved the maximum amount that can be physically installed.

So wouldn't it be nice to have a way to boost our computers performance in such scenarios?

Welcome to Windows Vista ReadyBoost!

Whilst physical memory such as RAM is quite expensive there is another form of memory that is far cheaper and that is called Flash memory.

Your computer can access Flash memory around 10 times faster than your hard drive so making it an ideal medium for ReadyBoost technology. Windows Vista can simply use the Flash memory as if it was extra RAM.

Using a Flash memory device such as a USB memory key/stick (called a flash drive by the operating system), Windows Vista can create an intermediate caching layer on the device that logically sits between RAM memory and your hard drive.

This can offer some great system performance gains.

Whenever a Flash drive is detected, Windows Vista will check to see if it is fast enough to be used by ReadyBoost as not all Flash memory available is fast enough. If it passes the test, the user can then allocate some memory for ReadyBoost usage.

However Windows Vista will work out the amount of space is recommended for optimal performance, but the user can choose to ignore this recommendation, using more memory than recommended, less, or none at all. Up to 4 GB of suitable flash memory can be used.

ReadyBoost is analogous to using the page file in some ways, but it concentrates on storing different kinds of data. The performance gain depends sensibly on what kind of data you are using. When working with many small files, or when frequently having to access small pieces of data, the performance is sensibly improved. For larger files, the performance gain is often less in my experience.

USB Flash Drive

I have personally seen BIG performance gains on older computers upgraded to Windows Vista, that only had 512 Mb of RAM installed. By adding a 4 Gb flash drive to one of the USB ports and then letting Windows Vista choose the optimal amount of memory to use, the system was notably more responsive when using multiple applications (Internet Explorer, Outlook, Word, Excel and Windows Media Player) at the same time.

The data stored on the flash drive is encrypted using the AES-128 encryption scheme. This ensures that the data is very difficult to decrypt, should the flash drive be stolen.

The entire process is essentially hidden away from the user. Windows automatically manages the newly available memory, and the flash drive can be removed at any moment, without affecting the system.

Although most devices are already supported, some aren't. Namely, external card readers are not supported for technical reasons, and MP3 players are not supported because Windows does not recognize them as actual disk volumes, but rather for what they are; MP3 player. However, the ReadyBoost team is adding support for new devices.

ReadyBoost is also a very young technology. Although mature enough to ship with Windows Vista, we can expect to see it with several improvements in future versions of Windows or future Windows Vista service packs.

For the technical folk reading this article ReadyBoost consists of two parts. A service in

%SystemRoot%\System32\Emdmgmt.dll that runs inside a Service Host process

(%SystemRoot%\System32\Svchost.exe). And a volume filter driver


When you insert a USB flash device into Windows Vista, the ReadyBoost service looks at the device to determine its performance characteristics and stores the results of its test in the following registry entry:

HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\Currentversion\Emdmgmt

By the way if you are wondering why the notation Emd is used instead of something likeReadyBoost. During development of this technology the working name was simply called External Memory Device, and so Emd is simply short for that!

Be ready to play your favorite game and applications on Vista quicker.