ReadyBoost
Encyclopedia
ReadyBoost is a disk cache
component of Microsoft Windows
, first introduced with Microsoft
's Windows Vista
in 2006 and bundled with Windows 7 in 2009. It works by using flash memory
, a USB flash drive
, SD card
, CompactFlash
or any kind of portable flash mass storage system as a cache.
to service random disk reads with performance that is typically 80-100 times faster than random reads from traditional hard drives. This caching applies to all disk content, not just the page file or system DLLs. Flash devices typically are slower than a 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. 250 MB to 256 GB of flash memory can be assigned (4 GB in the x86 versions of Vista). ReadyBoost compresses and encrypts, with AES-128, all data that are placed on the flash device; Microsoft has stated that a 2:1 compression ratio is typical, so that a 4 GB cache could contain upwards of 8 GB of data.
According to Jim Allchin
, for future releases of Windows, ReadyBoost will be able to use spare RAM on other networked Windows PCs.
For a device to be compatible and useful it must conform to these requirements:
Windows Vista and Windows 7 include a command-line utility called "winsat" to test the performance of random read and write speeds. The Command Prompt must be run with administrative privileges, otherwise test results will not be visible after testing.
To test random reads (4096 for 4 KB):
For random writes (524288 for 512 KB):
One may also run the test with the graphics user interface and examine the results in the Event Viewer.
Other considerations:
Depending on the brand, wear and tear from read-write cycles, and size of the flash memory, the ability to format as NTFS may not be available. Enabling write caching on the flash drive by selecting Optimize for performance in Device Manager
allows formatting as NTFS.
ReadyBoost is not available on Windows Server 2008.
The core idea of ReadyBoost is that a flash drive (aka USB thumb drive or USB memory stick) has a much faster seek time than a typical magnetic hard disk (less than 1 ms), 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 8 flash drives at once, allowing up to 9 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 (IEEE 1394)
for sequential data. USB 2.0 and faster flash drives have faster random access times: typically around 1 ms, compared to 8 ms and upwards for desktop hard drives. USB 3.0 and Firewire may also hold a slight advantage on sequential data.
On laptop
computers, the performance shifts more in favor of flash memory because laptop memory is more expensive than desktop memory and many laptops 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 in Vista SP1.
ReadyBoost must be used carefully on laptops, as immediately after turning on ReadyBoost, the system begins to read extensively from the hard disk. The purpose of this activity is to cache data to the flash drive. This can cause a significant slowdown of the system, so the higher power consumption caused by increased CPU and disk usage can then lead to increased heating and shorten battery life. Therefore, it is highly recommended to ensure that laptops are connected to an external power source when first initializing ReadyBoost. A cooling mat or other airflow device may also be warranted on systems which regularly operate at high temperatures.
As pointed out in Mark Russinovich
's Inside the Windows Vista Kernel: Part 2, ReadyBoost caches all data as it is being written to the local hard disk: "the Ecache.sys device driver intercepts all reads and writes to local hard disk volumes (C:\, for example), and copies any data being written into the caching file that the service created". Experiments show that ReadyBoost may not cache reads when Superfetch is turned off. Since random read is slow for hard disks, performance boosts can be realized when ReadyBoost has expected data from which to read. Thus, with Superfetch turned on, pre-populating data into ReadyBoost cache, the performance boost can be much higher than when Superfetch is turned off.
Cache
In computer engineering, a cache is a component that transparently stores data so that future requests for that data can be served faster. The data that is stored within a cache might be values that have been computed earlier or duplicates of original values that are stored elsewhere...
component of Microsoft Windows
Microsoft Windows
Microsoft Windows is a series of operating systems produced by Microsoft.Microsoft introduced an operating environment named Windows on November 20, 1985 as an add-on to MS-DOS in response to the growing interest in graphical user interfaces . Microsoft Windows came to dominate the world's personal...
, first introduced with Microsoft
Microsoft
Microsoft Corporation is an American public multinational corporation headquartered in Redmond, Washington, USA that develops, manufactures, licenses, and supports a wide range of products and services predominantly related to computing through its various product divisions...
's Windows Vista
Windows Vista
Windows Vista is an operating system released in several variations developed by Microsoft for use on personal computers, including home and business desktops, laptops, tablet PCs, and media center PCs...
in 2006 and bundled with Windows 7 in 2009. It works by using flash memory
Flash memory
Flash memory is a non-volatile computer storage chip that can be electrically erased and reprogrammed. It was developed from EEPROM and must be erased in fairly large blocks before these can be rewritten with new data...
, a USB flash drive
USB flash drive
A flash drive is a data storage device that consists of flash memory with an integrated Universal Serial Bus interface. flash drives are typically removable and rewritable, and physically much smaller than a floppy disk. Most weigh less than 30 g...
, SD card
Secure Digital card
Secure Digital is a non-volatile memory card format developed by the SD Card Association for use in portable devices. The SD technology is used by more than 400 brands across dozens of product categories and more than 8,000 models, and is considered the de-facto industry standard.Secure Digital...
, CompactFlash
CompactFlash
CompactFlash is a mass storage device format used in portable electronic devices. Most CompactFlash devices contain flash memory in a standardized enclosure. The format was first specified and produced by SanDisk in 1994...
or any kind of portable flash mass storage system as a cache.
Overview
Using ReadyBoost-capable flash memory (NAND memory devices) for caching allows Windows 7 and VistaWindows Vista
Windows Vista is an operating system released in several variations developed by Microsoft for use on personal computers, including home and business desktops, laptops, tablet PCs, and media center PCs...
to service random disk reads with performance that is typically 80-100 times faster than random reads from traditional hard drives. This caching applies to all disk content, not just the page file or system DLLs. Flash devices typically are slower than a 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
AutoPlay
AutoPlay, a feature introduced in Windows XP, examines newly discovered removable media and devices and, based on content such as pictures, music or video files, launches an appropriate application to play or display the content. It is closely related to the AutoRun operating system feature...
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. 250 MB to 256 GB of flash memory can be assigned (4 GB in the x86 versions of Vista). ReadyBoost compresses and encrypts, with AES-128, all data that are placed on the flash device; Microsoft has stated that a 2:1 compression ratio is typical, so that a 4 GB cache could contain upwards of 8 GB of data.
According to Jim Allchin
James Allchin
James "Jim" Edward Allchin is a former executive at Microsoft, where he was responsible for many of the platform components from Microsoft including Microsoft Windows, Windows Server, server products such as SQL Server, and developer technologies. He may be most known for building Microsoft's...
, for future releases of Windows, ReadyBoost will be able to use spare RAM on other networked Windows PCs.
For a device to be compatible and useful it must conform to these requirements:
- The removable media's capacity must be at least 256 MB (250 MB after formatting). Windows VistaWindows VistaWindows Vista is an operating system released in several variations developed by Microsoft for use on personal computers, including home and business desktops, laptops, tablet PCs, and media center PCs...
x86 & x86-64X86-64x86-64 is an extension of the x86 instruction set. It supports vastly larger virtual and physical address spaces than are possible on x86, thereby allowing programmers to conveniently work with much larger data sets. x86-64 also provides 64-bit general purpose registers and numerous other...
is limited to using 4 GB; this restriction has been removed in Windows 7. - Windows 7 allows up to eight devices for a maximum of 256 GB of additional memory.
- The device must have an access time of 1 ms or less.
- The device must be capable of 2.5 MB/s read speeds for 4 KB random reads spread uniformly across the entire device, and 1.75 MB/s write speeds for 512 KB random writes spread uniformly across the device.
Windows Vista and Windows 7 include a command-line utility called "winsat" to test the performance of random read and write speeds. The Command Prompt must be run with administrative privileges, otherwise test results will not be visible after testing.
To test random reads (4096 for 4 KB):
winsat disk -read -ran -ransize 4096 -drive driveletter
For random writes (524288 for 512 KB):
winsat disk -write -ran -ransize 524288 -drive driveletter
One may also run the test with the graphics user interface and examine the results in the Event Viewer.
Other considerations:
- Vista SP1's ReadyBoost supports NTFSNTFSNTFS is the standard file system of Windows NT, including its later versions Windows 2000, Windows XP, Windows Server 2003, Windows Server 2008, Windows Vista, and Windows 7....
, FAT16 and FAT32File Allocation TableFile Allocation Table is a computer file system architecture now widely used on many computer systems and most memory cards, such as those used with digital cameras. FAT file systems are commonly found on floppy disks, flash memory cards, digital cameras, and many other portable devices because of...
. Windows 7 also supports the new exFATExFATexFAT is a proprietary, patent-pending file system designed especially for USB flash drives. Developed by Microsoft, it is supported in Windows XP and Windows Server 2003 with update KB955704, Windows Embedded CE 6.0, Windows Vista with Service Pack 1, Windows Server 2008, Windows 7, Windows...
file system. Vista SP2's ReadyBoost does not support the exFAT file system. Due to the fact that ReadyBoost cache is stored as a file, one has to format the flash drive as NTFS or exFAT in order to use more than 4 GB of space for caching because FAT16 and FAT32 impose file size limit of 2 and 4 GB respectively. - The initial release of ReadyBoost for Windows Vista supports one device. Windows 7 supports multiple flash drives for ReadyBoost, so performance improvement similar to RAID0 can be expected.
- The initial release of ReadyBoost algorithm for Windows Vista has been improved in Windows 7, resulting in better performance. One experiment showed reading of flash memory up to 5-10 times faster than Windows Vista due to higher hit rate.
- Because ReadyBoost stores its cache as a file rather than directly using the flash device in a raw manner, that file system must be mountedMount (computing)Mounting takes place before a computer can use any kind of storage device . The user or their operating system must make it accessible through the computer's file system. A user can access only files on mounted media.- Mount point :A mount point is a physical location in the partition used as a...
and assigned a drive letterDrive letter assignmentDrive letter assignment is the process of assigning alphabetical identifiers to physical or logical disk drives or partitions in the root filesystem namespace; this usage is now mostly found in Microsoft operating systems...
. Simply mounting a subfolder of another drive won't suffice because only the root folder of a drive is suited for ReadyBoost cache — otherwise the “ReadyBoost” tab will not appear in the logical volume properties, nor will any previously created cache file be used. - Microsoft recommends the amount of flash memory for ReadyBoost acceleration be one to three times the amount of random access memory (RAM) in your computer. This recommendation should not be confused with the message that is displayed in the “ReadyBoost” tab of drive properties dialog: for example, for a flash drive of 16 GB capacity formatted as FAT32 it will display a message that “Windows recommends reserving 4094 MB for optimal performance” even if RAM size is 10 GB, just because 4094 MB is the maximum file size on a FAT32 volume; after reformatting it as NTFS or exFAT, the message changes to “Windows recommends 15180 MB”.
- If the system drive is a solid state disk (SSD), ReadyBoost is disabled since it would have little or no effect.
Depending on the brand, wear and tear from read-write cycles, and size of the flash memory, the ability to format as NTFS may not be available. Enabling write caching on the flash drive by selecting Optimize for performance in Device Manager
Device Manager
The Device Manager is a Control Panel applet in Microsoft Windows operating systems. It allows users to view and control the hardware attached to the computer. When a piece of hardware is not working, the offending hardware is highlighted for the user to deal with...
allows formatting as NTFS.
ReadyBoost is not available on Windows Server 2008.
Performance
A system with 512 MB of RAM (the minimum requirement for Windows Vista) can see significant gains from ReadyBoost. In one test case, ReadyBoost speeds up an operation from 11.7 seconds to 2 seconds (increasing physical memory from 512 MB to 1 GB without ReadyBoost reduced it to 0.8 seconds, though). System performance with ReadyBoost can be monitored by Windows Performance Monitor.The core idea of ReadyBoost is that a flash drive (aka USB thumb drive or USB memory stick) has a much faster seek time than a typical magnetic hard disk (less than 1 ms), 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 8 flash drives at once, allowing up to 9 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
USB 3.0
USB 3.0 is the second major revision of the Universal Serial Bus standard for computer connectivity.USB 3.0 has transmission speeds of up to 5 Gbit/s, which is 10 times faster than USB 2.0 . USB 3.0 significantly reduces the time required for data transmission, reduces power consumption, and...
and Firewire (IEEE 1394)
IEEE 1394 interface
The IEEE 1394 interface is a serial bus interface standard for high-speed communications and isochronous real-time data transfer, frequently used by personal computers, as well as in digital audio, digital video, automotive, and aeronautics applications. The interface is also known by the brand...
for sequential data. USB 2.0 and faster flash drives have faster random access times: typically around 1 ms, compared to 8 ms and upwards for desktop hard drives. USB 3.0 and Firewire may also hold a slight advantage on sequential data.
On laptop
Laptop
A laptop, also called a notebook, is a personal computer for mobile use. A laptop integrates most of the typical components of a desktop computer, including a display, a keyboard, a pointing device and speakers into a single unit...
computers, the performance shifts more in favor of flash memory because laptop memory is more expensive than desktop memory and many laptops 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 in Vista SP1.
ReadyBoost must be used carefully on laptops, as immediately after turning on ReadyBoost, the system begins to read extensively from the hard disk. The purpose of this activity is to cache data to the flash drive. This can cause a significant slowdown of the system, so the higher power consumption caused by increased CPU and disk usage can then lead to increased heating and shorten battery life. Therefore, it is highly recommended to ensure that laptops are connected to an external power source when first initializing ReadyBoost. A cooling mat or other airflow device may also be warranted on systems which regularly operate at high temperatures.
Note
Since flash drives wear out after a finite (though very large) number of writes, ReadyBoost could eventually wear out the drive it uses—though this may take a long time, depending on various factors. According to Microsoft, the drive should be able to operate for at least ten years. As capacities rise and cost per megabyte drops, USB drives are increasingly suitable for ReadyBoost.As pointed out in Mark Russinovich
Mark Russinovich
Mark E. Russinovich is a Technical Fellow in the Platform and Services Division at Microsoft. He was a cofounder of software producers Winternals before it was acquired by Microsoft in 2006.-Early life and education:...
's Inside the Windows Vista Kernel: Part 2, ReadyBoost caches all data as it is being written to the local hard disk: "the Ecache.sys device driver intercepts all reads and writes to local hard disk volumes (C:\, for example), and copies any data being written into the caching file that the service created". Experiments show that ReadyBoost may not cache reads when Superfetch is turned off. Since random read is slow for hard disks, performance boosts can be realized when ReadyBoost has expected data from which to read. Thus, with Superfetch turned on, pre-populating data into ReadyBoost cache, the performance boost can be much higher than when Superfetch is turned off.
See also
- eBoostr is a third party ReadyBoost-like program with advanced features. It also adds ReadyBoost functionality to Windows XP which is otherwise lacking.
- DragonFly BSDDragonFly BSDDragonFly BSD is a free Unix-like operating system created as a fork of FreeBSD 4.8. Matthew Dillon, an Amiga developer in the late 1980s and early 1990s and a FreeBSD developer between 1994 and 2003, began work on DragonFly BSD in June 2003 and announced it on the FreeBSD mailing lists on July...
provides a similar feature called swapcache - Features new to Windows VistaFeatures new to Windows VistaWindows Vista has many new features compared with previous Microsoft Windows versions, covering most aspects of the operating system.This article discusses the changes most likely to be of interest to non-technical users...
- Intel Smart Response TechnologySmart Response TechnologyIn computing, Smart Response Technology is a proprietary caching mechanism introduced in 2011 by Intel for their Z68 chipset , which allows a SATA solid-state drive to function as cache for a hard disk drive.SRT is implemented in the device driver and firmware...
- ReadyDrive
- Superfetch
- Windows To GoWindows To GoWindows To Go is a feature in Windows 8 that allows the entire system to run from USB mass storage devices such as flash drives and external hard drives....
Microsoft links
- Windows 7 features: ReadyBoost
- Windows Vista: Features Explained: Windows ReadyBoost
- Windows Vista Help Page on ReadyBoost
- Windows Vista: Features Explained: Performance Features (of which ReadyBoost is one)
- Channel9 interview with Michael Fortin on ReadyBoost and other performance technologies in Windows Vista
- Section STORAGE-009 in Windows Logo Program Requirements Suite, Version 3.09
Other links
- Microsoft's Software Patent on ReadyBoost via google
- AnandTech: Windows Vista Performance Guide - ReadyBoost, ReadyBoost Performance Analysis, and Hard Drive Performance and ReadyBoost
- How to use and configure Readyboost
- In depth Tom's Hardware article with analyses of ReadyBoost and Superfetch
- How to use ReadyBoost guide with pictures
- Use any USB drive or memory card with ReadyBoost on Vista
- ReadyBoost Monitor