14

On my computers (running windows 7 and vista and using SD cards and flash drives) ReadyBoost rebuilds cache after every reboot. Because of this and 5400RPM HDD, it takes several minutes for computer to start working normally. I gave up on using ReadyBoost because of that. Today I read in comments on this answer that for some people, ReadyBoost does not rebuild cache after every reboot.

My question is how to make ReadyBoost keep its cache even after reboot?

3
  • I'm the person from the other post claiming that ReadyBoost doesn't rebuild it's cache on boot. I've not enough to really add an answer here, but I wonder if people are allowing multiple boot cycles to allow the cache to settle? It might be that it rebuilds the first few times to try and get the boot cache as optimised a possible? Just guessing, but if/when I've some time I'll hunt for some useful evidence...
    – DMA57361
    Aug 21, 2010 at 10:24
  • @DMA57361 I'll start experimenting and taking notes.
    – AndrejaKo
    Aug 21, 2010 at 10:35
  • 1
    Well, as per the comments on Scott's answer, I retract my previous claims about the cache staying intact on the SD card - it's probably keeping all the stats safe, but the actual cache data itself is definately being reloaded on each boot.
    – DMA57361
    Oct 15, 2010 at 7:36

5 Answers 5

8

Looks like this is a security feature, so I don't know if it can be bypassed:

The driver encrypts each block it writes using Advanced Encryption Standard (AES) encryption with a randomly generated per-boot session key in order to guarantee the privacy of the data in the cache if the device is removed from the system.

http://technet.microsoft.com/en-us/magazine/2007.03.vistakernel.aspx

Unfortunately, I can't think of a way to help speed up the rebuild process or avoid it (other than increasing the amount of RAM which would make ReadyBoost unnecessary).

Update: I will summarize the comments below.
SuperFetch, ReadyDrive, and ReadyBoost are all technologies that work together.

SuperFetch monitors what files are being used by the user and system and learns what is used a lot and attempts to predict that may be called for in the future. Then that can be preloaded before it is actually called upon.

ReadyDrive attempts to predict what memory pages Windows needs to take into a hibernate so when Windows wakes up, Windows will resume from hibernate faster. The data Windows will need can be stored in an internal OEM installed non-removable ReadyBoost drive. ReadyDrive needs these internal drives because Windows can trust nothing has happened to it during a hibernate session. During a shutdown, even these drive are not trusted.

ReadyBoost caches hard drive reads at the sector level. It doesn't care about file systems because it only knows where on the disk data was. SuperFetch may determine a file is used frequently, so it will store that data in a ReadyBoost cache. There is a ReadyBoost cache on the hard drive which I assume is there (rather than reading it from disk elsewhere) is because hard drives have good sequential read performance (meaning reading sector after sector after sector, rather than needing to change tracks and dealing with seek times and rotational latency). The goal of using a ReadyBoost flash device is to beat the disk in performance. This way those hard drive sectors cached using ReadyBoost can be retrieved faster, increasing the computer's performance. For removable ReadyBoost drives, the contents of the drive can't be trusted through a standby, hibernate or shutdown event because the hard drive's or ReadyBoost's cache contents could have been changed since Windows had made that cache. To prevent bad data from being used, Windows will dump the old ReadyBoost cache and begin a new cache. During this time, performance would be less because the cache hasn't warmed up with the current sector's data.

Source: Here is a good video talking about these technologies and how they interrelate. Some interesting parts are about 16m30s-19m & 34m45s-38m40s, however, the whole video may be worth seeing.

