SSD Freezing Fix

A while back I picked up an SSD to speed up my laptop. It worked great – I got a nice improvement in speed, especially when running virtual machines, which I use regularly. I’d really recommend it as an upgrade.

Although it worked great 99% of the time, I ran into an issue where the system would completely freeze for about 1 minute (with the hard drive access light on) and then would return to normal. This would happen every 3 or 4 days. I had heard of freezing issues with SSD’s before purchasing mine, but I assumed this was a thing of the past. Apparently not.

It took a lot of searching (which is why I am reposting it here), but I eventually found a fix:

http://forum.crucial.com/t5/Solid-State-Drives-SSD/Solution-C300-Disk-Freeze-ups-in-Windows-7-solved-for-me/td-p/38766

Essentially the issue is an incompatibility with the LPM (Link Power Management) feature of Intel SATA controllers. LPM is a power saving feature. Considering the prevalence of Intel SATA controllers, I’m really surprised that Crucial didn’t catch this before they shipped their drives, or at least didn’t have a firmware fix available shortly after shipping.

To fix the issue, LPM needs to be disabled. It can be disabled with a registry change:

  • Open up notepad and copy the following into it:
 Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\iaStor\Parameters\Port0]
 "LPM"=dword:00000000
 "LPMDSTATE"=dword:00000000
 "DIPM"=dword:00000000

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\iaStor\Parameters\Port1]
 "LPM"=dword:00000000
 "LPMDSTATE"=dword:00000000
 "DIPM"=dword:00000000

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\iaStor\Parameters\Port2]
 "LPM"=dword:00000000
 "LPMDSTATE"=dword:00000000
 "DIPM"=dword:00000000

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\iaStor\Parameters\Port3]
 "LPM"=dword:00000000
 "LPMDSTATE"=dword:00000000
 "DIPM"=dword:00000000

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\iaStor\Parameters\Port4]
 "LPM"=dword:00000000
 "LPMDSTATE"=dword:00000000
 "DIPM"=dword:00000000

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\iaStor\Parameters\Port5]
 "LPM"=dword:00000000
 "LPMDSTATE"=dword:00000000
 "DIPM"=dword:00000000
 
  • Save the file as “fixssd.reg”.
  • Double click the saved file.
  • You will get a User Account Control prompt asking if you want “Registry Editor” to make changes to your computer. Click “Yes”.
  • You will get a Registry Editor prompt confirming you want to make changes. Click “Yes”.
  • You will get a success message. Click “OK”.
  • Reboot your machine.

SSD freezes should now be a thing of the past!

Notes

I have a Crucial M4 512 MB drive (M4-CT512M4SSD2) running on a Lenovo T500 ThinkPad. It’s running the 000F firmware. This issue could potentially be fixed with a newer firmware that wasn’t available when I solved my problem. At the time of writing, firmware revisions 010G and 040H are available. Firmware 010G includes the following fixes, which sound promising:

  • Improved resume-time from low power modes, and improved reliability of warm reboot
  • Improved power consumption by disabling HIPM (Host Initiated Power Management)

Although I am running a Crucial SSD, I expect the issue has to do more with the controller than the manufacturer of the drive itself. The Crucial M4 drives use a Marvell controller. The following companies (and probably a few others) also produce drives using Marvell controllers, so this fix could potentially apply to them as well:

  • Corsair
  • Plextor
  • OCZ

