ReadyBoost - What data is cached?

fernando bonfim 56 Reputation points
2021-05-30T23:02:57.187+00:00

I am trying to understand the ReadyBoost feature that is still available in Windows 10. I get that it stores some data into a flash drive so they may be accessed faster, sent to the RAM, and then used by the CPU. However, I still don’t understand what data ReadyBoost stores on the flash device.

Searching through the web I came to three possible answers:

1 - ReadyBoost stores the data picked by SuperFetch;

Some sources suggest that ReadyBoost works alongside another Windows feature: SuperFetch. SuperFetch is explained as a kind of limited artificial intelligence created to identify patterns on the user activity, so it may predict what the user is going to do in a given time. Knowing this information, it may load data into the RAM before the user needs it.|1||2||3||4| Though, I think it also stores some data in the virtual memory when there is not enough RAM to accommodate all of it.

According to a text on HowToGeek, the ReadyBoost would work with SuperFetch by loading the data selected into a flash drive instead of occupying the RAM with them.|1| On TechRepublic a slightly different function is given to ReadyBoost: instead of storing into the flash-based external memory prefetched data that would go to the RAM, it redirects prefetched data that would go to the virtual memory into flash drive,|2| Michael Fortin, who led the Windows Client Performance Team at the time SuperFetch and ReadyBoot were developed, said basically that ReadyBoost is intended to manage “SuperFetched” data in a flash device.|3| An overview of the Windows features used to improve performance in Windows 7 says that ReadyBoost “provides a dedicated area where SuperFetch can securely store a copy of performance-crucial data.”|4|

Also, ReadyBoost creates a cache file named readyboost.sfcache into the flash-based device. The extension of this file (.sfcache) seems to refer to the SuperFetch feature.

Despite the slightly differences in the information, they all seems to suggest that ReadyBoost places the data that SuperFetch thinks the user is going to need next into the flash drive, In this case, every single data in the flash drive would be there because it has been chosen by the SuperFetch feature.

2 - ReadyBoost make a complete copy of the virtual memory (page file);

According to Matt Ayers, who is referred to as the owner of this feature in some texts posted at the time of Windows Vista, and a post in the old Windows Vista Team Blog, the ReadyBoost technology copies the virtual memory (page file) content to the flash drive.|5||6||7|

Based on some research I get that virtual memory is a technique that allows the use of a portion of the secondary memory like a primary memory. This memory is used to overcome RAM shortage by temporarily holding some data from the RAM into a HDD, or whatever is being used as the secondary memory. This allows the computer to prioritize physical memory to data that is more important at the moment.|8| Besides that, the virtual is also used to store all the content from the RAM in the situation of a system crash.|9| We may assume that it also holds the data picked by SuperFetch based on how Matt explains the relation between both technologies: he says that ReadyBoost interacts with SuperFetch because the program-usage data is saved in the page file when there is not enough RAM, thus, by saving a copy of the virtual memory in the flash drive, ReadyBoost is also copying the cache created by SuperFetch, but not only that.|7|

If that is the case, the ReadyBoost drive would hold data selected by SuperFetch, data that is less important to be in RAM, and crash dump when needed.

3 – ReadyBoost will cache any data.

Mark Russinovich says that ReadyBoost asks SuperFetch to prepopulate the cache file created in the flash drive. After that, the Ecache.sys would monitor the reads and writes to the hard disk and copy any data being written into the cache file. Maybe what is being read is also cached, but it is not stated clearly in the text.|10|

In this case, any data could be in the flash device, since anything that is getting stored into the secondary storage is copied to the flash-based drive.

--‐----------------
I could not find an official and updated and detailed documentation that could clarify this for me. So, what data is stored into a ReadyBoost drive? I would appreciate any help on this topic, but I really need to know a way to check the information.

Note: Unfortunately I could not find a more specific tag to this topic.

Windows 10
Windows 10
A Microsoft operating system that runs on personal computers and tablets.
10,538 questions
{count} vote

4 answers

Sort by: Most helpful
  1. Dave Patrick 426K Reputation points MVP
    2021-05-30T23:21:16.397+00:00

    Something here might help.
    https://learn.microsoft.com/en-us/archive/blogs/tomarcher/readyboost-qa

    --please don't forget to upvote and Accept as answer if the reply is helpful--

    1 person found this answer helpful.

  2. Jenny Feng 14,146 Reputation points
    2021-05-31T09:05:58.997+00:00

    Hi,
    Based on my research, it is really hard to find official and updated and detailed documentation.
    To be honest, for your demand, open a support ticket with Microsoft should be a more effective way than ask in Q&A.
    https://support.microsoft.com/en-gb/hub/4343728/support-for-business


  3. Destro 0 Reputation points
    2023-07-19T18:41:28.2866667+00:00

    Is there any new information?

    0 comments No comments

  4. Igor Leyko 80 Reputation points
    2023-08-01T23:29:53.9533333+00:00

    About page file, quotation (from communication with Performance team): ReadyBoost does cache the pagefile explicitly in Win7. In Vista, pagefile caching was limited, but in Win7 there's better integration with the memory manager to cache pages that have been paged out to the paging file. They are later read from the cache instead of the disk.

    Quotation 2: ReadyBoost caches disk writes as long as the following conditions are met. The cache is still write-through meaning that we cache the write after is has been written to the disk.

    1. That region of the disk has been read from in the near past (measured in 10s of minutes to hours)
    2. The write is not larger than 64K
    3. The write is not part of a sequential stream.

    I do not believe there will be any ReadyBoost documentation now. This feature is not in developing and it is hided in Windows 11 thou can be used still.

    0 comments No comments