When a Windows system boots, a large number of files need to be read intomemory and processed. Typically, the files which need to be called upon boot depend on which services and startup programs the user requires to start the system up. This process can be quite inefficient since multiple portions of the same file may be accessed at different times during bootup. To reduce this inefficiency, the system can cache data that is frequently called upon during the boot process. Practically, code and data accessed during boot are traced by the system (ReadyBoost in this case) and the information is recorded as a cache file. ReadyBoot is, incidentally, implemented by the ReadyBoost service described earlier. ReadyBoost will continue monitoring the system for 90 seconds after start of the boot, or until 30 seconds after the shell has started, or until 60 seconds after all services have been initialised, whichever elapses first. ReadyBoost uses idle CPU time to calculate a caching plan for the next boot based on historical data it has collected as trace information from the previous boot (typically information pertaining to which files were accessed and where they are located on disk). The size of the cache depends on the total RAM available, but is large enough to create a reasonable cache and yet allow the system the memory it needs to boot smoothly.

