Windows Readyboost purpose

I am getting mixed answers on google. This is what my idea of readyboost is:

Windows logs your most used files/apps.
They make a mirror of these files on the flash drive
Whenever you are opening the app or file, some of it is loaded into ram from the flash drive and some of it is loaded from the hdd.


Another question I have is that is pagefiling also stored on the readyboost flash drive and does that see a bigger performance gain?
Also is it caching constantly (I dont want to wear out the lifespan of mu flashdrive)
And just to make sure: Windows does not use my flash drive as addition ram, it uses it for caching.


You are confusing SuperFetch with ReadyBoost. Here is a good article explaining SuperFetch.

ReadyBoost is different. ReadyBoost uses SuperFetch technology to cache files to flash media for faster reads times. Does it increase performance? Yes, however it is only noticeable in low memory systems. Modern computers have more than enough RAM and fast disks, that there is little benefit from using a ReadyBoost dedicated disk.

However, if you have a spare old flash drive lying around (most people computer people do) that will support ReadyBoost, then there is no reason not to put it in a spare USB port. The benefits will be minuscule, but what else would you do with a spare drive? I have an old 512MB flash drive on my machine running ReadyBoost. Using PerfMon I can see it gets the occasional ReadyBoost cache hit, so I know its working, even though its really not doing much of anything.

I would not put a pagefile on a ReadyBoost drive. ReadyBoost should only be allowable on removable flash media, such as USB thumb drives. If your pagefile is on one of these drives, then your performance will be degraded by the bottleneck of the USB bus. However, an internal SSD is a great place to put your pagefile. Microsoft even recommends this.

As for wearing out your drive... This is a technical pet peeve of mine... I just dont understand people's fear of this. You bought the drive to use. If you are afraid of wearing it out, then you shouldnt have bought it. Its the "we dont use the guest towels" syndrome.

Finally, you are correct. Windows does not use your flash drive as RAM. Caching is a more efficient use of flash media, since it is nowhere near as fast as RAM. Although you technically could do this with RAM disk software, it would actually degrade your system's performace.


@agz at the start you are almost completely correct. In your second paragraph, it is entirely possible that all of a file is loaded from the flash drive. (On the other hand, it is very possible to open a file and not even try to read all of it... this is often the case with large code files, like exe's and dll's.)

Re the pagefile, the pagefile is never cached to the ReadyBoost device.

I'm afraid that both Keltari and Thomas are incorrect.

As of Windows 7 and later, ReadyBoost is not a separate implementation of file caching from SuperFetch. If enabled, ReadyBoost simply provides additional storage space for SuperFetch to use. SuperFetch will generally use this before it uses RAM.

But whether ReadyBoost is enabled or not, SuperFetch does what it always does, which is to try to cache frequently- and recently-used files (not just exe's and dll's).

(Let me be plainer about that last: The assertion that SuperFetch only caches exe's and dll's is incorrect.)

But not the pagefile. The pagefile will never be cached by SuperFetch. (Think: The pagefile contains data that was evicted from RAM because it was deemed of less importance than other stuff that needs RAM. So why would SuperFetch ever decide to read it back into RAM? The memory manager already decided to put it in the pagefile.)

Therefore pagefile contents will not be cached to a ReadyBoost drive, because ReadyBoost never caches anything that SuperFetch won't; ReadyBoost does not have its own "what to cache?" algorithms. ReadyBoost simply provides space for SuperFetch to use.

Another reason that SuperFetch, and therefore ReadyBoost, won't cache the pagefile: SuperFetch does not cache files that are currently open for writing. Its purpose is to cache files that are "read-mostly". The pagefile may be being written to constantly. So there is never an opportunity to snapshot it, or a part of it, to another cache device. The cache would have to be updated every time the real file was, and there is no mechanism for that for any file.

Nor will Windows allow you to create a pagefile on a USB drive. Reason: If Windows needed to read pagefile contents from a USB drive, and someone had pulled the USB drive from its port, there would be no other place to get that data. Windows would have to crash, just as it does on any other page read attempt from a failing drive.

(If you want to give your pagefile SSD-like speed, but you can't afford to make your entire system drive an SSD, buy a small cheap SSD like 16 GB or so and put your pagefile on that.)