Posts tagged Tips
Windows ReadyBoost
Dec 28th
Windows ReadyBoost
Adding system memory (typically referred to as RAM) is often the best way to improve a PC’s performance, since more memory means more applications are ready to run without accessing the hard drive. However, upgrading memory can be difficult and costly, and some machines have limited memory expansion capabilities, making it impossible to add RAM.
Windows Vista introduces Windows ReadyBoost, a new concept in adding memory to a system. You can use non-volatile flash memory, such as that on a universal serial bus (USB) flash drive, to improve performance without having to add additional memory “under the hood.”
The flash memory device serves as an additional memory cache—that is, memory that the computer can access much more quickly than it can access data on the hard drive. Windows ReadyBoost relies on the intelligent memory management of Windows SuperFetch and can significantly improve system responsiveness.
It’s easy to use Windows ReadyBoost. When a removable memory device such as a USB flash drive or a secure digital (SD) memory card is first inserted into a port, Windows Vista checks to see if its performance is fast enough to work with Windows ReadyBoost. If so, you are asked if you want to use this device to speed up system performance. You can choose to allocate part of a USB drive’s memory to speed up performance and use the remainder to store files.
Extra Details:
If there is one thing that can really help applications on Windows Vista run better, it’s memory. When comparing the performance of Windows XP and Windows Vista on a PC with 1 GB of main memory, Windows Vista is generally comparable to Windows XP or faster. However, we also know that in some cases, on PCs with 512 MB of main memory, applications on Windows XP may seem more responsive. Why? Mostly because the features in Windows Vista use a bit more memory to do the things that make it so cool, like indexing your data, keeping the fancier AERO UI running using the desktop window manager (DWM), etc. The less memory in your machine, the more often the OS must randomly access the disk. This slows system performs in cases where your applications just barely fit in memory on Windows XP but not quite in Windows Vista.
We redesigned the memory manager in Windows Vista so that if you give the system more memory, it uses that memory much more efficiently than previous operating systems via a technique called SuperFetch — part of Windows Vista’s intelligent heuristic memory management system. And so Windows Vista on a PC with even more than 1 GB of primary memory (say 2 GB) will generally outperform Windows XP on that same machine — especially once you have been using the machine for some time because Windows Vista learns what you do the most often and optimizes for this.
While I fully expect the generation of PCs that ship with Windows Vista to include more memory, we also know that many existing PCs have 512 MB. While memory has gotten much less expensive, many (non-geek) people I know are just not comfortable opening up their PC and installing more memory. While there are some great PC shops that will do this for you, a lot of people may not want to bother. Well with Windows ReadyBoost, if you have a flash drive (like a USB thumb drive or an SD card) you can just use this to make your computer run better with Windows Vista. You simply plug in a flash drive and Windows Vista will use Windows ReadyBoost to utilize the flash memory to improve performance.
I should be clear that while flash drives do contain memory, Windows ReadyBoost isn’t really using that memory to increase the main system RAM in your computer. Instead, ReadyBoost uses the flash drive to store information that is being used by the memory manager. If you are running a lot of applications on a system that has limited memory, Windows ReadyBoost will use the flash drive to create a copy of virtual memory that is not quite as fast as RAM, but a whole lot faster than going to the hard disk. What is very cool here is that there is nothing stored on this flash disk that isn’t also on the hard disk, so if you remove the flash drive, the memory manager sees the change and automatically goes to the hard disk. While the performance gain from ReadyBoost is gone, you don’t lose any data and there is no interruption. And because the Windows Readyboost cache on the flash drive is encrypted using AES-128, you don’t need to worry about exposing sensitive data if the flash drive is stolen or lost. Also, the memory manager compresses the pages before writing them into the cache on the flash disk, which means you’ll get more mileage from each MB.
So, if you just want your PC to run faster with Windows Vista — it’s pretty simple — connect your flash drive through any USB 2.0 socket or PCI interface and when the autoplay interface comes up, choose “Speed up my system using ReadyBoost.” You need to have at least 230 MB free on the flash drive and some flash disks are not fast enough to support Windows ReadyBoost, although you’ll be told if that’s the case.
ReadyBoost FAQ
Q: What perf do you need on your device?
A: 2.5MB/sec throughput for 4K random reads and 1.75MB/sec throughput for 512K random writes
Q: My device says 12MB/sec (or 133x or something else) on the package but windows says that it isn’t fast enough to use as a ReadyBoost device… why?
A: Two possible reasons:
The numbers measure sequential performance and we measure random. We’ve seen devices that have great sequential perf, but horrible random
The performance isn’t consistantly fast across the entire device. Some devices have 128M of lightning fast flash and the rest of the device is really slow. This is fine for some applications but not ReadyBoost.
Q: What’s the largest amount of flash that I can use for ReadyBoost?
A: You can use up to 4GB of flash for ReadyBoost (which turns out to be 8GB of cache w/ the compression)
Q: Why can’t I use more than 4GB of flash?
A: The FAT32 filesystem limits our ReadyBoost.sfcache file to 4GB
Q: What’s the smallest ReadyBoost cache that I can use
A: The smallest cache is 256MB (well, 250 after formatting). Post beta2, we may drop it another 10 MB or so.
Q: Ok… 256M-4GB is a pretty big range… any recommendations?
A: Yes. We recommend a 1:1 ratio of flash to system memory at the low end and as high as 2.5:1 flash to system memory. Higher than that and you won’t see much benefit.
Q: Isn’t this just putting the paging file onto a flash disk?
A: Not really – the file is still backed on disk. This is a cache – if the data is not found in the ReadyBoost cache, we fall back to the HDD.
Q: Aren’t Hard Disks faster than flash? My HDD has 80MB/sec throughput.
A: Hard drives are great for large sequential I/O. For those situations, ReadyBoost gets out of the way. We concentrate on improving the performance of small, random I/Os, like paging to and from disk.
Q: What happens when you remove the drive?
A: When a surprise remove event occurs and we can’t find the drive, we fall back to disk. Again, all pages on the device are backed by a page on disk. No exceptions. This isn’t a separate page file store, but rather a cache to speed up access to frequently used data.
Q: Isn’t user data on a removable device a security risk?
A: This was one of our first concerns and to mitigate this risk, we use AES-128 to encrypt everything that we write to the device.
Q: Won’t this wear out the drive?
A: Nope. We’re aware of the lifecycle issues with flash drives and are smart about how and when we do our writes to the device. Our research shows that we will get at least 10+ years out of flash devices that we support.
Q: Can use use multiple devices for EMDs?
A: Nope. We’ve limited Vista to one ReadyBoost per machine
Q: Why just one device?
A: Time and quality. Since this is the first revision of the feature, we decided to focus on making the single device exceptional, without the difficulties of managing multiple caches. We like the idea, though, and it’s under consideration for future versions.
Q: Do you support SD/CF/memory stick/MMC/etc.?
A: Mostly. In beta2, we added support for a small number of SD/CF cards on internal USB2 & PCIe busses. RC1 has a much broader support range.
Q: Why don’t you support SD on my USB2.0 external card reader?
A: We unfortunately don’t support external card readers – there were some technical hurdles that we didn’t have time to address. In general, if a card reader shows a drive without media in it (like a floppy drive or CD ROM does), we can’t use it for ReadyBoost.
Q: Will it support all USB drives, regardless of how they are ID’d to the OS (“hard disk drive” or “Device with Removable Storage”)?
A: We have no way to tell what is on the other end of a USB cable so we do some basic size checks (since no one has a 200GB flash device
) and then perform our speed tests. HDD will not, however, pass our speed tests, and there is no benefit to using a USB HDD for ReadyBoost.
Q: Can you use an mp3 player to speed up your system?
A: Not currently. MP3 players use the ‘plays for sure’ interfaces to expose themselves to Windows. We require that the device appear as a disk volume. These aren’t currently compatible.
Q: How much of a speed increase are we talking about?
A: Well, that depends. On average, a RANDOM 4K read from flash is about 10x faster than from HDD. Now, how does that translate to end-user perf? Under memory pressure and heavy disk activity, the system is much more responsive; on a 4GB machine with few applications running, the ReadyBoost effect is much less noticable.
Q: I can’t get my device to work with ReadyBoost… can I lower the perf requirements?
A: Unfortunately, no. We’ve set the perf requirements to the lowest possible throughput that still makes your system faster. If we lowered the perf requirements, then there wouldn’t be a noticeable benefit to using ReadyBoost. Remember, we’re not adding memory, we’re improving disk access.
Q: Which manufacturers support ReadyBoost?
A: Well, I hope that all of them do, eventually. Right now, we’re working with manufacturers to create a program that will allow them to identify ReadyBoost capable devices on their packaging.







