ReadyBoost

Last updated
ReadyBoost
Developer(s) Microsoft
Operating system Microsoft Windows
Service nameReadyBoost (EMDMgmt)
Type Disk Cache

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]

Contents

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:

Other considerations:

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

See also

Related Research Articles

New Technology File System (NTFS) is a proprietary journaling file system developed by Microsoft. Starting with Windows NT 3.1, it is the default file system of the Windows NT family. It superseded File Allocation Table (FAT) as the preferred filesystem on Windows and is supported in Linux and BSD as well. NTFS reading and writing support is provided using a free and open-source kernel implementation known as NTFS3 in Linux and the NTFS-3G driver in BSD. By using the convert command, Windows can convert FAT32/16/12 into NTFS without the need to rewrite all files. NTFS uses several files typically hidden from the user to store metadata about other files stored on the drive which can help improve speed and performance when reading data. Unlike FAT and High Performance File System (HPFS), NTFS supports access control lists (ACLs), filesystem encryption, transparent compression, sparse files and file system journaling. NTFS also supports shadow copy to allow backups of a system while it is running, but the functionality of the shadow copies varies between different versions of Windows.

File Allocation Table (FAT) is a file system developed for personal computers and was the default filesystem for MS-DOS and Windows 9x operating systems. Originally developed in 1977 for use on floppy disks, it was adapted for use on hard disks and other devices. The increase in disk drives capacity required four major variants: FAT12, FAT16, FAT32, and ExFAT. FAT was replaced with NTFS as the default file system on Microsoft operating systems starting with Windows XP. Nevertheless, FAT continues to be used on flash and other solid-state memory cards and modules, many portable and embedded devices because of its compatibility and ease of implementation.

A RAM drive is a block of random-access memory that a computer's software is treating as if the memory were a disk drive. RAM drives provide high-performance temporary storage for demanding tasks and protect non-volatile storage devices from wearing down, since RAM is not prone to wear from writing, unlike non-volatile flash memory. They are in a sense the reverse of virtual memory: RAM drive uses a volatile fast memory as if it's a nonvolatile slow memory. Virtual memory is the opposite.

<span class="mw-page-title-main">CompactFlash</span> Memory card format

CompactFlash (CF) is a flash memory mass storage device used mainly in portable electronic devices. The format was specified and the devices were first manufactured by SanDisk in 1994.

<span class="mw-page-title-main">SD card</span> Type of memory storage for portable devices

Secure Digital, officially abbreviated as SD, is a proprietary, non-volatile, flash memory card format the SD Association (SDA) developed for use in portable devices.

<span class="mw-page-title-main">USB flash drive</span> Data storage device

A flash drive is a data storage device that includes flash memory with an integrated USB interface. A typical USB drive is removable, rewritable, and smaller than an optical disc, and usually weighs less than 30 g (1 oz). Since first offered for sale in late 2000, the storage capacities of USB drives range from 8 to 256 gigabytes (GB), 512 GB and 1 terabyte (TB). As of 2023, 2 TB flash drives were the largest currently in production. Some allow up to 100,000 write/erase cycles, depending on the exact type of memory chip used, and are thought to physically last between 10 and 100 years under normal circumstances.

The Xbox Development Kit (XDK) is a software development kit created by Microsoft used to write software for the 2001 Xbox gaming system. The XDK includes libraries, a compiler, and various tools used to create software for the Xbox. The XDK has the option to integrate itself into Microsoft Visual Studio 2002 or 2003. This is needed if one wants to develop applications or games for the Xbox. The XDK also includes a tool to record in-game footage, which has been widely used to create high-quality screenshots and trailers.

<span class="mw-page-title-main">File system</span> Computer filing system

In computing, a file system or filesystem governs file organization and access. A local file system is a capability of an operating system that services the applications running on the same computer. A distributed file system is a protocol that provides file access between networked computers.

<span class="mw-page-title-main">USB mass storage device class</span> USB device class for drives

The USB mass storage device class is a set of computing communications protocols, specifically a USB Device Class, defined by the USB Implementers Forum that makes a USB device accessible to a host computing device and enables file transfers between the host and the USB device. To a host, the USB device acts as an external hard drive; the protocol set interfaces with a number of storage devices.

In computing, a hybrid drive is a logical or physical storage device that combines a faster storage medium such as solid-state drive (SSD) with a higher-capacity hard disk drive (HDD). The intent is adding some of the speed of SSDs to the cost-effective storage capacity of traditional HDDs. The purpose of the SSD in a hybrid drive is to act as a cache for the data stored on the HDD, improving the overall performance by keeping copies of the most frequently used data on the faster SSD drive.

The NSLU2 is a network-attached storage (NAS) device made by Linksys introduced in 2004 and discontinued in 2008. It makes USB flash memory and hard disks accessible over a network using the SMB protocol. It was superseded mainly by the NAS200 and in another sense by the WRT600N and WRT300N/350N which both combine a Wi-Fi router with a storage link.

The Prefetcher is a component of Microsoft Windows which was introduced in Windows XP. It is a component of the Memory Manager that can speed up the Windows boot process and shorten the amount of time it takes to start up programs. It accomplishes this by caching files that are needed by an application to RAM as the application is launched, thus consolidating disk reads and reducing disk seeks. This feature was covered by US patent 6,633,968.

<span class="mw-page-title-main">BitLocker</span> Disk encryption software for Microsoft Windows