9
  • I'm aware of that. But take a look at this answer and its comments.
    – AndrejaKo
    Sep 22, 2010 at 9:18
  • 2
    After reading many posts and websites on ReadyBoost, I'm not sure that I would believe the posts about people observing their ReadyBoost not rebuilding. Also, from the volume of people wanting the cache not to rebuild it seems that no one has found a solution. That said, I remembered coming across some software called eBooster (www.eboostr.com) that is a third party "ReadyBoost like" app. I didn't see specifically no rebuilding on reboot, and I hadn't tried the product. It does have "pre-caching OS data" so some data can be persevered between reboots. I hope this suggestion helps. Sep 22, 2010 at 23:37
  • Interesting, I may have to retract my previous statement @Angreja. For now, have a look at this MSDN blog entry and find the question "What happens when you remove the drive?" - this implies the cache is saved on disk along side the copy on the flash device. So, presumably, the cache isn't lost and doesn't need to be rebuilt, but does need a little bit of time to be reloaded to the flash device using the a new AES key. Thoughts?
    – DMA57361
    Oct 13, 2010 at 11:52
  • 1
    @DMA57361 Here is a video that may help explain why ReadyBoost rebuilds channel9.msdn.com/shows/Going+Deep/… about 16m30s-19m he states ReadyBoost works on the sector level, about 34m45s-38m40s he states removable flash drive are untrusted. In an older video (I can't locate) they explained the data is encrypted not only for privacy but to prevent tampering. If Windows uses ReadyBoost first and someone messed with the pages a bad person could circumvent Windows security. I believe that is why they don't trust it. Oct 14, 2010 at 1:06
  • @DMA57361 In addition because ReadyBoost works on the sector level, if you dual boot a machine, anything could happen to the hard drive and you would be caching data that may no longer be there. So over a shutdown I believe it needs to be rebuild (both on the flash and the on disk map file). Oct 14, 2010 at 1:09
4

These URLs show how to disable compression/encryption on a ReadyBoost drive

It looks like a removable drive is always encrypted, even if you try to disable it with group policy.

I wonder if you disabled compression/encryption if it'd be able to preserve the cache through a reboot.

2
0

The answer may be as simple as making the drive appear as a fixed drive.

A single bit in the device's device descriptor, the removable media bit (RMB), makes the drive be recognised as removable, or not.

If you take away the RMB then Windows sees the drive as a 'local fixed disk'.

A filter driver for removing the RMB has been made by Hitachi for their Microdrives and a 64 bit version by Uwe Sieber. You can find both and instalation instructions here:

Under the heading:

  • On flash drive only the first partition works

I plan to experiment with this over the weekend and post.

(You will also find plenty of other excellent USB related software and advice)

(As the above procedure allows multiple partitions on a USB drive, one cant help wondering what effect creating 2 or more of them and software raiding them together would have..?!)

3
  • Welcome to Super User! This is really a comment and not an answer to the original question. You can always comment on your own posts, and once you have sufficient reputation you will be able to comment on any post. Please read Why do I need 50 reputation to comment? What can I do instead?
    – DavidPostill
    Oct 24, 2016 at 11:34
  • I don't have windows 7 at the moment, but if I remember correctly, ReadyBoost only works on external drives.
    – AndrejaKo
    Oct 24, 2016 at 11:42
  • Welcome to superuser: you may be able to reedit your answer after the weekends research prove your idea and fit the "My question is how to make ReadyBoost keep its cache even after reboot". If not there will always be more questions waiting for you to help.
    – mic84
    Oct 24, 2016 at 18:27
0

I built caches with eBoostr to make it available during boot, and Window threw BSOD code, c000021a ( https://answers.microsoft.com/en-us/windows/forum/all/blue-screen-error-c000021a-fatal-system-error/549075f8-f695-4047-b747-2b4e118e1ffd ) which meant "file mismatch" and "security no longer guaranteed".

The file cached before Shutdown is mismatch during boot.

Hence it make sense why Readyboost must rebuild its cache upon reboot.

0

Short: it can not be done

Long:

  1. the trick with disabling encryption (mentioned in this answer) does not work, at least according to article Disable ReadyBoost encryption and compression:

If you are trying to create persistent ReadyBoost cache that can survive restart your are out of luck this will not allow this. In case you use Windows 10, ReadyBoost cache can survive shutdown but not the restart.

It does describe hot to turn off compression and encryption on a running system (I did not try it).

  1. It does persist across shutdowns

On my test system (Windows 10 on SATA HDD, ReadyBoost on SATA SSD) the cache survives a shutdown/power-on cycle. Is does not survive a restart. (by "shutdown" I mean clicking "Shutdown" in the start menu, which powers off the PC; also "restart" is selecting "Restart" in start menu).

Note that I have the FastBoot/Fast startup option enabled in Windows (by default), which might affect this.

I monitored the cache size and usage with PerfMon.

You must log in to answer this question.

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