Windows 7, Solid State Drives and Why A WinSAT Score Matters
I was doing a WDRAP and I ran across an interesting case that required me to do some digging that I thought I’d share this out in one source. When we took an xbootmgr trace which we do with all our WDRAPs we saw broken readyboot that was identical to what I talked about here. https://blogs.technet.com/b/markmoro/archive/2011/11/28/xbootmgr-part-2-readyboot-basics.aspx. No cache hits and a lot of cache misses. I explained what readyboot does and how it’s suppose to work and the hotfix that we can roll out to help remediate this in their environment. Then they asked me a great question, “Does this still matter if it is a solid state drive (SSD)?” The answer is no when an SSD is detected the following things are not used, readyboot, readyboost, Superfetch and disk defragmentation. https://blogs.msdn.com/b/e7/archive/2009/05/05/support-and-q-a-for-solid-state-drives-and.aspx . The disk defragmentation service will be set to still run but no disks will be selected.
So now the next question is why is Windows not detecting that the hard drive is a SSD. The first thing we attempted was to update the firmware of the SSD as it was out of date. We rebooted and checked the Superfetch service which was still running meaning that the OS still hasn’t picked up the disk as a SSD. Ok clearly this was something else. After doing some research I learned the following. The Superfetch service looks at the following registry key HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winsat\DiskScore every 30 minutes. If the regkey is 65 or greater, which means the disk has the performance of an SSD, it sets the Superfetch service to manual. This score is populated by the actual WinSAT Primary Hard Disk score. Our next step was to check the WinSAT score for this machine. This is what we found.
Ok so that explains it, the WinSAT has never run on this computer. When is this suppose to run? It runs initially on start up to determine Aero performance and the rest is suppose to fully populate when the machine is idle via a scheduled task. The schedule tasks is under Microsoft\Windows\Maintenance\WinSAT. We found that during the image process this tasks was being disabled so it never ran and thus, never detected the machine had an SSD. Once we kicked of that scheduled task, it rated the Hard Disk at 7.1 the reg key had a value of 71, we waited about 20 minutes and all services were stopped and set appropriately. Case closed.
Mark “my hard disk score goes to 11” Morowczynski
Comments
Anonymous
January 01, 2003
Do you have any other local hard drives that are not SSD?Anonymous
November 15, 2012
I've had the same issue with a win7 & SSD rollout in my office. I've run the WinSAT schedule task after imaging the PCs with LTI from BDD but even after manually running the experience indexer and confirming a disk score of 7.7 it doesn't automatically stop the superfetch service. Is there something else I'm missing? Meanwhile I'm writing a powershell script to stop and disable these services to increase our SSD performance.Anonymous
November 16, 2012
Thanks for your reply mark... I have just check again and the services have been set to manual. Seems to have taken more than 20 minutes but it has work. Thanks again for a great informative article. You have save me some shoddy powershell scripting! Cheers GAnonymous
December 02, 2013
Resurrecting this thread for Win8 ... after installing a new SSD I noticed that Windows was automatically defragmenting it as if it were a hard drive. Even after forcing a WEI run, Disk Optimizer lists it as a "hard disk drive" and not a "solid state drive". It is not my primary C: drive, and all of the other drives in my computer are HDD. So my overall WEI is quite low. Does Windows assume one score applies to all drives?Anonymous
March 23, 2014
Alan, the WEI assessment only applies to the drive which was Windows installed on. Please check if your motherboard is using AHCI mode for SATA interfaces.