ReadyBoost explained
ReadyBoost (codenamed EMD[1]) is a disk caching software component developed by Microsoft for Windows Vista and included in later versions of Windows. ReadyBoost enables NAND memory mass storage CompactFlash, SD card, and USB flash drive devices to be used as a cache between the hard drive and random access memory in an effort to increase computing performance. ReadyBoost relies on the SuperFetch and also adjusts its cache based on user activity. ReadyDrive for hybrid drives is implemented in a manner similar to ReadyBoost.[2]
Overview
Using ReadyBoost-capable flash memory (NAND memory devices) 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. USB flash devices typically are faster than mechanical hard disks for random access, and slower than mechanical hard disks for sequential access. Gaining the benefit of caching implies that ReadyBoost will access the flash memory for random bits of data. Accordingly, ReadyBoost includes logic that recognizes large, sequential read requests and has the hard disk service these requests instead.[3]
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.[4] The minimum cache size is 250 MB. In Vista or with FAT32 formatting of the drive, the maximum is 4 GB. In Windows 7 or later 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.[5]
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.[6]
Requirements
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 7 reports in its Event Log a required minimum of 235 MB).
- Windows 7 allows up to eight devices for a maximum of 256 GB of additional memory,[7] with up to 32 GB on a single storage device.[8]
- 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.[9]
- The Microsoft Windows Client Performance group recommends a flash-memory-to-system-RAM ratio of between 1:1 and 2.5:1.
Other considerations:
- Vista's ReadyBoost supports NTFS, FAT16, and FAT32 from SP1 onwards. Windows 7 also supports the newer exFAT file system. As the ReadyBoost cache is stored as a file, the flash drive must be formatted as FAT32, NTFS, or exFAT in order to have a cache size greater than FAT16's 2 GB filesize limit; if the desired cache size is 4 GB (the FAT32 filesize limit) or larger, the drive must be formatted as NTFS or exFAT. The performance differences between these file systems are negligible with ReadyBoost.
- The initial release of ReadyBoost for Windows Vista supported one device. Windows 7 supports multiple flash drives for ReadyBoost, so performance improvement similar to RAID 0 can be expected.
- The ReadyBoost algorithm was 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 on the root directory of the drive rather than using the flash memory without a file system, the file system must be mounted. The ReadyBoost cache is created on the root directory of the drive.
- If the system drive (the primary drive, with Windows system files on it) is a solid-state drive (SSD), ReadyBoost is disabled, since reading from that drive would be at least as fast as reading from the ReadyBoost drive.[10]
- 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."[6] SuperFetch pre-populates frequently-read data into ReadyBoost cache, so SuperFetch is necessary for ReadyBoost to perform well.[11]
- ReadyBoost is not compatible with portable media devices such as mobile phones or cameras, or other devices with emulated storage.
ReadyBoost is not available on Windows Server 2008.[12] Since version 22H2, Microsoft removed ReadyBoost in Windows 11.[13]
Performance
A system with 512 MB of RAM (the minimum requirement for Windows Vista) can see significant gains from ReadyBoost.[14] [15] 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 (RAM) from 512 MB to 1 GB (without ReadyBoost) reduced it to 0.8 seconds.[16] System performance with ReadyBoost can be monitored by Windows Performance Monitor.[17] 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 (e.g. a USB flash drive or an SSD) 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 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 (IEEE 1394) 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.[18]
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 the original release of Windows Vista, 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.[19]
Limitations
Since flash drives wear out after a finite (though very large) 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.
See also
External links
Notes and References
- Web site: SuperFetch, ReadyBoost and ReadyDrive: some new feature names for you . Moulster . Ian . April 6, 2006 . . MSDN Blogs . July 11, 2015.
- Web site: Windows Vista Kernel Changes . Russinovich . Mark . Mark Russinovich . 2007 . Microsoft . https://web.archive.org/web/20070912235324/http://download.microsoft.com/download/a/f/d/afdfd50d-6eb9-425e-84e1-b4085a80e34e/SYS-T512_WH07.pptx . September 12, 2007 . PPTX . July 12, 2015.
- Web site: https://web.archive.org/web/20061225063233/http://blogs.msdn.com/tomarcher/archive/2006/06/02/615199.aspx . 2006-12-25 . ReadyBoost Q&A . 2023-04-17 . Archer . Tom . Ayers, Matt . 2006-06-02 . Tom Archer's Blog . .
- Web site: ReadyBoost - Using Your USB Key to Speed Up Windows Vista . April 14, 2006 . 2006-05-21 . Tom Archer . Tom Archer's Blog . Microsoft.
- Web site: Windows 7 RTM ReadyBoost 256 GB of Memory Cache Support . October 12, 2009 . 2013-01-09 . Marius Oiaga . SOFTPEDIA . SoftNews NET SRL.
- Web site: Inside the Windows Vista Kernel: Part 2. March 2007. 2007-03-01. Mark Russinovich. Mark Russinovich. TechNet Magazine. Microsoft.
- Web site: Windows 7 features - ReadyBoost - Microsoft Windows. Microsoft Windows. 2009-09-22.
- Web site: Using memory in your storage device to speed up your computer. Microsoft Windows. 2012-01-04.
- Web site: Is your flash drive fast enough for Vista's ReadyBoost?. Ed Bott, ZDNet. ZDNet. 2012-01-04.
- TechNet Magazine. Understand ReadyBoost and whether it will Speed Up your System. Microsoft. 2012-12-14.
- Web site: ReadyBoost - Robbie's Benchmark. 14 April 2012. 17 October 2014.
- Web site: Inside Windows Server 2008 Kernel Changes. Russinovich. Mark. Mark Russinovich. Microsoft. March 2008. 2009-05-10.
- Web site: Readyboost tab missing after 22h2 update - Microsoft Community.
- Web site: Windows Vista Performance Guide. Smith. Ryan. www.anandtech.com. 2019-03-13.
- Schmid, Patrick. "Windows Vista's SuperFetch and ReadyBoost Analyzed: Conclusion." Toms Hardware. 2007-01-31.
- http://www.anandtech.com/systems/showdoc.aspx?i=2917&p=6 AnandTech: Windows Vista Performance Guide
- Schultz, Greg. "Keep tabs on ReadyBoost with Windows 7's Performance Monitor." TechRepublic. 2010-03-24.
- Web site: June 2010 . WD Scorpio Blue Mobile: Drive Specifications . . 15 January 2011 . dead . https://web.archive.org/web/20110105162632/http://www.wdc.com/en/products/products.aspx?id=140 . 5 January 2011 .
- Web site: Vista SP1 will fix critical ReadyBoost performance bug. Zheng. Long. 2007-07-09. istartedsomething. en-US. 2019-03-13.