ReadyBoost


ReadyBoost is a disk caching software component developed by Microsoft for Windows Vista and included in later versions of the Windows operating system. ReadyBoost enables NAND memory mass storage devices, including CompactFlash, SD cards, and USB flash drives, to be used as a cache between a hard drive and random access memory in an effort to increase computing performance. ReadyBoost relies on the SuperFetch technology and, like SuperFetch, adjusts its cache based on user activity. Other features, including ReadyDrive, are implemented in a manner similar to ReadyBoost.

Overview

Using ReadyBoost-capable flash memory for caching allows Windows Vista and later to service random disk reads with better performance than without the cache. This caching applies to all disk content, not just the page file or system DLLs. Flash devices typically are slower than a mechanical hard disk for sequential I/O, so, to maximize performance, ReadyBoost includes logic that recognizes large, sequential read requests and has the hard disk service these requests.
When a compatible device is plugged in, the Windows AutoPlay dialog offers an additional option to use the flash drive to speed up the system; an additional ReadyBoost tab is added to the drive's properties dialog where the amount of space to be used can be configured. The minimum cache size is 250 MB. In Vista or with FAT32 formatting of the drive, the maximum is 4 GB. In Windows 7 with NTFS or exFAT formatting, the maximum cache size is 32 GB per device. Windows Vista allows only one device to be used, while Windows 7 allows multiple caches, one per device, up to a total of 256 GB.
ReadyBoost compresses and encrypts all data that is placed on the flash device with AES-128; Microsoft has stated that a 2:1 compression ratio is typical, so a 4 GB cache would usually contain 8 GB of data.

Requirements

For a device to be compatible and useful, it must conform to these requirements:
Other considerations:
ReadyBoost is not available on Windows Server 2008.

Performance

A system with 512 MB of RAM can see significant gains from ReadyBoost. In one test case, adding 1 GB of ReadyBoost memory sped up an operation from 11.7 seconds to 2 seconds. However, increasing the physical memory from 512 MB to 1 GB reduced it to 0.8 seconds. System performance with ReadyBoost can be monitored by Windows Performance Monitor. As the price of RAM decreased and more RAM was installed in computers, the mitigations provided by ReadyBoost to systems with insufficient memory decreased.
The core idea of ReadyBoost is that a flash memory have a much faster seek time than a typical magnetic hard disk, allowing it to satisfy requests faster than reading files from the hard disk. It also leverages the inherent advantage of two parallel sources from which to read data, whereas Windows 7 enables the use of up to eight flash drives at once, allowing up to nine parallel sources. USB 2.0 flash drives are slower for sequential reads and writes than modern desktop hard drives. Desktop hard drives can sustain anywhere from 2 to 10 times the transfer speed of USB 2.0 flash drives but are equal to or slower than USB 3.0 and Firewire for sequential data. USB 2.0 and faster flash drives have faster random access times: typically around 1 ms, compared to 12 ms for mainstream desktop hard drives.
On laptop computers, the performance shifts more in favor of flash memory when laptop memory is more expensive than desktop memory; many laptops also have relatively slow 4200 rpm and 5400 rpm hard drives.
In versions of Vista prior to SP1, ReadyBoost failed to recognize its cache data upon resume from sleep, and restarted the caching process, making ReadyBoost ineffective on machines undergoing frequent sleep/wake cycles. This problem was fixed with Vista SP1.

Limitations

Since flash drives wear out after a finite number of writes, ReadyBoost will eventually wear out the drive it uses. According to the Microsoft Windows Client Performance group, the drive should be able to operate for at least ten years.