1 October 2016

Advice for using SSDs with Windows



There are several ways to get your SSD working properly and optimally, just searching for it is likely to bring up results.

  • Run winsat formal - see instructions here - in Windows 8 and above, Windows will need to have this run after installation to correctly identify the disk as an SSD, otherwise it will start defragmenting it which is not needed and reduces the life of your SSD
  • Upgrade the firmware
  • Some SSDs only - Disable write caching on the disk using Device Manager, see instructions here. Without this the SSD would often hang for 30 seconds at a time. See the section below for some error messages I used to get. Some SSDs such as Intel must have write caching enabled, otherwise they hang very often.
  • Disable power management and energy efficiency - Change the standard and hidden ACHI power settings if available
  • Prevent the disk going to sleep - Change Power Options >  'Turn hard disk off' to 0 (Never) see here for screenshots
  • Upgrade the drivers
    • for Intel RST and under Performance, set Link State Power Management to disabled
    • for the SATA AHCI driver (use Device Manager)
    • for the Intel Chipset
    • If using an external SSD, do not upgrade the USB driver because it may cause a bluescreen. E.g. if you have a Renesas USB 3.0 driver or Intel USB 3 driver. There are no updates to the UASPStor.sys driver from Microsoft since 2006. Trying to slipstream the driver into a Windows 8 installation didn't make it use this driver
  • Hibernation or hybrid sleep - personally I prefer having the option of hibernation, however, external SSDs may not properly handle booting from hibernation properly, so you may want to disable it
  • Check the low battery options - go to Control Panel, Power Options, Change plan settings, Change advanced power settings, Battery, Critical battery action. Make sure you change this from the default 'Hibernate' if you have disabled Hibernate! I have set it to Shutdown.
  • Run TRIM on a regular basis - Once winsat has been run and defrag identifies your SSD correctly, you can optimise it - this will run the TRIM command to tell your SSD that free space can be reused. If you don't do it, then your SSD will get slower as it struggles to find completely zeroised sectors.
  • Zeroise free space on an occasional basis - If your SSD is becoming more slow, then zeroising the free space may speed it up. Use SDelete -z c: for this.
  • Improve boot time by disabling startup items using Autoruns, C-CleanerTask Manager or msconfig
  • Turn off unused drives - If using an external SSD, then use Disk Manager to take the internal HDD offline if you don't need to use it, and the Device Manager to disable the disk altogether.
  • Don't use regular disk monitors - Don't use an automatic SMART monitoring program like Acronis Drive Monitor because it may cause a serious about of lagging and timeouts. Only use this for traditional HDDs.
  • Use one-off disk monitors - for example Passmark DiskCheckup
  • Disable search indexing
    • Empty the index (Control Panel > Indexing Options > Advanced)
    • Disable the Windows Service
  • Disable Superfetchthe Windows Club recommends disabling this 
  • Disable automatic boot into Windows - Use EasyBCD to disable the timeout on the Windows Boot Manager screen so that you can easily get to the recovery options if you break your Windows (pressing F8 on startup doesn't always work)
  • If external
    • To install Windows without it being certified Windows To Go, use WinToUSB - requires an ISO or installation disk
    • Change the cable to a gold-plated one 
Issues with SSD

I've got these errors before in Event Viewer, these are caused by not following the first 6 configuration steps above.
  • Reset to device, \Device\RaidPort1, was issued (or RaidPort0)
  • The IO operation at logical block address 0x78f47c0 for Disk 0 (PDO name: \Device\0000003a) was retried
Screenshots here: