DATA



Autor: Marc Sauter


SSD - An overview (1 / 2)

AHCI, M.2, NVMe, PCIe, Sata, U.2 - pros and cons of current SSD types.

This article was kindly delivered by golem.de


Introduction

Today's SSDs exist in all kinds of form factors with various connections and protocols, even the memory used is no longer necessarily NAND flash. We explain the differences and similarities of the Solid State Drives.
 
SSD is not the same as SSD: If you take a look at price comparisons or forums, you will often be left helpless in view of the wide range of solid state drives on offer. There are internal and external models, all kinds of form factors and various interfaces.

We give an overview of how Solid State Drives differ. Our compendium includes the individual form factors, the physical connection, the interfaces and protocols running over them as well as native or driver support for individual operating systems. In contrast to a few years ago, today's SSDs hardly require any additional installation and setup work, apart from niche solutions. SSDs now also cost so little that they have largely replaced hard disks (HDDs).
Let's start with what distinguishes an SSD from an HDD: the internal structure. In addition to the interface and the protocol, this determines what a model does and how much it costs. A hard disk consists of multiple magnetic disks. The data is present in traces on them, read/write heads obtain their data from them or back it up. The rotational speed of the so-called platters and the mobility of the heads limit the maximum speed, especially with random accesses and with regard to latency during read or write processes.

Sata-2.5-Zoll, Sata-M.2, PCIe-x2-M.2, PCIe-x4-M.2, PCIe-x4-U2, AIC (Image: Martin Wolf/Golem.de)


An SSD, on the other hand, consists of at least one controller and a large number of memory chips as well as a DRAM cache, the latter being missing depending on the model. The controller accesses the memory via several channels. This distributed principle enables extremely high read and write rates. Because an SSD does not require mechanical components, access is much faster, i.e. less latency. SSDs have a much higher performance than hard disks, especially for random queries and small files.

The speed depends on the performance of the controller, such as how many channels it has and what kind of memory is used in what amount. In order to utilize a controller with eight NAND channels, a corresponding number of packages, i.e. chip housings with usually up to 16 stacked Flash-Dies, must be available. This explains why SSDs with little capacity - about 250 GBytes instead of 500 GBytes - can have a lower maximum data transfer rate. The built-in controller also determines which interface is supported, such as Sata or PCI Express (PCIe), and whether hardware encryption such as AES-256 is available.


A wafer with NAND Flash Dies (Image: Marc Sauter/Golem.de)


The manufacturers currently differentiate between four variants of flash memory: Cells with 1 bit (Single Level Cell), with 2 bits (Multi Level Cell), with 3 bits (Triple Level Cell) and with 4 bits (Quad Level Cell), in addition 5 bits (Penta Level Cell) are used. Each bit more per cell increases the capacity, but at the same time the backup of data becomes more time-consuming. This reduces the writing speed and in principle the durability of the cells: For example, four voltage states are necessary for 2 bits, eight for 3 bits and 16 for 4 bits.

- Unlike HDDs, SSDs dispense with mechanical components in favor of higher speed and lower latency.
- An SSD requires a controller and (flash) memory, a DRAM cache is optional.
- Today, MLC and TLC as well as QLC memory are common.

Special features of the memory

To keep the write performance high, a pseudo-SLC buffer is used for TLC- and QLC-based SSDs: The cells are written with only 1 bit instead of 3 or 4 bits, which is significantly faster, and in idle phases the SSD controller then saves the information regularly in TLC and QLC cells. The buffer often has a fixed size, usually combined with a dynamic variant depending on the level of the SSD. If the SLC-based cache is full, the write speed drops significantly. The fastest models have 1.5 GByte/s instead of 3.5 GByte/s. The fastest models have 1.5 GByte/s instead. With slow SSDs, the write rate drops from 520 MByte/s to 80 MByte/s - this is less than with a hard disk.

3.5 GByte/s or more, however, SSDs only work with sequential read or write access and only if a high queue depth and many parallel threads are used. A dull copy process does not excite an SSD and especially with very small file sizes such as 4 KByte instead of 128 KByte the performance drops drastically. The data rates advertised by the manufacturers are therefore to be seen as "up to" best values, especially when an SLC buffer is used.

In the past months and years more and more SSDs appeared that do not use a DRAM cache. This saves costs by reducing the complexity of the controller and the number of packages on the board. The mapping table is located in the DRAM so that the controller knows where which data is located (comparison of logical and physical addresses). If the cache is missing, this information ends up in the flash memory or even in the RAM (working memory) of the computer - the latter is called the host memory buffer.

