Introduction
The Microsoft Windows Vista operating system introduced an interesting new technology called ReadyBoost. What ReadyBoost does is make use of non-volatile flash memory to cache data from the hard drive for faster accesses. It works like virtual memory, but uses non-volatile flash memory, instead of a hard drive.
Transfer Rate |
Random Access |
|
Hard Drive | 60-70 MB/s |
12-14 ms |
Flash Memory | 10-16 MB/s |
1 ms or less |
Advantage | Hard Drive (~ 5 X) |
Flash Memory (~ 13 X) |
You may be surprised by the decision to use flash memory. After all, hard drives have a much higher transfer rate than flash memory devices. An average 7200 RPM hard drive can easily deliver data at a rate of 60-70MB/s. Flash memory devices typically max out at 10-16MB/s. Nonetheless, maximum throughput is not the reason why flash memory was chosen.
Flash memory is a non-volatile form of random access memory. Therefore, it offers very fast random access times, much faster than what hard drives can attain. ReadyBoost-capable drives, for example, have an access time of 1 ms or less. In contrast, the access time for a typical desktop hard drive is about 12-14 ms, due to the need to move the read head to the appropriate track and then wait for the platter to spin to a particular sector.
As such, ReadyBoost is not designed to do away with hard drive-based virtual memory. Rather, it's designed to complement the hard drive by offering faster random accesses. With a ReadyBoost device installed, Windows Vista will benefit from faster random accesses while still using the hard drive for large sequential reads.
How It Works
When a ReadyBoost device is available, Windows Vista stores virtual memory pages in both hard drive and the flash memory device. When there are large, sequential virtual memory reads, Windows Vista still retrieves the requested pages from the hard drive. However, small, random reads are now satisfied by reading from the ReadyBoost device instead. This allows for faster data accesses without losing out on the high throughput the hard drive can provide.
The duplication of data on both hard drive and ReadyBoost device also ensures that there is no loss of data. You can pull out the flash memory device out at any time. Windows Vista automatically falls back to the hard drive.
There are two key differences in the virtual memory pages stored on the hard drive and the ReadyBoost device. Data stored in the hard drive's paging file are neither encrypted nor compressed. However, the data cached in the ReadyBoost device will be encrypted and compressed on the fly.
The encryption is necessary because the ReadyBoost device can be removed at any time. Therefore, the data is not scrubbed off the device before it's removed. To prevent any security issues from the stored data, Microsoft encrypts it on the fly with 128-bit AES encryption.
The data is also compressed to increase the amount of data that can be stored in the ReadyBoost device. Windows Vista currently supports flash devices from 256MB up to 4GB. The average data compression is said to double the capacity of the device, so if you use a 1GB flash drive, Windows Vista should be able to store about 2GB of data on it.