What is an SSD - The SSD FAQ
What is an SSD?
An SSD (Solid State Drive) is basically a flash storage device, which is the next generation equivalent of an HDD (Hard Disk Drive). Where they differ greatly is an HDD contains spinning magnetic platters which are read and written to by heads floating on a cushion of air along a series of guides known as 'actuator arms', while an SSD contains no moving parts, and instead of spinning platters uses a special type of memory known as NAND flash.
So let's first look at the most important advantages of an SSD compared to an HDD.
- The key advantage is that they are much faster than an HDD.
- An SSD contains no moving parts, so there is no mechanical wear.
- An SSD is silent, as it contains no mechanical parts.
- An SSD produces next to no heat at all.
- An SSD consumes much less power compared to an HDD.
- Robustness. Drop an HDD onto the floor and the chances of it still working are remote. Drop an SSD, and unless you are very unlucky, the SSD will not be damaged and should continue to function normally.
- An SSD has very much faster access times compared to an HDD.
- An SSD has much greater data throughput than an HDD.
Now let's look at the disadvantages of an SSD.
- Price per gigabyte of data storage, an SSD is more expensive than an HDD.
- If an SSD is going to fail, it will tend to fail without warning, whereas an HDD will tend to give warning signs before it eventually fails.
- Buggy firmware. Because SSDs are a new technology, the pace of development is high. This can lead to SSDs appearing for purchase that still have some firmware bugs which need to be worked out of the system. However, this does tend to be rare.
There are various types of NAND available but as enterprise grade NAND is currently much more expensive, for consumer grade SSDs, the type of NAND flash used is MLC (Multi Level Cell). MLC NAND is able to store 2 bits of data per cell, and each cell has four possible states. MLC NAND is used in consumer grade SSDs in order to the keep the costs down.
So what is it that makes an SSD so much faster than an HDD?
As I mentioned above an HDD has spinning magnetic platters to store the data, and that data is read or written by a series of read/write heads. Each platter has its own head, and the head is moved from the outside of the platter to inside of the platter by the slide actuator assembly. The head can only be in one place at any one time, and it takes time to move that head from one location to another. Even if it's only a 1mm away, it will still take a few milliseconds to move the head before reading or writing can recommence.
An SSD reads and writes its data from NAND flash, and it's not uncommon for the SSD controller to have eight channels to transfer data to and from the NAND. Also the time taken to access the data can be 100 times faster than it is on an HDD. So as well as being capable of 8 times the throughput, it can also access the data much faster than an HDD.
Take a look at the table below. It compares a few SATA 6Gbps SSDs with one of the fastest HDDs currently available, in a real world multitasking test.
As we can see, the fastest SSD is very nearly 100 times faster than the HDD.
How do I install an SSD?
With regard to physically installing the drive, it's actually more or less similar to installing an HDD.
- If it's a laptop, you just replace the HDD with an SSD (assuming that the laptop has a 2.5 inch drive bay).
- If it's desktop PC with a 3.5 inch HDD, then all you need is a 3.5 inch to 2.5 inch converter bracket.
The electrical connections are the same as an SATA HDD, but there some things that you should be aware of before you use the SSD.
For technical reasons, that are incidental to this guide, the partition on an SSD needs to be aligned. This is to make sure that the NAND pages start at the correct offset. Failure to align the partition will result in lower performance and will induce higher wear on the NAND.
Windows Vista, Windows 7, and Windows 8 will align the partition correctly when you create the partition. Windows XP won't. So if you are using XP, then perhaps it's time to update.
I don't recommend the use of Vista, but if you wish to use Vista then the following information for Windows 7 and 8 also applies to Vista.
For a new Windows 7 or 8 build.
Simply connect the SSD then enter the system BIOS and set the SATA transfer mode to AHCI. IDE mode is not recommended for an SSD, as IDE mode can't support NCQ (native command queuing).
Place your Windows 7/8 DVD in your burner and boot from the burner. When you get to the installation screen, select the advanced options, then click on create partition (selecting the SSD). The SSD will be initialized, and the partition will be automatically aligned when it's created.
For an existing build.
Connect the SSD to a spare SATA socket, start the system and when it boots to the desktop, right click on the "Computer Icon", and then select "Manage", followed by "Disk Management" from the menu. If the SSD is new it will need to be initialised and a popup should appear. When it does, select the MBR option. The SSD will then be initialised. Once this is done the RAW partition should appear in the list. Right click on the SSD and select "create a simple partition". Select the default which would normally be NTFS, and make sure you select the quick format option (NEVER do a FULL FORMAT ON AN SSD).
Once this completes you are ready to install the operating system on the SSD, or use it as a storage drive, if that's what you prefer.
Can I migrate an HDD Windows 7/8 install from an HDD to an SSD?
Yes some SSDs are supplied with migration software. If migration software is not provided you can use your own backup/restore solution. I prefer Acronis True Image Home 2012, as it also preserves partition alignment. Whichever method you use to migrate, you will need to check that the SSD partition is still aligned after the migration. The easiest way to do this is to download the free SSD benchmarking application, AS SSD.
Once you have downloaded AS SSD, just run the application, and find your SSD in the drive select menu. If the partition is aligned correctly, it should look similar to the screenshot below.
Don't worry if the value isn't 1024K, as long as it says OK after the value then the partition is aligned.
Partition Alignment in Windows XP
If you must use XP, then you can align the partition manually, by using a command line application called Diskpar.
I've included the tool "diskpar" for aligning the partition.
This tool can only be used on a working system which isn't already using the SSD to run the OS. The SSD to be aligned is connected to a spare SATA port.
Copy the Diskpar.exe file to C:\
Once copied to C:\ right click on the Discpar.exe file and then properties. In the compatibility tab, select "run as administrator" and click on apply. Alternatively, run the command prompt with admin permissions.
You first need to find the drive number of the SSD you want to align.
Right click on "My computer" in the "Start Menu", then select "Manage"
When the Windows management application starts. Click on Disk management, find your SSD in the list and note the drive number.
If there is already a partition on the SSD you will need to delete it.
To run and partition.
Open the command prompt
type CD C:\
type diskpar (switch) (drive)
The switches are.
-S partition the drive
-i partition info
We need to set the single SSD drive to have an sector offset of 128 sectors so if we assume that the drive number is 2 you would type:diskpar -s 2
and then follow the prompts.
When asked for a sector offset type in 1024 (then hit return).
This will display the size info in bytes and MB. Simply type in the MB value and then hit return.
Your partition is now aligned.
You may get a dialogue asking you to format the disc, if not the disc will still need to be formatted. Choose a quick format and make sure you choose a cluster size of 4096 Bytes (Default)
Once you have done this.
In command prompt type: diskpar -i 2, and it will now display the partition info.
To check if the partition is aligned, take a look at the "Starting offset". This number should return a whole number when divided by 4096. If it doesn't, something is wrong.
I have already installed Windows 7 on my SSD but selected IDE mode in the BIOS rather than AHCI. Can I fix this without having to reinstall Windows 7?
Yes but you will need to do the following as an IDE install doesn't know AHCI exists, and simply changing to AHCI mode in the BIOS without the following fix will result in a BSOD when you try to boot Windows.
Make sure the BIOS is set for IDE, then boot back to Windows.
Run this small application from Microsoft by clicking the "fix it" link.
Restart and enter the BIOS.
Change the setting in the BIOS to AHCI, save the BIOS and restart.
Once restarted Windows may install the default AHCI drivers, you can then install the Intel RST drivers, or for AMD based systems install the appropriate AHCI drivers.
I have read that SSDs have very limited write cycles, and they don't last long. Is this true?
No, it isn't true at all.
MLC consumer grade NAND will generally have 3000 to 5000 write cycles endurance. On the surface this doesn't sound like a lot. Let's say you have a 128GB SSD with 5000 write cycle MLC NAND. That means you would have to write 128GB of data per day for 5000 days to exhaust the NAND. That would take 13.7 years, but in actual fact, Intel for one, has studied typical desktop usage, and estimates that on the high end of the scale, a desktop user will write about 10GB of data per day when the SSD is used as a system drive. When you factor in write amplification, wear levelling, and deferred writes, then the NAND could last for close on 38 years. Larger SSDs given the same usage scenario will last much longer than this. However, this could potentially be reduced in the future as the manufacturing process moves to an ever smaller node size.
I have read that SSDs slow down after prolonged use. Is this true?
Yes, they will slow down slightly.
When an SSD is first used, all the NAND is in a clean state, and the SSD controller will always pick the fresh NAND to write to, as this is the fastest method of writing to the NAND. At some point all the NAND will be used, and there will be no fresh NAND to write to. This is called a "steady state". What it means is, before the NAND can be written to again, any data in those cells must be read, modified, and then written to. This will have the effect of slowing down the SSD slightly, as each write process takes that little while longer to complete.
If you are running Windows 7 or 8, then you will have TRIM support. TRIM sends commands down the storage stack which tells the SSD that data has been discarded. The SSD controller can now set about cleaning those discarded blocks, and return those NAND blocks back to a clean state. Most SSDs also employ a cleaning technology known as "Idle Garbage Collection". When the SSD is not busy, the SSD controller has some time to do housekeeping chores. One of these chores is cleaning and recycling NAND blocks, and returning the blocks back to a clean state.
You can also manually clean the NAND yourself, but be aware, this will involve destroying all data on the SSD.
All new SSDS support "internal secure erase".
How does Internal Secure Erase work on an SSD?
Internal Secure Erase is done by applying 21V across the NAND substrate. This is done by a "Charge Pump Device" (CPD) which is already present in the drive and it's already used to write/erase individual blocks on the drive.
Applying 21V across the substrate of all NAND chips in the drive will return all cells in the drive back to the factory default (erased state), and only takes around 5 seconds or less to secure erase the complete drive, without writing any data to the drive at all.
If you wish to secure erase the SSD, then you can either use the specific SSD toolbox application supplied with the SSD, or you can use a generic method which should work with all SSDs that support Internal Secure Erase.
The best I have found is Parted Magic which is a "live" Linux distribution with a GUI, which can run from a DVD or USB pendrive.
Over-provisioning. What is it, and how does it work?
All modern SSDs have a certain amount of NAND set aside for exclusive use of the SSD controller. This NAND is not available to the user for storage. There are however many ways this NAND can be used. In all cases a certain amount of that NAND is there to replace retired NAND blocks. A single cell failure will result in the complete NAND block being rendered unusable. If a block is retired then a block from the over-provisioned area is mapped into the user area to maintain the SSDs stated usable capacity.
Over-provisioning can however be taken a stage further. You may have noticed that there are some SSDs with stated capacities that don't quite match the expected figure. Let's take as an example an 120GB stated capacity. An 120GB capacity SSD will in actual fact have 128GB of NAND. 8GB is set aside as an over-provisioned area. Some of this will of course be held in reserve for retired NAND blocks, but the bulk of it will be used for another purpose.
An SSD will quite happily just write to whichever NAND block happens to be free. If we go back to MLC NAND basics, then before a write can take place on a used NAND block, then that block must be read, modified, and then the block write can take place. That's a three stage process which obviously requires time to complete. Of course, normally those writes can only take place in the user storage area. However, if the SSD controller is smart enough, and you have a hidden area of NAND to work with then things can change.
The over-provisioned area can be maintained much more effectively than the user area, as it can't be touched by the user or the operating system, so this NAND can be cleaned and returned to a fresh state, which of course means instead of a three stage process to write a block, this can be cut to a two stage process, that being reading then writing, as the NAND is clean and does not required to be modified before the write can take place. So if the controller is smart enough, this fresh NAND, once written to, can then be mapped into the user area, and another 8GB of NAND can be snatched from the user area and then mapped into the over-provisioned area for cleaning, then the whole process is repeated over and over.
In our example we used a 120GB capacity SSD with 128GB of NAND. If we go up a stage then we arrive at an SSD with a capacity of 240GB, as you may have already guessed, a 240GB SSD has 256GB of NAND, and from this it is easy to calculate that in this case the SSD has 16GB of NAND set aside for over-provisioning.
This is one reason that SandForce based SSDs tend to perform extremely well. By giving away a little in the way of user storage area, they can gain a lot in sustainable performance.
Why do smaller capacity SSDs tend to be slower than higher capacity drives?
Basically this is down to the number of NAND chip packages on the SSD, and the density of these packages. Almost all modern SSDs have a controller that can use multiple channels to read and write to the NAND. NAND is rather slow on its own. SSDs get their speed from reading and writing to several NAND packages at the same time. The sweet spot will generally be SSDs with 8 channels addressing 16 NAND chip packages.
Again we must go back to MLC NAND basics, and the read, modify, NAND block write method. But if the SSD controller is smart and fast enough, why just do one of these processes at a time? In actual fact they don't. While the SSD is busy doing the write process on one block, it can also use another channel to do the read and modify. This is called interleaving, but unfortunately 16 NAND chip packages are required to get the best out of this method with an SSD controller which supports 8 channels to the NAND array.
This makes perfect sense on the larger capacity SSDs. For example for an SSD with 256GB of NAND, you can use 16GB NAND chip packages, and for a 512GB SSD you can use 32GB packages in order to get the magic 16 NAND chip packages. Unfortunately trying to maintain this 16 NAND chip packages on small capacity SSDs would be prohibitively expensive, and would result in small capacity SSDs being non competitive.
Things may change in the not too distant future. ONFI 3 NAND will soon be available, supporting speeds of up to 400MB/s per NAND die. So it is certainly possible that only 4 or 8 NAND chip packages are required to fully saturate the SATA 6Gbps system bus. If this should happen then smaller capacity SSDs, at least for sequential reading and writing could be every bit as fast as their larger counterparts.
The bottom line.
An SSD still represents the biggest bang for buck PC upgrade. When you upgrade from an HDD to an SSD, the difference in tangible performance is massive. Every application or game will benefit from loading from an SSD. Video editing becomes as smooth as silk, as data is cached in and out of the SSD, and as a system drive, an SSD is untouchable.
The price of SSDs has at last dropped to a level that most people should be able to afford one large enough to use as a system drive.
The future of SSD looks very bright.
We have reviewed numerous SSDs here at MyCE, and our extensive SSD review archive can be found here.
We will update this thread as new information becomes available.
If you spot any errors, or have new information, please PM me.