3

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.

3 Answers 3

2

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.

4
  • 1
    So is wikipedia off? 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. Flash devices typically are slower than a mechanical hard disk for sequential I/O, so, to maximize performance, ReadyBoost includes logic that recognizes large, sequential read requests and has the hard disk service these requests.
    – agz
    Apr 29, 2013 at 8:56
  • I think the OP's description is accurate. Superfetch analyzes usage patterns and stores frequently used executables in a RAM memory cache for quick access. Readyboost analyzes usage patterns and stores frequently used files in a NAND flash memory cache for quick access. Readyboost is roughly the home-made equivalent of a hybrid HDD.
    – Thomas
    Mar 21, 2014 at 16:50
  • @Thomas Except that it is not really the equivalent. A hybrid SSD doesn't have a slow USB bus sitting in between the FLASH chip and the hard drive platters, no? The part about readyboost that I still do not get is the USB bus being the bottleneck. Access to the hard drive will always be faster because it is (almost always) connected via SATA interface - faster than USB 2.0. The only exception would perhaps be USB 3.0? What am I missing here?
    – dtmland
    Apr 17, 2014 at 19:32
  • 1
    @dtmland SATA2 can support up to 6GBps data rates, but no spinning disk can read or write data fast enough to use all 6. If you run winsat diskformal on your HDD you'll probably get random read rates around 1.5 MBps. This is just a physical limitation in how fast the platters spin and the read arm can move. A decent USB 2.0 flash drive can max out the 480 mbps (60 MBps) that your USB bus can handle, which gives you random reads about equal to or slightly lower than your hard drives sequential read speeds. Slower than an SSD or true hybrid, but much faster than a regular HDD.
    – Thomas
    Apr 17, 2014 at 22:56
1

@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.)

0

As Keltari said, ReadyBoost leverages the SuperFetch technology to cache files and improve performance. SuperFetch by itself analyzes usage patterns and caches copies of your frequently used executables (and libraries) into RAM for quicker access than reading them from the hard drive - this works because RAM is a LOT faster than a hard drive. ReadyBoost analyzes usage patterns and stores some frequently used files (not just executables and libraries) on your ReadyBoost flash drive (and not in RAM). ReadyBoost works because USB Flash memory is a lot faster than a hard drive for certain kinds of operations.

Hard disk drives work by storing data on a hard (versus a floppy) spinning magnetic disk called a platter, and reading or writing that data using a little magnetic needle that sits on an arm that swings over the top of the disk. If the data you need to read is all in a row, known as sequential data, then your hard disk can read it fairly quickly - usually between 60 and 100 Megabytes per second. But if the data is not stored sequentially, the read arm has to move back and forth a lot before it can even start to read a new chunk of data - this is called latency, and it slows things down big time. An average hard drive today will probably read around 1.5 Megabytes per second if the data is scattered over the platter randomly.

Because random reads are so slow on a hard drive, and flash memory is incredibly good at random reads, storing a cache on a USB flash drive can significantly improve performance over an ordinary hard drive, for random reads. As I stated in my comments earlier, a good USB 2.0 flash drive can max out your USB bus at 480 megabits (60 megabytes) per second. That's a bit better than 1.5 ;)

There are some caveats.
The faster a hard disk drive's platter spins, the lower your latency and the faster your read rates. The standard for desktop drives right now is 7200 RPM. High performance datacenter storage drives spin as fast as 15,000 RPM.
Not all USB flash drives are created equal. You can use the built-in Windows command winsat to gauge your flash drive's performance and compare it to your hard drive.

Your page file is dedicated hard disk space which Windows manages fairly well. Unless you really messed up your Windows during installation, all of the data in your page file is going to be sequential and thus will not benefit from ReadyBoost, so ReadyBoost won't even consider caching page file data.

ReadyBoost only writes to or reads from your ReadyBoost drive when your computer will benefit from it. As Keltari noted in his answer, higher performance systems will use ReadyBoost very little. Low performing systems, like an older laptop, will use your ReadyBoost drive quite a bit - but it should still last you 10 years or more, which is longer than the life of your old laptop ;)

ReadyBoost is not affected by and has no affect on your system's RAM. The myriad nonsense you see around the internet about it benefiting computers with low memory is pretty much bogus - ReadyBoost simply doesn't work that way; that's what your page file is for.

If you have an SSD or a hybrid HDD, ReadyBoost will be completely useless to you, since USB flash memory is so much slower than the flash memory on your SSD or hybrid HDD. As of this writing, there is no way I've found to configure ReadyBoost, i.e. to force it to cache data from a secondary hard disk drive.


Note: To compare performance between your hard drive (c:) and your USB flash drive (e:), to determine if you will benefit from ReadyBoost, you can run these commands at an elevated command prompt:
winsat disk -read -ran -ransize 40960 -drive c:
winsat disk -read -ran -ransize 40960 -drive e:

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .