• Welcome to Overclockers Forums! Join us to reply in threads, receive reduced ads, and to customize your site experience!

Readyboost: does anyone know what cache algorithm is used?

Overclockers is supported by our readers. When you click a link to make a purchase, we may earn a commission. Learn More.

magellan

Member
Joined
Jul 20, 2002
Readyboost is a caching technology for HDD clusters. What I'd like to know is how it goes about doing this. I'd imagine it caches ranges of clusters, rather than individual clusters. I haven't been able to find anything but the vaguest details about how it does this. I'd guess it must implement some sort of MESI scheme and have potentially large in-memory lookup tables to determine what clusters are currently cached in the readyboost file(s).

What kind of latencies do consumer SSD's have? Is it always < 1 ms?
 

Mpegger

Member
Joined
Nov 28, 2001
I'm not very technical, and I don't fully understand your question, but from my understanding looking into ram cache side of Readyboost, it isn't very smart as to how it caches, as it uses the "last accessed" method that simply caches whatever was recently accessed, ignoring that which is being accessed frequently, and it does no pre-caching at all (pre-caching is part of Superfetch, which is only enabled on systems with no SSDs as the boot drive). I do not know whether it caches individual clusters, or a number of clusters, but I do know from experience (32GiB of ram and gaming for hours with a single game), that it will cache everything that is accessed. After the first time reading, so long as that cluster is still cached in ram, all subsequent reads will be from ram. I can run idle with as little as 4GiB of ram, which leaves tons of free ram to cache a single game (nearly) in its entirety.
 
OP
M

magellan

Member
Joined
Jul 20, 2002
I'm not very technical, and I don't fully understand your question, but from my understanding looking into ram cache side of Readyboost, it isn't very smart as to how it caches, as it uses the "last accessed" method that simply caches whatever was recently accessed, ignoring that which is being accessed frequently, and it does no pre-caching at all (pre-caching is part of Superfetch, which is only enabled on systems with no SSDs as the boot drive). I do not know whether it caches individual clusters, or a number of clusters, but I do know from experience (32GiB of ram and gaming for hours with a single game), that it will cache everything that is accessed. After the first time reading, so long as that cluster is still cached in ram, all subsequent reads will be from ram. I can run idle with as little as 4GiB of ram, which leaves tons of free ram to cache a single game (nearly) in its entirety.

I've read that the Readyboost algorithm is smart enough to ignore long, sequential reads (as say, from a diskscan). I believe it always caches OS clusters (i.e. they're never kicked out of the cache to be replaced by application data). But who knows?