Introduction to SSD drives

You could say that Solid state drives (SSDs) are a major breakthrough, as they ideally eliminate the standard moving hard disk drive. Then again, perhaps they are not so much of a leap forward as they are merely a step up from already existing technology, such as RAM, ROM and flash drives.

Whichever way you look at it, SSDs are here and they’re likely here to stay and the demise of the clunky old hard disk drive is inevitable, although I cannot see hard disk drives totally disappearing for some years yet.

What is a solid state drive?
In the simplest terms, a SSD is a solid-state replacement for a standard spinning hard disk drive.  The term ‘solid-state’ means it uses semi-conductor components in its makeup, rather than anything mechanical.

In these notes, I will refer to the new solid state drive as a ‘SSD’ and the old mechanical drive as a ‘hard disk drive’.

As the cost of a SSD is many times more than for a hard disk drive (for the equivalent storage capacity), then it is not really much use using a SSD as a data storage or backup drive at this time. The main advantage of SSD is speed and if we add or replace a SSD drive to our system then it needs to be the boot drive where the operating system also resides. That is where we will see the real benefit. The boot time from a cold start is dramatically improved and the start time and access time for applications stored on the SSD will certainly impress.

Another advantage is no moving parts, so less wear and with a quieter operation and more resistance to physical abuse. Also less power is consumed and less heat generated, making them especially ideal replacements for laptop hard disk drives.

Which one shall I buy?
It is a case of cost versus size at the moment. A large hard disk drive used as the main (or only) drive in a newer home computer would typically be 4 TB (terabyte), but to replace that with a 4 TB SSD would be costly at today’s prices.

So to take advantage of SSDs at a reasonable cost, it would likely mean buying a smaller SSD boot drive of around 40 GB up to, say 500 GB, and using a regular hard disk drive as a second drive to hold your larger applications and data, allowing the SSD to look after the operating system and perhaps some smaller applications. Alternatively, a hard disk can be used as the main system disk and a small SSD device can be used as a cache disk for the main drive. In fact, some motherboards have a small format (mSATA) type SSD device mounted on the board itself.

The next section outlines my own tests and benchmarks and may assist further in determining the type and size of drive you may consider for your own system.

One word first about physical size – SSDs normally (there are exceptions) have a 2 ½ inch form factor (the same size as a typical laptop hard disk drive) and many come with a metal adapter (or you can buy one separately) to fit into a 3 ½ inch drive bay on a desktop PC.

How to set it all up
So now you’ve just gone and bought a new SSD – how do we get it operational?

  • I am assuming that you are using a late version of Windows as your operating system, such as Windows 7 thru 11. If you are using Vista, XP or Linux, then some of these steps may be meaningless, though you can still set up your system without too much difficulty.
  • The instructions that may accompany your new drive should override anything that I state here, as they are more applicable to the particular drive. Also note that you must be held responsible for any hardware or data loss issues that you may encounter on your systems.
  • As always, before any system changes or tests, make sure your system works properly right now and that you have a good backup of all the data that you cannot afford to lose.
  • You may first want to do a few diagnostic tests with your old hard disk drive in place, to use as a comparison for after you have installed the new SSD. I would look at the Windows Experience Index (WEI). You might also want to do some speed tests to see how fast (or slow) your system currently boots up from a cold start.
  • Check on the web site of your motherboard manufacturer to see if there are any firmware (BIOS) updates or on-board drivers that are relevant to SSDs and apply them if there are. If there are updates but they are not specific to SSDs, then update them sometime later rather than now, for the simple reason that if anything goes wrong during the install, you won’t know whether to blame the new firmware / drivers or the SSD or anything else you may have updated at the same time. It’s best to change one thing at once.
  • One thing that you can change though, if available, is the firmware for the SSD itself. You can use a third-party utility, such as CrystalDiskInfo (free utility from Crystalmark.info), to find the current firmware version. On an Intel SSD I just applied the update even without checking first, because I knew it would not attempt to overwrite firmware that was already at the latest version. The firmware update on the Intel is easy to do – download the latest version from the Intel web site.
    While you’re downloading any firmware updates, check for any tools or utilities available for your drive and copy them somewhere temporarily that will be accessible later after your operating system install.
  • I would disconnect any other hard disk drive(s), ReadyBoost key; other storage device(s) from your PC. Leave the CD / DVD drive connected if you need to perform the SSD firmware update as outlined above, as well as for installing the new operating system.
  • You might not need to make any changes to the BIOS settings on your motherboard. The system should see the new drive as it sees any other drive, though it may be necessary (check your manufacturer’s guide) to set the BIOS setting for the SATA interface (SATA AHCI Mode) to AHCI. The choices are usually IDE or AHCI and sometimes RAID. This setting enhances the standard SATA settings and may be necessary to support Trim. One word of warning though – do not change this setting after the operating system is installed, otherwise you will almost certainly get a BSOD (Blue Screen Of Death). Only change it before you install anything and be aware of this issue if you are only testing the SSD and going back to your original operating system on your hard disk drive afterwards.
  • It is best to connect the new drive to the first SATA port in your system – usually SATA 0 or SATA 1. The data and power connectors are identical to any other SATA disk drive. For other interface types, see your accompanying documentation.
  • Physically mount the drive if you want, but for initial testing purposes, as it is so small and lightweight, it can just hang somewhere for now. Please do observe anti-static precautions as with any hardware installs. Your hardware user guides should provide details for safe handling of components.
  • Place your operating system install drive into your computer and start the system. Optionally, you may want to go into the BIOS during the boot process, just to make sure that the disk drive is recognized at that level. There is unlikely to be any issue here, but if you cannot see the drive in the BIOS then you may need to look at those cable connections more thoroughly, for example.
  • Install your operating system now, in the same way as you would do with a regular hard disk drive. Many people report a much faster install time to a SSD. I saw about a 15% reduction in the total installation time compared to installing to a hard disk drive.
  • After Windows is installed, you can install any applicable utilities for your drive.
  • Install Windows updates and any other drivers and utilities that you normally would install.
  • That’s basically it. You should at least now have a working system that boots quite fast. Check Device Manager to make sure nothing is amiss there. Run the Windows Experience Index to hopefully see a dramatic improvement for the primary disk drive score, but don’t panic if it still only reads 5.9 or so – it may be resolved later after other changes are made. You can rerun the test again afterwards.

