What to look for when purchasing an SSD
Choosing an SSD can be difficult. With so many different factors to consider, it can be hard to know whether you are purchasing the right SSD for you. Some of these factors are well known, e.g. storage capacity and performance, however, there are many other factors that are not considered as often. A large part of choosing the correct SSD will come down to what you want to use the SSD for: for some people performance may not be as important as storage, and for others storage may not be as important as performance. By equipping yourself with the relevant knowledge, you can purchase the right SSD for you.
Host Interface Background and Basic Differences (NVMe and SATA)
One of the main factors to consider when purchasing an SSD is the host interface of the SSD that you are purchasing. The host interface specifies the protocol that is used for communication between the drive and the computer it is attached to, e.g. SCSI, SATA, NVMe, IDE, etc. Before looking for an SSD, it is important to decide on the host interface that you want/need to use. For example, older computers may not support NVMe drives, limiting the types of the SSDs you can purchase. If your computer supports multiple host interfaces (e.g. SATA and NVMe), then you will need to decide which type of SSD is best for you. The two main host interfaces that you will see today are SATA and NVMe. What are the advantages and disadvantages of each?
Serial ATA (SATA) was released in 2003 and was designed to improve on the previous Parallel ATA (PATA) interface which was developed by Western Digital in 1986. PATA has become synonymous with the Integrated Drive Electronics (IDE) interface. The SATA standard has several revisions, the most recent of which (at the time of writing) is SATA revision 3.5. SATA 3 has a bandwidth of around 6Gb/s and a usable data rate of ~550MB/s or roughly 4.8Gb/s (this is the data rate that is application usable and does not include overhead).
Non-volatile Memory Express (NVMe) was first commercially available in August 2012. At this point, the majority of SSDs were using the existing SATA bus interface. As SSDs became faster, the throughput became bottlenecked by the SATA and AHCI protocols. NVMe was designed to provide faster data rates to reduce this bottleneck, this is done by using the PCIe bus instead of the SATA bus. PCIe Gen4 allows speeds of up to 2000 MB/s (~2GB/s) per lane. NVMe drives use 4 PCIe lanes, meaning a theoretical bandwidth of ~8GB/s2.
Host Interface Background Advanced Differences (NVMe and SATA)
Although there is a clear improvement in bandwidth between SATA and NVMe drives, the improvements go beyond interface bandwidth to the protocols used by each. SATA makes use of the Advanced Host Controller Interface (AHCI) protocol, which was designed by Intel to specify how SATA host controllers should operate. ACHI was designed to optimise SATA performance for magnetic disks, by accepting multiple requests from the host (SATA ACHI has a maximum queue size of 32 commands), the hard disk can then schedule the requests to reduce read/write head movement, making the magnetic disk more efficient. However, only one request can be performed at a time due to the mechanical nature of a HDD.
A strong advantage of SSDs over magnetic disks is SSD’s internal parallelism (multiple commands being executed simultaneously). SSD flash memory chips are connected through multiple channels to the storage controller. This enables the storage controller to access each flash memory chip in parallel, enabling higher bandwidth and reducing latency. When a high latency operation is performed, e.g. an erase, other chips can still accept commands simultaneously. Due to SATA ACHI being designed to optimise performance for magnetic media, the protocol is unable to make efficient use of the highly parallel nature of SSDs, with SSDs being able to service commands faster than AHCI’s single 32 command queue can facilitate. It was clear that a new standard was required to make use of the performance benefits provided by SSDs. As stated on the NVM Express website:
“The NVMe specification was designed from the ground up for SSDs. It is a much more efficient interface, providing lower latency, and is more scalable for SSDs than legacy interfaces, like serial ATA (SATA).”
The NVMe protocol being designed specifically for use with SSDs allows the protocol to take advantage of the lower latency and inherent parallelism that SSDs provide. This is done by providing 65535 queues with 65536 commands per queue. This ensures that the NVMe SSD’s hardware is not bottlenecked by the interface. NVMe also interfaces directly with a set (usually four) of PCIe lanes, removing any potential bottlenecks that may be imposed by the host bus adapter.
SATA Express was introduced as part of the SATA 3.2 specification (2013), and was designed to bring the benefits of the NVMe protocol to the SATA interface. SATA Express provided two PCIe lanes to the SATA drive and could use the NVMe protocol to communicate with the SSD instead of AHCI3. However, SATA Express did not see wide adoption, as it was largely superseded by the M.2 NVMe drive that was introduced shortly before.
As flash based storage becomes more widespread, we can expect to see SATA SSDs become less common and NVMe SSDs become more common.
Although the NVMe interface has superseded the SATA AHCI interface in terms of performance, there are still cases where a SATA SSD may be appropriate. NVMe SSDs are often more expensive per GB than their SATA counterparts, if performance is not an important factor for you when purchasing an SSD, then a SATA SSD can be a budget alternative. Older motherboards may not support M.2 NVMe drives, meaning that you are limited to SATA connected drives. Furthermore, populating an M.2 slot with an NVMe drive may also disable one or more of the motherboard’s PCIe ports. If you are using your PCIe ports for expansion cards (e.g. WiFi, USB, Audio expansion cards) then the documentation included with the motherboard/system should be consulted to ensure that the PCIe port(s) are not disabled, as this may leave you unable to use the expansion card.
Tangentially related to the host interface is the form factor. The most apparent difference in form factors may be between SATA and NVMe SSDs. Although SATA SSDs come in many form factors, the most common form factor people will be familiar with is the 2.5” SSD. NVMe typically uses the newer M.2 form factor, formerly called the Next Generation Form Factor. Although this is the most apparent difference in form factor, it is important to recognise that form factor can change between SSDs of the same host interface. For example, SATA drives are also available in the M.2 form factor, and NVMe drives are available in the M.2 form factor and as a PCIe expansion card.
Ensuring that your computer supports the form factor you have selected is essential when deciding the form factor of the SSD you intend to use. Otherwise, you may have an SSD that you physically cannot connect to the system. We recommend consulting the documentation that came with the system to determine whether it supports the SSD you want to purchase.
A commonly overlooked factor when purchasing an SSD is the bit density, but what exactly is bit density?To answer this question, we first need some context on how SSDs store data.
SSD NAND flash cells store data by trapping electrons in a ‘Floating Gate’ between dielectric oxide layers (this prevents the movement of electrons when a sufficient charge is not applied). This makes the storage non-volatile, as the electrons remain trapped in the floating gate when the cell’s charge is removed. The floating gate can then be measured to determine if it contains a charge. This is called the threshold voltage of the cell. By manipulating the threshold voltage, we can represent data as 1s and 0s.
Bit density defines how many 1s and 0s (bits) the cell represents. If the cell only represents a single bit, then this is called a Single Level Cell (SLC). We can think of the threshold voltage on a single level cell either being high or low, representing two different states: 1 and 0. By further manipulating the threshold voltage and measuring the threshold voltage at four different voltage levels, we can make the cell represent more than one bit. Now instead of representing a 1 or a 0, the cell can represent 11, 01, 10, 00. This is called a Multi Level Cell (MLC). This principle can be expanded further by making the cell represent even more bits, e.g. Triple Level Cells (3 bits per cell), Quad Level Cells (4 bits per cell), etc.
Now that we know what bit density is, how does this affect your decisions when purchasing an SSD? The higher the bit density, generally, the lower the price of the SSD per GB of storage. However, more bits per cell will also lead to lower Write/Erase speeds and a shorter SSD lifespan.
Please read this blog post for more information about flash cell wear and tear, SSD structures, and SSD best practises.
Each SSD manufacturer will have different naming conventions for their SSDs with different bit densities. For example Samsung separates their SSDs into three categories: PRO, EVO and QVO. Pro is a MLC SSD, EVO is a TLC SSD, and QVO is a QLC. Generally, SLC SSDs are reserved for enterprise SSDs, while MLC SSDs are targeted at consumers, striking a good balance between price, performance, and endurance.
We may also see the replacement of homogeneous storage, SSDs made up of cells with the same bit density, with heterogeneous storage, SSDs that contain cells with different bit densities. This would allow for SLC storage for data that changes rapidly (user files that are edited frequently), and QLC storage for data that is changed infrequently (Operating System files that may only change during an OS upgrade). This would allow the SSD to take advantage of the benefits of each cell type, the longevity and faster Write/Erase speeds of SLCs and the lower price per GB of QLCs.If you want to read more about this, check out this blog post.
Manufacturer and Tools
Many SSD manufacturers will provide a set of tools with the SSD that you are purchasing. For example, these tools can be used to migrate data from an old drive to the SSD, provide S.M.A.R.T information about the drive (temperature, amount of data written, performance, etc), provide encryption, ensure drivers are kept up-to-date, and drive optimization.
An example of this software is the SK hynix data migration tool. Macrium Reflect is the proud partner of SK hynix, providing their official clone utility for their range of SSDs. This utility can be used to easily migrate data from an existing drive to the new SK hynix drive.
The cloning utility and documentation can be found at the link below:
The software tools that come packaged with a drive can be the deciding factor between different SSD manufacturers. We recommend researching the tools and support that come with a drive, prior to purchasing.
The final thing to consider when purchasing a storage device, is what the storage device will be used for. For example, when considering hot storage (storage that contains less data but is accessed frequently), speed may be more important than storage amount meaning a NVMe SSD with a lower capacity but higher speeds may be appropriate. When considering cold storage (storage that contains a lot of data but is accessed less frequently), then the storage amount may be more important than the speed meaning a SATA SSD with a larger capacity but lower speeds may be more appropriate. By considering the purpose of the storage device, you can ensure that you are not spending excessive amounts for performance/features that aren’t needed.