28 Responses to “SSD Freezing Fix”

  1. Stefan says:

    I run a Crucial MX200 500GB SSD and have random freezes wich usually result in either a reboot, or me pressing the reset button.

    Sadly, the fix you provided didnt work for me. I followed the description and everything worked out as it was supposed to be, except for the result.

    But thank you.

  2. Ian says:

    Didn’t work for me, sadly.

  3. Jens Glathe says:

    Hi Chris,

    thank you for sharing this. I have a T500 running with a Crucial M500 CT960 (firmware is up to date), and it started showing these hangs recently. Although the proposed fix didn’t work, it showed in the right direction – the notebook is running Win10 insider previews, and of course they are tweaking everywhere to get better power efficiency. LPM is there to reduce power consumption… What I found is that the current AHCI driver of Windows 10 (storahci) has a lot of “quirks” parameters, some related to chipset, some related to attached devices. And one of these reads “NoLPM”… added the device string to this, rebooted, now it is working fine like before.

    The registry key to look for is [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\storahci\Parameters\Device], the key name is “NoLPM”, saved as REG_MULTI_SZ.

    The issues started with the fast ring build from January 31th, , and it is still there in the current one (Build 14271.rs1_release.160218-2310).

    with best regards

    Jens

  4. Mengxuan Xia says:

    Saved my day. I also discovered that Intel has a switch for LPM in their software. Details of my findings http://cs.mcgill.ca/~mxia3/2016/05/02/Fix-SSD-freezing-on-Windows-10/

  5. alegzandar says:

    THANKS MAN YOU’RE THE BEST !!!

  6. Paul Andrews says:

    hello Jens Glathe , can you please explain me something,

    The registry key to look for is [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\storahci\Parameters\Device], the key name is “NoLPM”, saved as REG_MULTI_SZ.
    did you rename the NoLPM key to REG_MULTI_SZ
    or you just add the REG_MULTI_SZ to the NoLPM key ? thanks in advance and sorry for my dumb question

  7. NZHome says:

    This issue is still alive and kicking in 2017 on my Samsung 840 Series SSD. I put up with the 1 minute freezes, because it works 99% ok all the time. I find that it got worse recently until I moved my paging file to another disk drive. That helped a little, and I updated the firmware using Samsung Magician 5.0.0
    That also helped a little more. I will post back my findings, I always had my spidey senses honed in on the SATA controllers too, I had changed nearly every piece of hardware except my SATA controller trying to fix this damn issue. I am not even running AHCI according to samsung magician, so a LPM issue makes some sort of sense too. thanks for the info. I will post back with my final solution/s. I will not rest until solved. cheers.

    • JefS says:

      NZhome, I would be very interested in what you find. Having almost the same issue with my Samsung 850 Series. I have tried different power settings. Seems to be worse if I let the PC go to sleep. I have had it freeze on me though while actively working. It may run a week, then lock up 2 times in the same day. Always requires a reboot.

  8. Joro says:

    Worked like a charm on my Win10 SATA SSD.

    Do you have a similar trick for M.2 SSDs ?

  9. Ash says:

    Worked for Crucial C400 . You saved my laptop!

  10. Kuba says:

    Hi,
    your method didn’t work for me but I turned off Windows Search in services.msc and this is what was causing freezes in my case. Please add this option to your tutorial because I havent seen this method anywhere in the internet.

  11. Jussi Palo says:

    Thanks, I wasn’t even able to open my Sandisk SSD device properties in Device Manager as it got stuck. IMMEDIATELY after running these registry keys, Device Manager window for the device opened, and could again access the drive normally.

  12. p says:

    Could you update it for Windows 10? The registry keys aren’t there in my X260, but the problem still is..

    • Somebody in the comments mentioned they had luck with this with windows 10. I would expect the keys to be the same same in windows 10 if the same software/drivers are being used.

    • Jose Rui Santos says:

      It worked for me in Windows 10.
      Before blindly apply those registry keys, I strongly suggest you to open the registry editor (regedit.exe) and manually check whether the path HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\iaStor is correct.
      In my case, it was incorrect, since my SDD device was not under the folder iaStor (to find out which one, I selected the “services” folder, then pressed Ctrl+f and searched for “LPMDSTATE”). In my case, it was under “iastorv.inf_amd64_9c09bd1df352f065”.

      Then, I just manually changed the “LPMDSTATE” from 1 to 0, for each port. I ran into permissions problems, that were solved by https://www.howtogeek.com/262464/how-to-gain-full-permissions-to-edit-protected-registry-keys/

  13. max says:

    Thanks a lot, worked for me on windows 10 and a samsung ssd. My computer was almost dead before this

  14. Daniel says:

    Hey, I recently ran over this problem on my Linux (PopOS distro) with my new SSD Crutial MX500 disk. Sadly, the solution didn’t work and it still randomly freezes for 5-15 seconds. Does it work only for Windows or is there a way to make it with Linux?

    Cheers!

    • Jose Rui Santos says:

      If you do as I posted above, it should work fine.
      The path on those registry entries are not the same for everybody. I strongly recommend to perform the steps I have described and update manually.

  15. Zer0Byte1 says:

    Windows 11 22H2 – System was having short freezes constantly. Did this reg import to resolve and it worked. Thank you.

  16. ImplementingSolution says:

    Hi Everyone,

    I have windows system where I have added 512 SSD manually and facing the same issue , I have been trying the above fix but not working for me,
    I am getting below error :
    “Cannot import fixxed.reg, The specified file is not a registry script. You can only import binary registry files from within the registry editor.”

    If someone knows the fix, will be helpful.

    Thanks,

Leave a Response

Trackbacks

  1. […] one last desperate search later, I came across this thread and in the same search this page suggesting two methods I hadn’t tried. I did not try disabling LPM (some sort of power saving […]

  2. […] work with the Intel AHCI SATA controller drivers, check to see if you've disabled LPM. See e.g. http://blogs.visigo.com/chriscoulson/ssd-freezing-fix/ for a how to. Reply With […]

  3. […] Some SSD have issues that are prone to freeze the system for several seconds (e.g. Plextor SSD Freeze problem in Chinese).  This is a particularly hard issue to resolve, since different people using the same firmware on the same SSD have different results.  Anyway, if you happen to be experiencing this problem, see if a firmware that fixes it is available.  Also check out why this some of these SSD Freeze problems are related to Link Power Management and how to deal with it in for Intel chipset users (in Chinese) for AMD chipset users (in Chinese) or and in English. […]