By default "SuperFetch" will cache programs AND data files in memory for quick access during a normal working day. When a laptop resumes from hibernate or completes a reboot the data is loaded again - causing a lot of activity on a mechanical hard disk. Resuming from "sleep" does not trigger a "SuperFetch Thrash"; leaving a computer asleep while plugged in and at a desk is a good idea.
Copy and paste the following lines into a file called superfetch_perf.reg (or click here) and then run it (double click). Reboot your computer. Do not disable the SuperFetch service as it is critical to the regular function of the prefetcher. You may consider marking the service "Delayed Start" if immediate responsiveness of the computer after a reboot is important to you.
The meaning of the value, after first hand experimentation and monitoring with 'procmon', is: 0 = Disabled, 1 = Prefetch Programs and System Files (EXE, Fonts, Drivers, etc.), 2 = Prefetch Data Files Only (.doc, .xls, .txt, .php, .c, etc.), 3 = Programs, System Files, and Data Files (DEFAULT).Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\PrefetchParameters]
"EnableSuperfetch"=dword:00000001
If you're a power user on a laptop consider creating a couple of batch files to stop and start the SuperFetch service. The command line syntax is "net stop superfetch" and "net start superfetch". You can enable the service for long session and leave it off for frequent reboots and hibernate activity on the road.
And a closing note on ReadyBoost... this cache is rebuilt after each reboot; adding to your hard disk load and battery drain. I have tested this on a 4GB laptop and found no benefit once SuperFetch is tuned with the above tweak. The Windows disk cache manager is far more efficient when given ample resources.

