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

Comments

30 responses to “SSD Freezing Fix”

  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. Stefan Avatar
    Stefan

    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.

    1. Chris Coulson Avatar

      In my case the system never crashed – it was just unresponsive for a long period of time, with the hard disk lite solid. So it sounds like you might have a different issue unfortunately.

    2. Abdrouf Avatar
      Abdrouf

      Hey, I have the same problem.
      Did you find any solution!??

  4. Ian Avatar
    Ian

    Didn’t work for me, sadly.

    1. Shadow Avatar
      Shadow

      Excuse me,May I ask?
      What Drive did you test it on?

      Thanks

  5. […] 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. […]

  6. Jens Glathe Avatar

    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

  7. Mengxuan Xia Avatar
    Mengxuan Xia

    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/

  8. alegzandar Avatar
    alegzandar

    THANKS MAN YOU’RE THE BEST !!!

  9. Paul Andrews Avatar
    Paul Andrews

    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

  10. NZHome Avatar
    NZHome

    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.

    1. JefS Avatar
      JefS

      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.

  11. Joro Avatar

    Worked like a charm on my Win10 SATA SSD.

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

  12. Ash Avatar
    Ash

    Worked for Crucial C400 . You saved my laptop!

  13. Kuba Avatar
    Kuba

    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.

    1. maximoon07 Avatar
      maximoon07

      Can I deactivate it just like that, will it cause no harm? Sorry for asking but i really don’t know.

      1. Chris Coulson Avatar

        I didn’t have any negative side effects.

  14. Jussi Palo Avatar

    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.

  15. p Avatar
    p

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

    1. Chris Coulson Avatar

      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.

    2. Jose Rui Santos Avatar
      Jose Rui Santos

      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/

  16. max Avatar
    max

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

  17. Daniel Avatar
    Daniel

    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!

    1. Jose Rui Santos Avatar
      Jose Rui Santos

      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.

  18. Zer0Byte1 Avatar
    Zer0Byte1

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

  19. ImplementingSolution Avatar
    ImplementingSolution

    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,

    1. Jul Avatar
      Jul

      hey man just find the solution, you just have to paste this line at the top of the file:

      Windows Registry Editor Version 5.00

  20. Jul Avatar
    Jul

    i have the same problem, did u find any solution?

Leave a Reply to JefS Cancel reply

Your email address will not be published. Required fields are marked *