Vista ReadyBoostReady – Good for Linux?

At the moment it seems that about half the USB flash devices on sale are listed as “Vista ReadyBoost Ready“. I recently bought an 8G USB device that I returned because it could only sustain 4MB/s writes (not much fun for backing up 4G+ of data). So I’ve been wondering whether I should get a ReadyBoostReady device.

ReadyBoostReady only means that it is faster than other devices in some ways, it has no inherent feature difference. After some searching I found a FAQ about ReadyBoost [1] which explains what it requires.

It seems that ReadyBoost needs “2.5MB/sec throughput for 4K random reads and 1.75MB/sec throughput for 512K random writes“, which isn’t really a lot. About 5-6 years ago I was running some machines with 4 disk RAID-5 arrays that could sustain 3MB/s writes for significantly smaller block sizes (maybe 12K), given that random access is something that disks are really bad at (physical movement of the heads is required) and something that flash is good at) it gives an indication of how low the performance bar is for ReadyBoost.

I’m sure that a device which meets the minimum specs would do some good if you have a single disk that’s not overly fast. But if you have a decent RAID array for swap then I doubt that the minimum requirements for ReadyBoost would give a benefit.

As for doing bulk transfers, it seems that while ReadyBoost Ready devices will have consistent good performance across all their storage (apparently some devices perform better for the first blocks so that people who use FAT based filesystems can get good performance from their FAT) they won’t necessarily have particularly good performance for bulk IO (1.75MB/s is pitiful when you want to copy DVD images).

There are some USB flash devices that are marketted as having high performance and which are supposed to sustain >20MB/s, but I’m unlikely to find them going cheap at my local electronics store. I had hoped that ReadyBoost would be demanding enough that the ReadyBoostReady devices (which aren’t the cheapest flash devices on sale but often aren’t too expensive) would satisfy my requirements.

3 comments to Vista ReadyBoostReady – Good for Linux?

  • jldugger

    You’re ignoring a critical use case of readyboost — laptops. No RAID there. Usually. But almost every laptop has an empty SD slot. Also note that the minimum requirements are meant to exclude chips who’s speed actually *slows down* the boot process. It would be really neat if Debian could use SD or USB as mirror of the bootcache, so you could have a lightweight RAID on one of the few disk intensive laptop scenarios — booting up.

    But primarily, I think this system was designed as a way to reuse some code intended for hybrid flash-rotational disks in an amusing manner. As a measure of media performance speeds, yes, the logo is terrible. And as the site says, the best way to improve the situation is adding more RAM.

  • etbe

    jldugger: I was under the impression that ReadyBoost only persisted across a reboot if it’s on an internal device on the motherboard (which I have not seen advertised on any systems yet). If you think I’m wrong about this then please provide a reference. NB I’m not sure about this issue, I’m not claiming that you are incorrect, merely that my interpretation of the documents I have read is different.

    All the plans for hybrid flash disks of which I am aware involve the flash being contained on and managed by the disk. In that case the OS would have no involvement.

    The real solution to these problems is for Intel to stop designing bad chipsets. Currently most laptops that ship apparently are limited to <4G of RAM by the Intel chipset. If Intel had correctly designed a chipset with support for 16G of RAM then the better solution of providing adequate RAM would be available to everyone.

  • jldugger

    Sorry, I originally misinterpreted ReadyBoost, and thought I had cleaned up the post, but it seems I missed one. And failed to reinterpret your post in the new context. It appears to be a system to cache VM on removable flash media. And since not all flash is very fast, that’s where the ReadyBoostReady logo comes in. It’s not a very stringent label, as you’ve noted.

    I think the more common use case for ReadyBoost is an old laptop that can’t run their fancy window manager and have five apps open at the same time. Since these laptops have USB / SD, it simultaneously reduces seek on the disk and improves what would otherwise be a pitiful experience. Adding more RAM is a best solution here, but for many people, it’s hard, expensive or difficult to find laptop RAM and install it.

    Note that we’re not talking about situations where 3 gigabytes isn’t enough. Your workstation is far outside the norm, and you already know how to best improve it. But I stand by my statement: using SD as a bootcache would be very neat. Since most of bootup involves reading small shell scripts placed randomly on disk, caching them all in a seek irrelevant place would serve to speed up the ‘readahead’ process. Maybe put in a secret challenge on shutdown to make sure the cache isn’t inconsistent (it’s removable media, after all).

    Perhaps one could create such a scheme, and run a verification program for vendors. Call it “RocketPowerd” or something, and make the requirements fast enough to make the label mean something ;).