SSD Migration and Troubleshooting

This page is currently "work in progress".

Summary

SSDs are considerably faster than hard disks can be highly reliable. In particular, they are very much more resilient to physical shocks than hard disks as they have no moving parts. Nevertheless, they can suffer from deteriorating performance and unique problems of their own which can be challenging to pin down. These can be caused by mis-configuration, sudden power loss, or out of date firmware.

Safety

Warning03.png
Always ensure that the user's data is backed up before attempting any kind of investigation or repair.

Understanding SSDs

Unlike a hard disk, an SSD must erase a sector before it can be written to. To complicate matters further, an erase cannot be performed on a single sector (typically 4kB) but only on an entire block of maybe 128 sectors (512kB). This means that to overwrite a single sector, an SSD has to read the entire block to a cache, erase the block, update the single sector in cache then write it all back, even if most of the block had been allocated to a now deleted file. This may have little or no effect on a new SSD, but as soon as the operating system starts reusing space, performance will be seriously degraded and the fruitless erase and rewrite cycles will cause premature ageing.

To overcome this, the operating system must inform the SSD when it deletes a file using a mechanism known as TRIM, so that the space may if possible be pre-erased ready for reuse, or at any rate, so as to avoid rewriting disused data. Windows versions prior to Vista do not support this, and for those versions which do support it, it must be enabled.

Since an SSD does much internal housekeeping transparently to the user and often when it's apparently idle, a sudden power loss can cause it to enter an inconsistent internal state from which it may not be able to recover.

Problems and Solutions

A misbehaving SSD can cause random crashes and system hang-ups which might be suggestive of memory (RAM) or mainboard problems. First of all, check the vendor's website or a management utility which may have come with the SSD for updated firmware. If the utility allows a TRIM on demand, try this. If you have migrated the system from a hard disk, try copying it back to see if the hard disk is any more reliable.

If these suggestions don't help, or in the case of an SSD which has suddenly ceased to be recognised by the computer, boot into the BIOS and leave it for 20 - 30 minutes, then remove all power for a minute. For a desktop, or an SSD on the bench, apply power through the power connector for 20 - 30 minutes, leaving the data disconnected, before removing power for a minute. Repeat this process once or twice more. This may give the SSD time to do internal housekeeping without being bothered by an operating system. After this, check once more for a firmware update or TRIM on demand, which it may not have been able to accept before.

Check that TRIM is enabled. In Windows, launch a command prompt as Administrator, and type the command:

fsutil behavior query DisableDeleteNotify

This should return a value of zero. If it returns 1 then type:

fsutil behavior set DisableDeleteNotify 0

Also, check the BIOS settings and find the SATA Mode. This should be AHCI.

Spinrite has been reported to be effective in some cases of SSDs with degraded performance. It should only be used on an SSD on level 2 as level 4 would perform large numbers of writes, unnecessarily ageing the device. However, level 2 reads every sector in such a way as to prompt the device to reallocate any that are marginal.