BitLocker is a full volume encryption feature included with Microsoft Windows versions starting with Windows Vista. It is designed to protect data by providing encryption for entire volumes. By default, it uses the Advanced Encryption Standard (AES) algorithm in cipher block chaining (CBC) or "xor–encrypt–xor (XEX)-based Tweaked codebook mode with ciphertext Stealing" (XTS) mode with a 128-bit or 256-bit key. CBC is not used over the whole disk; it is applied to each individual sector.

Windows Vista introduced a number of new I/O functions to the Microsoft Windows line of operating systems. They are intended to shorten the time taken to boot the system, improve the responsiveness of the system, and improve the reliability of data storage.

<span class="mw-page-title-main">Microsoft Drive Optimizer</span> Windows utility which defragments a hard drive

Microsoft Drive Optimizer is a utility in Microsoft Windows designed to increase data access speed by rearranging files stored on a disk to occupy contiguous storage locations, a technique called defragmentation. Microsoft Drive Optimizer was first officially shipped with Windows XP.

exFAT is a file system introduced by Microsoft in 2006 and optimized for flash memory such as USB flash drives and SD cards. exFAT was proprietary until 28 August 2019, when Microsoft published its specification. Microsoft owns patents on several elements of its design.

<span class="mw-page-title-main">Solid-state drive</span> Computer storage device with no moving parts

A solid-state drive (SSD) is a solid-state storage device. It provides persistent data storage using no moving parts. It is sometimes called semiconductor storage device or solid-state device. It is also called solid-state disk because it is frequently interfaced to a host system in the same manner as a hard disk drive (HDD).

<span class="mw-page-title-main">Disk buffer</span>

In computer storage, a disk buffer is the embedded memory in a hard disk drive (HDD) or solid-state drive (SSD) acting as a buffer between the rest of the computer and the physical hard disk platter or flash memory that is used for storage. Modern hard disk drives come with 8 to 256 MiB of such memory, and solid-state drives come with up to 4 GB of cache memory.

Windows Vista has many significant new features compared with previous Microsoft Windows versions, covering most aspects of the operating system.

Flashcache is a disk cache component for the Linux kernel, initially developed by Facebook since April 2010, and released as open source in 2011. Since January 2013, there is a fork of Flashcache, named EnhanceIO and developed by sTec, Inc. Since 2015 that fork became unmaintained and it was forked again and maintained by individuals.

References

  1. Moulster, Ian (April 6, 2006). "SuperFetch, ReadyBoost and ReadyDrive: some new feature names for you". MSDN Blogs. Microsoft . Retrieved July 11, 2015.
  2. Russinovich, Mark (2007). "Windows Vista Kernel Changes". Microsoft. Archived from the original (PPTX) on September 12, 2007. Retrieved July 12, 2015.
  3. 1 2 3 Archer, Tom; Ayers, Matt (2006-06-02). "ReadyBoost Q&A". Tom Archer's Blog. MSDN Blogs. Archived from the original on 2006-12-25. Retrieved 2023-04-17.
  4. Tom Archer (April 14, 2006). "ReadyBoost - Using Your USB Key to Speed Up Windows Vista". Tom Archer's Blog. Microsoft. Retrieved 2006-05-21.
  5. Marius Oiaga (October 12, 2009). "Windows 7 RTM ReadyBoost 256 GB of Memory Cache Support". SOFTPEDIA. SoftNews NET SRL. Retrieved 2013-01-09.
  6. 1 2 Mark Russinovich (March 2007). "Inside the Windows Vista Kernel: Part 2". TechNet Magazine. Microsoft. Retrieved 2007-03-01.
  7. 1 2 "Understand ReadyBoost and whether it will Speed Up your System". TechNet Magazine . Microsoft. Retrieved 2012-12-14.
  8. Microsoft Windows. "Windows 7 features - ReadyBoost - Microsoft Windows" . Retrieved 2009-09-22.
  9. Microsoft Windows. "Using memory in your storage device to speed up your computer" . Retrieved 2012-01-04.
  10. Ed Bott, ZDNet. "Is your flash drive fast enough for Vista's ReadyBoost?". ZDNet . Retrieved 2012-01-04.
  11. "ReadyBoost - Robbie's Benchmark". 14 April 2012. Retrieved 17 October 2014.
  12. Russinovich, Mark (March 2008). "Inside Windows Server 2008 Kernel Changes". Microsoft. Retrieved 2009-05-10.
  13. "Readyboost tab missing after 22h2 update - Microsoft Community".
  14. Smith, Ryan. "Windows Vista Performance Guide". www.anandtech.com. Retrieved 2019-03-13.
  15. Schmid, Patrick. "Windows Vista's SuperFetch and ReadyBoost Analyzed: Conclusion." Toms Hardware. 2007-01-31.
  16. AnandTech: Windows Vista Performance Guide
  17. Schultz, Greg. "Keep tabs on ReadyBoost with Windows 7's Performance Monitor." Archived 2013-09-26 at the Wayback Machine TechRepublic. 2010-03-24.
  18. "WD Scorpio Blue Mobile: Drive Specifications". Western Digital. June 2010. Archived from the original on 5 January 2011. Retrieved 15 January 2011.
  19. Zheng, Long (2007-07-09). "Vista SP1 will fix critical ReadyBoost performance bug". istartedsomething. Retrieved 2019-03-13.