Solid State Drive (SSD) technology is gaining popularity in today’s tech landscape, and many new computers are equipped with SSDs. However, their high price tag remains a barrier for some users. Not everyone can afford a 500 GB SSD at $160 to replace their trusty old mechanical hard disk drive (HDD). Despite this, HDDs still have their place.
Why is Your System Slow? It’s the Disk!
The disk—whether HDD or SSD—plays a crucial role in system performance. All the data required by the operating system (OS) and applications reside on the disk. When you read a file or launch an application, the disk’s speed becomes a bottleneck. Even if you have a powerful CPU and ample RAM, slow disk access can hinder overall performance.
Superfetch and ReadyBoot: Boosting Disk Performance
Windows offers two mechanisms to address poor HDD performance: Superfetch and ReadyBoot.
- Superfetch: During application startup, Superfetch monitors frequently accessed data and code. It caches this information in the
%SystemRoot%\Prefetch
folder. The next time these data are needed, they load quickly, improving overall application startup time. By prefetching batches of pages, Superfetch optimizes access patterns, reducing backtracking delays.
- ReadyBoot: For system boot optimization, ReadyBoot analyzes file trace data from the previous five boots. It identifies frequently accessed files and their locations on the disk. This information is stored in
%SystemRoot%\Prefetch\Readyboot
. ReadyBoot creates efficient I/O reads and stores data in RAM. When system components require this data, it’s readily available from RAM, minimizing disk-related delays.
Real-World Example
Recently, one of our users experienced poor performance on their Windows 10 HP ProBook laptop. Despite having an Intel Core i7 CPU, 8 GB of RAM, and a 1 TB 5400 rpm HDD, they noticed sluggish Windows boot times and unresponsiveness in the Excel application.
I conducted a boot trace using Windows Performance Recorder, revealing a boot time of approximately 175 seconds. The disk usage graph confirmed high disk activity. My analysis indicated a disk-bound issue, further supported by the absence of the ReadyBoot graph. This absence suggested that ReadyBoot and Superfetch mechanisms were not enabled.
My next step was enabling the Superfetch service, which hosts the two mechanisms after rebooting the system six times, to allow the ReadyBoot to prefetch and cache the necessary data.
The boot time decreased to 77 seconds. A gain of 98s.
You can enable or disable Prefetching for boot and application startup by editing the registry key value HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\PrefetchParameters\EnablePrefetcher.
- Set it to 0 to disable prefetching altogether;
- Set it to 1 to enable prefetching applications only;
- 2 for prefetching on boot only;
- 3 for both boot and applications.
Enabling the Superfetch and ReadyBoot mechanisms can improve Windows Performance even when the hardware is playing against you.