Tech blog October 2, 2015
This post is a part of a joint effort. If you're more technically inclined, you may want to read this instead.
Solid state drives are created using NAND flash which?electric transistors. Without any moving parts, SSDs record data by applying varying amounts of voltages to the cells. SLC (Single-Level Cell) SSD's can store a maximum 1 bit of data and thus only 2 possible states need to be read by the controller (1 bit means the only possible applicable states are 00 and 01 -- classic binary). When employing an MLC design (Multi-Level Cell), the cells can now store?2 bits of data, thus allowing a distinction of 4 states to be read by the controller?(00, 01, 10, 11). The TLC design (Tri-Level Cell) applies the same concept but is 3 bits of data and 8 voltage states (000, 001, 010, 011, 100, 101, 110, and 111). The most common design is MLC because of the high price associated with the SLC ?design and the relatively low reliability of?the TLC version.
How NAND Works
To best understand the differences between these devices, we must first learn how NAND flash stores and reads memory. If you were to look inside a NAND flash cell, you would find transistors arranged in a grid, complete with columns and rows. If these transistors (the floating gate, specifically) have a charge, then the value is 1. If no charge is reaching the transistor, it has a value of 0. The transistors are set to 1 to begin, this is the default state. So when the controller “saves” something, it is changing the voltages?and changing the state from 1 to 0. The unique pa ttern of 0's and 1's is how data is recorded.
A look at the inner architecture of NAND flash. Source: Wikipedia
Single level cells work in this exact way, meaning they store data utilizing only two states (0 or 1). This configuration comes with its own set of pros and cons. SLC SSDs are much faster at reading data than their MLC counterparts because they only need to check two different voltage states, 0 or 1. Less intensive read and write cycles also means that SLC have a durability that far surpasses MLC and TLC SSDs (in order of magnitude). These features are great, but due to only having 2 states(bits)?per cell, the density is much lower, resulting in a much higher cost per gigabyte. Physically, the two styles of SSDs are exactly the same -- the difference comes from how the data is accessed. MLC's are double the density of SLC's because each cell?of an SLC can only record and read 1 bit of data while its MLC counter-part is able to hold 2 bits of data. The same principle holds true for a TLC device as well, but that number gets bumped up to 3 bits of data per cell. This is, of course, an EXTREMELY simplified look at the inner workings. We've published a more in-depth article that will provide a more satisfying peak under the hood.
As a consumer, most drives you encounter will feature a multi-level cell. Because MLC SSD's have four distinct states (00, 01, 10, 11), they double the capacity of their SLC counterparts, allowing a much cheaper price-per-GB. The price of admission to much cheaper data capacity is a slower read/write time (because the controller needs to check double the amount of possible states) and more wear-and-tear. It's also important to note that when it is said that MLC drives are "slower", it's relative to an SLC drive.; overall these drives are still fantastically fast . As for wear-and-tear, though it is true SLC drives last much longer, device makers have implemented some features to allow MLC drives the durability to make this a negligible concern at the consumer-level.
The wear-and-tear arises because naturally by simple virtue of how SSDs work. During regular use of the drive’s life, the voltage levels will be in constant flux. With elec trons being added on a regular basis, sometimes they get stuck and remain there. If a cell has too many electrons that are stuck, it becomes harder to distinguish between the different states (this is magnified if you have more than 2 states). With an MLC device, the deterioration comes much more quickly because of the sensitivity required to read one of a possible four states. This same problem then applies if a TLC NAND needs to distinguish between 8 separate states.
The inherent issues brought about by reducing cost and introducing the MLC design were met with certain measures to combat the wear-and-tear. Error correction code (ECC), for example, is now standard in all SSDs. This algorithm helps correct “soft” errors, which occur in every NAND chip. ECC works by using parity bits that work when the other bits fail during use. Another h elpful implementation?is Wear-Leveling. This mechanism helps spread out the workload of the SSD onto different cells around the SSD so that they all are written equally throughout the life of the device. If the device was allowed to write onto the same blocks unconditionally, it would wear out certain blocks and cause them to be unusable. We will be providing a much more in-depth look at some common SSD implementations meant to quell issues with degradation in our next blog post.
The differences between SLC, MLC, and TLC go beyond skin-deep. In fact, on the superficial level, these are?all?identical. The differences only arise when you look at how exactly your data is being accessed and written, with rather large effects on your SSD's speed, density, and price. MLC's in-between, "just right" format has allowed it to be the de-facto standard when looking at most SSD's on the market.
Article by: Israel Imru