ReadyBoost

From Wikipedia, the free encyclopedia
  (Redirected from Readyboost)
Jump to: navigation, search

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.

Contents

[edit] Overview

Using ReadyBoost-capable flash memory (NAND memory devices) for caching allows Windows 7 and Vista to service random disk reads with performance that is typically 80-100 times faster than random reads from traditional hard drives[citation needed]. 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.[1] 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.[2] 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 is 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.[3]

According to Jim Allchin, for future releases of Windows, ReadyBoost will be able to use spare RAM on other networked Windows PCs.[4]

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 Vista x86 & x86-64 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,[5] with up to 32 GB on a single storage device.[6]
  • 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.[7]

Windows Vista and Windows 7 include a command-line utility called "WinSAT.exe" (standing for Windows System Assessment Tool) to test the performance of random read and write speeds. For a standard Windows installation, it can be found in a sub-directory of C:\Windows\winsxs. 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.[8]

Other considerations:

  • Vista SP1's ReadyBoost supports NTFS, FAT16 and FAT32. Windows 7 also supports the new exFAT 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 ReadyBoost algorithm 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 mounted and assigned a drive letter. 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 allows formatting as NTFS.[9]

ReadyBoost is not available on Windows Server 2008.[10]

[edit] Performance

A system with 512 MB of RAM (the minimum requirement for Windows Vista) can see significant gains from ReadyBoost.[11][12] 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).[13] System performance with ReadyBoost can be monitored by Windows Performance Monitor.[14]

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.[15]

ReadyBoost must be used carefully on laptops, since the system will preload the flash drive in the background, consuming more power and generating more heat than it would otherwise (due to CPU, hard disk, and flash operations). Therefore, it is recommended that laptops be connected to an external power source when using ReadyBoost. A cooling mat or other airflow device may address any heat concerns.[citation needed]

[edit] 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.[1] As capacities rise and cost per megabyte drops, USB drives are increasingly suitable for ReadyBoost.

As pointed out in Mark Russinovich's Inside the Windows Vista Kernel: Part 2,[3] 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.[citation needed]

[edit] See also

[edit] References

  1. ^ a b Archer, Tom; Ayers, Matt (2006-06-02). "ReadyBoost Q&A". Tom Archer's Blog. MSDN Blogs. http://blogs.msdn.com/tomarcher/archive/2006/06/02/615199.aspx. Retrieved 2008-01-11. 
  2. ^ Tom Archer (April 14, 2006). "ReadyBoost - Using Your USB Key to Speed Up Windows Vista". Tom Archer's Blog. Microsoft. http://blogs.msdn.com/tomarcher/archive/2006/04/14/576548.aspx. Retrieved 2006-05-21. 
  3. ^ a b Mark Russinovich (March 2007). "Inside the Windows Vista Kernel: Part 2". TechNet Magazine. Microsoft. http://www.microsoft.com/technet/technetmag/issues/2007/03/VistaKernel/default.aspx. Retrieved 2007-03-01. 
  4. ^ "Jim Allchin". 23 May 2006. Archived from the original on 2006-12-10. http://web.archive.org/web/20061210044656/http://hive.net/Member/blogs/the_insider/archive/2006/05/23/15378.aspx. Retrieved 2006-11-01. 
  5. ^ Microsoft Windows. "Windows 7 features - ReadyBoost - Microsoft Windows". http://windows.microsoft.com/en-US/windows7/products/features/readyboost. Retrieved 2009-09-22. 
  6. ^ Microsoft Windows. "Using memory in your storage device to speed up your computer". http://windows.microsoft.com/en-US/windows7/Using-memory-in-your-storage-device-to-speed-up-your-computer. Retrieved 2012-01-04. 
  7. ^ Ed Bott, ZDNet. "Is your flash drive fast enough for Vista's ReadyBoost?". http://www.zdnet.com/blog/bott/is-your-flash-drive-fast-enough-for-vistas-readyboost/186. Retrieved 2012-01-04. 
  8. ^ http://www.zdnet.com/photos/gallery-readyboost-and-flash-drives/41329?seq=5&tag=photo-frame;get-photo-roto
  9. ^ How can I format my USB drive as NTFS?: The Old New Thing
  10. ^ Russinovich, Mark (March 2008). "Inside Windows Server 2008 Kernel Changes". Microsoft. http://technet.microsoft.com/en-us/magazine/cc194386.aspx. Retrieved 2009-05-10. 
  11. ^ AnandTech: Windows Vista Performance Guide
  12. ^ Schmid, Patrick. "Windows Vista's SuperFetch and ReadyBoost Analyzed: Conclusion." Toms Hardware. 2007-01-31.
  13. ^ AnandTech: Windows Vista Performance Guide
  14. ^ Schultz, Greg. "Keep tabs on ReadyBoost with Windows 7's Performance Monitor." TechRepublic. 2010-03-24.
  15. ^ Vista SP1 will fix critical ReadyBoost performance bug
  16. ^ Dillon, Matthew (March 2010). "DragonFly On-Line Manual Pages : swapcache()". DragonFly BSD. http://leaf.dragonflybsd.org/cgi/web-man/?command=swapcache&section=ANY/cc194386.aspx. Retrieved 2010-02-10. 

[edit] External links

[edit] Microsoft links

[edit] Other links

Personal tools
Namespaces
Variants
Actions
Navigation
Interaction
Toolbox
Print/export
Languages