We will now look more deeply into the operating system and how to make it compatible with the SSD, especially if there are any problems.

Writing data and the Trim operation
You are going to hear and read about Trim quite a lot when dealing with SSDs. I will attempt to explain what it is and how it works.

Trim only affects write operations to the SSD and not read operations, and its purpose is simply to stop the slowdown of data writes that occur after time. These slowdowns can become quite significant. When we first connect and start using a SSD with any computer, it will read and write data at an expected rate, according to the manufacturer’s specifications. When writing data, if we were to write to the same area of the drive over and over again, we would soon wear out the physical cells that store the data in that part of the drive. A process called ‘wear levelling’ is supposed to even out the data writes, in that it distributes data evenly around all areas of the drive, so prolonging the life of the drive.

Data is written to a SSD in ‘bits’. There are one or two bits to a ‘cell’. These cells are grouped into ‘pages’, which are normally 4 KB in size and a page is the smallest unit that can be written to. These pages are then grouped into ‘blocks’. There are typically 128 pages to a block and the size of the block is therefore 512 KB. Now remember – I’ll repeat it – that the page was the smallest unit that could be written to, yet note that the block is the smallest unit that can be erased from the drive.

Now consider what happens as time goes on and the drive gets full, or at least pages and blocks are getting mostly populated with data. We cannot just pump data into the drive and expect it to land in a fresh new never-used block area because there is old data in there that was previously discarded. Remember in Windows, for example, that when files are deleted, they are not physically deleted, but just marked as deleted by the operating system. The file is still around somewhere in these disk pages and blocks.

The way that data is written to one of these areas that has old data in it, is for the SSD disk controller to copy the entire block into a memory cache; update the block in memory; erase the block on the drive; then write the block back to the drive. This would happen even if only one single bit of the 512 KB block needs modifying.

The reason for this is that cells need erasing before new data can be applied to them, simply to make sure that there are no residual particles of data left from previous actions. It’s the erasing of this old data that slows down the write process.

This is where Trim comes into play. The SSD must tell the operating system that it supports Trim and if so then whenever the operating system needs to delete files from the drive, the data is marked as deleted and the operating system continues on, but the command is passed on to delete that actual marked data whenever it next has the opportunity to do so, with the expectation that the next time data needs to be written to the SSD, the areas where it needs to write to are then already free and don’t require erasing again beforehand, thereby improving the write speed and keeping it at that high level of efficiency. Trim is also used as part of the operations involved with the disk formatting commands.

To enable the Trim option, you must be using Windows 7 or Windows Server 2008 R2 or later. There are some versions of Linux that may use it as well. Also the drive itself must support Trim. Most do, some old ones don’t, but there might be firmware updates for those that don’t.

