I recently installed an SSD into my laptop and did a clean install of Windows 10. Occasionally after some usage, Windows 10 would freeze but I could still move my mouse. Eventually I couldn’t click on anything, but I could still move the mouse around the screen. Trying Control+Alt+Delete wouldn’t work so there was no way to access the Task Manager or restart the machine. The only option was to long-press the power button and kill the power, then restart it.
While searching for similar problems, I came across this suggestion, which is Microsoft KB3083595
According to the article:
While device resets can be caused by a varying number of factors, we are aware of issues with some Advanced Host Controller Interface PCI-Express(AHCI PCIe) models that causes these symptoms in Windows 10 when running with the inbox StorAHCI.sys driver. Due to a firmware bug, the Solid-state drive (SSD) does not properly complete input/output when Message Signaled Interrupt (MSI) mode is enabled. As a result, the Windows storage stack attempts to reset the device after waiting on unresponsive reads or writes for a period of time.
How To Fix Windows 10 Freezes With SSD
Identify if you are running the inbox AHCI driver (StorAHCI.sys):
- Open a command prompt with administrator privileges. Then type the following command in the command prompt window and hit Enter: devmgmt.msc
- Under IDE ATA/ATAPI Controllers right-click on the AHCI controller node and select Properties. This node is usually called “Standard SATA AHCI Controller.”
- Navigate to the driver tab and click Driver Details.
- If you see “StorAHCI.sys” in the list, you are running the inbox driver.
Disable MSI for the controller in the registry:
- With the same properties window opened, navigate to the Details tab and select Device instance path from the Property drop-down menu. Note this path.
- Open the registry editor by running regedit
- Navigate to:
HKEY_LOCAL_MACHINESystemCurrentControlSetEnumPCI(AHCI Controller)Device ParametersInterrupt ManagementMessageSignaledInterruptProperties
, where (AHCI Controller) refers to the device instance path you noted earlier. - Change the value of the MSISupported key from “1” to “0”.
- Repeat the steps for all AHCI controllers found in Device Manager.
- Reboot the machine.
Driver Update Option
If you’re using the generic driver StorAHCI, I would recommend trying to find the driver that matches your chipset. In my case, it is Intel. While I thought I installed all of the drivers from my laptop manufacturer, I realized the AHCI driver didn’t actually install. It copied the files to a folder but there wasn’t an installer exe.
- Go to Device Manager and IDE ATA/ATAPI Controllers.
- Right click on the Generic SATA controller and go to Update Driver Software.
- Click “Browse My Computer For Driver Software” and browse to the folder where your driver is extracted to.
- After clicking Next, it should automatically detect the updated driver and ask you to reboot.
It is almost always better to run matching drivers than use the generic ones. I’m still testing, but so far I haven’t had anymore freezing.
While the Microsoft article refers to the disk usage getting stuck at 100%, I cannot verify if that was the cause of my issue since I couldn’t access Task Manager when it happened. After a few hours of making this registry change, I haven’t had the issue repeat itself.
If you’ve encountered this issue, let us know if this fix worked for you or not by leaving a comment below.
Similar issue. Have tried the fix. Will report then.
Thank you so much. Made both changes (Disable MSI, replace inbox driver), and my freezing problem is solved.
For some reason, the Lenovo install of the driver only downloads, doesn’t install it. You solved a big headache for me.
Same issue but my driver is called iaStorA.sys and not StorAHCI.sys This is not really my specality but I know enough to ask before I try to change anything w/ a different name
For the registry option, check for the Device Instance Path, then check that registry location and see if that key exists for that path. If it does and MSISupported is set to 1, then go ahead and change it to 0. If there’s not a key for that path, or MSISupported doesn’t exist, then your driver probably doesn’t support it.
You could also try to find the actual AHCI driver from your PC manufacturer. It never hurts to have their official driver and it might help your problem.
Have a Lenovo laptop with the same issue. I have already installed the companies AHCI driver, but that doesn’t help. I have changed the registry value to 0 and restarted. Will update if this fix works.
Nope… No luck. The fix did not work for me.
Go into Device Manager and double check the driver. For my Lenovo Yoga 2, the Intel driver only unpacked, it didn’t actually install. I had to manually update the driver.
This is what I had to do also. It makes it looks like the driver installed but when I checked in device manager I had the same generic driver installed.
Hello,
I have the same problem.
You were writing that Microsoft is referring to this issue when HDD is stuck at 100% activity but you were not able to open the Task Manager to check that.
I have installed a desktop widget with the HDD activity (I have a NVMe SAMSUNG 960 EVO) and I can see that whenever this happens the HDD is stuck at 0% activity.
I tried your fixes, now I have iaStorA.sys in Device Manager, but the freeze happened again. When I checked the reg value, I sow that it was back to 1. Now I changed it back to 0 and see what happens.
Finger crossed!
Best regards,
Alex
unfortunately it happened again after a few days :(
Any other advises are highly appreciated.
Thank you!
Alex