- New blog series: One SSD Technology a Day
- A SSD Technology a Day (1) – Static Data Rotation
- A SSD Technology a Day (2) – What’s the difference between SLC and MLC?
- A SSD Technology a Day (3) – Program and Erase Cycle (P/E)
- A SSD Technology a Day (4) – Redundant Array of Independent Silicon Elements (RAISE)
- A SSD Technology a Day (5) – Wear Leveling
- A SSD Technology a Day (6) – CacheCade
- A SSD Technology a Day (7) – Intelligent Bad Block Management
- A SSD Technology a Day (8) – eMLC and MLC-HET
It’s time dissect the two main types of flash chips in order to understand why not all SSDs are created equal. What is after all the physical difference between SLC and MLC?
SLC stands for Single Level Cell and just like the name suggests can store one bit per NAND gate hence SLC cell has two states:
0 or 1 based on the charge of the NAND gate.
MLC on the other hand stands for Multi-Level Cell and uses multiple voltage threshold levels in order to store 2 or even 3 bits (also called TLC – Triple-Level Cell) in the same NAND gate. this is done by coding 4 or even 8 states (in the case of 3 bit TLC) on the same gate so the MLC will typically one of the following states :
11, 10, 01, 00). The benefit over SLC is the increased capacity per chip (2 or 3 times more) but at the same time the voltage reference levels are a lot tighter which leads to more rapid degradation of the cell after a lot of P/E (Program/Erase) Cycles. Once the MLC NAND gate has degraded the reads are no longer predictable because the stored value overlaps reference levels. In this case the memory will report an error or if the controller supports it it will retire the cell and replace it with one from the reserve capacity.
Typical number of write cycles is pretty solid around 100K for SLC and floats around 10K for MLC (different dies can have very different quality and will wear differently). This number is still high enough for a consumer lifecycle in the case of MLC if the entire memory is programmed 5 times daily for 5 years and runs uptu 50 years for SLC under the same usage.
|Type of flash cell||SLC||MLC 2bit||TLC 3bit|
|Typical capacity /chip||32GB||64GB||96GB|
|Endurance P/E cycles||100K||10K-30K||<1K|
|Performance Over Time||Constant||Degrades||Quickly Degrades|
|Application||Enterprise||Consumer||Thumb drives,Camera cards|
In the case of MLC the program cycle take 2 or 3 times more than for SLC since the programming signal has to be a lot more precise to code 4 states in the space of 2. This leads to higher speed and increased number of IOPS (IO Operations Per Second) for SLC type of memory compared to MLC.