Note that currently, native Trim will not work if the SSDs are in any kind of RAID configuration. It also depends upon the RAID controller as to whether Windows will even realise it is dealing with SSDs.

If you cannot use Trim for any reason, such as if your OS will not support it, or your SSD does not have the feature, then there are alternatives that you can use, although none will perform as well as Trim. Check your SSD user guide and manufacturer’s web site for their recommendations. They may supply an appropriate tool for you to use.
A commonly available utility that works almost as well as Trim and runs in Windows and Linux is called Wiper. It is a manually run tool, so doesn’t have the automatic operation benefit that Trim has.

Two quick tests to perform to make sure Trim is enabled. From a Windows elevated command prompt, run this command:
fsutil behavior query disabledeletenotify

If the response is:            DisableDeleteNotify = 0                            then Windows will pass the Trim command to the SSD controller. Any other result means it will not.

To see if the SSD is capable of Trim, use the CrystalDiskInfo utility mentioned earlier.

One final word on Trim. If your SSD does not support it, there is no real advantage to disabling the function in Windows. Leave it in its default enabled state.

What can go wrong and other settings

Note: The following section deals with configurations and settings that should not be touched on a system that is running perfectly well. Only experiment with these possibilities on a system you are installing new and may want to discover the best options, or on a system that is not used for any vital work. In later Windows versions, the OS will optimize settings and is best left alone.

In an operating system such as Windows 7, 8 or 10, there is supposed to be some recognition of the fact that a SSD has been connected to the computer, as the primary drive. Windows should detect the rotational speed of the drive, which being solid-state has no rotational speed at all, so has a null value. Windows is highly geared towards SSDs, as previously mentioned.

When this SSD has been detected, Windows should make certain arrangements for its own settings, such as disabling defragmentation, prefetching, etc. which are not used with SSDs.

Unfortunately, many times Windows simply will not recognise the fact that such a drive is installed and will treat it as a standard (but very fast) hard disk drive. This means that certain changes that the operating system should have done have not actually been done and we need to manually check these ourselves to put them into the correct state. These settings were designed for hard disk drives and some can actually be a hindrance on SSDs.

Two indications to check to see if Windows has not recognized the drive as a SSD are, firstly, that the Windows Experience Index reports a value of 5.9 for the primary drive – the largest value likely for a hard disk drive. Secondly, that when you open the Disk Defragmenter schedule utility it lists the drive as ready to defragment. It should not be on this list. Let’s see what needs to be looked at:

ReadyBoost. This should be disabled on the SSD. Look in the drive properties and the ReadyBoost tab should not even be present. Also, because SSDs are so fast in their operations, you should not need any additional ReadyBoost USB key(s) either.

File and folder compression. Not generally recommended, but it wouldn’t hurt too much when applied to ‘slow moving’ data and if space is really tight. Access the setting in the drive properties.

Indexing. Keep enabled. It works the same way as for hard drives and may cause issues or inconveniences if disabled. Disabling it may give a performance advantage though, as SSDs are so fast during data searches. Experiment.

If you want to try without indexing and if the SSD is the only drive on the system, then disable indexing globally by changing the ‘Windows Search’ service; otherwise go into the SSD properties and disable indexing just on that drive.

Write caching. Some newer SSDs may have cache memory; older ones will not have it. Follow the manufacturer’s recommendation here, otherwise enable it as it may help a little with performance. As with any drive type, if you enable write caching, you may lose data if the power goes out and you still have data in the cache that didn’t make it yet to the disk drive.
Access here:  Control Panel > Hardware and Sound > Device Manager > Disk drives > [access SSD properties] > Policies [tab]

Pagefile. Many people say the pagefile should not be on the SSD because it takes up space and is subject to many writes when updating. The space issue may be valid and for that reason you could move it to a regular hard disk drive, but wherever it is, it will not likely undergo so many write operations as to cause concern about decreasing the drive lifetime. It is not advisable to delete the pagefile and operate Windows without it, regardless of the physical RAM size. If you run out of memory and there is no pagefile, your application or even Windows itself will likely crash. Also some older programs require the use of a page file and will not run without one being present. My recommendation is that if you have enough space, keep the pagefile on the SSD.

Hibernation file. Same story as with the pagefile above. To enable or disable this, use the powercfg command line tool with the –H option. Run powercfg /? for details. This is not a particularly straightforward command to understand, so don’t worry about not changing it. It won’t hurt to leave it.

Power settings. For laptops, choose the power settings as you would with any other drive type. For desktops use the high performance settings and opt to never turn off the drives.