page contents

About the Post

Author Information

SSD- What’s the difference between SLC and MLC?

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 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 life-cycle in the case of  MLC if the entire memory is programmed 5 times  daily for 5 years and  runs up to 50 years for SLC under the same usage.

 

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.


Tags: , , , ,

Comments are closed.

Copy Protected by Chetan's WP-Copyprotect.