SSD Migration and Troubleshooting
This page is currently "work in progress".
Summary
SSDs (Solid state disks) have recently become much more affordable and can offer a considerable speed advantage over conventional magnetic hard disk drives (HDDs). They 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
- Always ensure that the user's data is fully backed up before attempting a migration or 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. This is very inefficient 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.
Another difference from hard disks is that SSDs use a block size of 4kB or larger whereas older hard disks use 512B blocks. If a hard disk with the system partition not aligned with the start of a 4kB block is cloned to an SSD then a write will frequently affect two blocks instead of one, causing disappointing performance and accelerated ageing.
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.
SSD Migration
Migrating from a hard disk to an SSD can offer a very noticeable speed improvement, but is not a panacea and will of itself do nothing to rectify other underlying reasons for poor performance. If you have established that there are no fundamental software reasons for poor performance and that a laptop has sufficient memory, but that is simply under-powered for what it is being asked to do, an SSD is certainly easier to fit than a faster processor, though migrating the operating system and data may be a substantial task.
Commodity SSDs are only available with an SATA interface and can't be used in an older laptop with a PATA disk interface. However, PATA SSDs are reportedly available from specialist sources for the purposes of rejuvenating old hardware.
Even an older SATA hard disk may well have greater capacity than a budget SSD, making it impossible to simply clone the old HDD onto a new SSD without much tidying and housekeeping. You could end up reinstalling Windows and your applications onto the new SSD and then copying the data - simply reinstalling Windows may itself resolve the true cause of the problem! That said, SSDs often come with tools to simplify the process, or you can use a product such as EaseUS Partition Master Free Edition.
SSDs are only properly supported as from Windows Vista, and Windows 7 or later is required to take full advantage. Since SSDs work on a block size of 4096 bytes or larger compared to 512 bytes for most HDDs, simply cloning an HDD to an SSD may result in a mis-aligned partition and disappointing performance. TRIM must be enabled for efficiency reasons. See [[#Understanding SSDs|Understanding SSDs] above.
Before embarking on a migration, you should ensure your BIOS is up to date. As soon as you have installed your new SSD you should check the manufacturer's website or a utility which comes with the SSD for the latest firmware.
Problems and Solutions
An SSD should give trouble-free service and in particular, it will be much less prone to damage through physical shocks than a hard disk. Nevertheless, if it should fail it may do so catastrophically, with little chance of getting your data back. Conventional hard disks, on the other hand, often fail more gracefully and give greater scope for data recovery. Bear this in mind if your data is vital to you, and make sure you back it up regularly.
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.