Intel is the only manufacturer to use 3D Xpoint memory in addition to NAND flash memory. This is based on phase-change memory, i.e. it uses the principle of a phase change instead of different voltage states. The advantage lies in the very low latency, from which the input/output operations benefit drastically with random accesses and low command loop depth, as well as the longer durability of the cells. The disadvantages are the so far low capacity per chip and the high costs. Intel markets 3DXP-based SSDs as Optane models, although there are also hybrids such as the Optane Memory H10. This combines fast 3DXP as data cache with slow QLC flash memory.

With Samsung's Z-NAND and Toshiba's XL-Flash, special SLC memories have also been developed, which should also have very low latency and high durability. First SSDs like the Z985 could only convince to a limited extent compared to Intel models like the P4800X, but are cheaper.

- Fast 1-bit SLC memory has become rare, mostly 2-bit MLC or slower 3-bit TLC is used, some models use slow 4-bit SQLC and 5-bit PLC is under development.
- The more bits per cell, the slower the write speed. TLC and QLC require an SLC buffer for higher performance.
- In addition to NAND flash memory, storage class memory such as 3D Xpoint can also be used.


Left: Sata with B/M-Key, right: PCIe with M-Key (Image: Martin Wolf/Golem.de)


Sata or PCIe interface

The controller used decides how an SSD is connected to the host system. There are currently only two relevant physical interfaces, Sata and PCIe, regardless of form factor and connector. Depending on the version, these limit the maximum speed of an SSD. In practice, however, the performance depends more on the controller, the memory and the protocol, apart from sequential transmissions.

Sata, more precisely Serial Advanced Technology Attached, is the older and even more widespread standard for SSDs. The current version of the interface is referred to as Sata-3 or Sata 6 GBit/s, which at least shows the theoretical speed. 6 GBit/s correspond to 750 MByte/s, but neither the coding nor the protocol overhead are included. Due to the 8b/10b encoding, 600 MByte/s remain, the overhead then pushes the practically achievable speed to about 560 MByte/s. The speed of the encoder is then reduced to about 560 MByte/s. The speed of the encoder is also reduced to about 560 MByte/s.

With PCIe, a faster interface in the upper and middle SSD price segment has now become established. Most users are familiar with this connection from graphics cards, although solid state drives use fewer lanes. The first models with PCIe Gen1 or Gen2 were reserved for the PEG slot (PCIe for Graphics) and a niche product apart from servers. With the Macbook Pro and the cylindrical Mac Pro, PCIe Gen2 entered the consumer desktop and notebook segment in 2013, with the Samsung XP941 also supporting PCIe Gen3.


* Protocol overhead not included, real speed depending on the respective SSD


PCIe Gen2 is still widely used today, for example when a solid state drive is connected to lanes of the chipset. PCIe Gen2 theoretically achieves 500 MByte/s per lane, but due to the 8b/10b encoding the speed is reduced. Today, typical PCIe Gen2 x4 connections limit the speed to roughly 1.6 GByte/s. With PCIe Gen3 a 128b/130b encoding was introduced, with four lanes this theoretically results in up to 3.94 GByte/s and practically the fastest PCIe Gen3 x4 SSDs deliver up to 3.5 GByte/s.

Only models that use eight lanes and those that already rely on PCIe Gen4 are currently even faster. IBM's Power9 CPUs have been capable of this for several years. However, the development of SSD with PCIe Gen4 was significantly accelerated by x86 processors from AMD: The Epyc 7002 (Rome) for servers and the Ryzen 3000 (Matisse) for desktops have integrated corresponding lanes. In the consumer segment there are solid state drives with PCIe Gen4 x4 with up to 5 GByte/s per Phisons E16 controller and in the enterprise market even those with over 7 GByte/s, more precisely Samsung's PM1733.

Intel will support PCIe Gen4 only with the server CPUs called Ice Lake SP, which are planned for 2020. One year later, Sapphire Rapids will be used to support PCIe Gen5, doubling the data rate per lane from 2 GB/s to 4 GB/s with 128b/130b encoding.

- Sata 6 GBit/s is limited to about 560 MByte/s in practice.
- PCIe Gen2 x4 can handle about 1.6 GByte/s and PCIe Gen3 x4 about 3.8 GByte/s.
- The first PCIe Gen4 x4 models reach 5 GB/s, but controllers or flash memory still limit this.

Read the 2nd part soon in the DPP Film Tech App

Related Articles: