So, what’s the difference between SLC and MLC Flash that determines where and how they should be used? In essence, all Flash memory is a type of EEPROM storing information in an array of memory cells made from floating-gate transistors. Each cell of an SLC device stores only one bit of information. MLC on the other hand, stores more than one bit per cell by choosing between multiple levels of electrical charge to apply to the floating gates of its cells.
Long Term Reliability
The main concern of using Flash memory within an Embedded System is reliability. Failure of Flash memory occurs at cell level. MLC’s technique of writing multiple bits of data to the same cell results in a much faster wear rate and hence a major reduction in Flash life. Far from ideal for Embedded applications where unattended long term reliability is key. It is estimated that the endurance of SLC Flash is 10x more than that of MLC.
MLC Flash is largely used in consumer applications that do not require long term reliability such as consumer grade USB Flash drives, portable media players, and Compact Flash cards intended for Digital Cameras, PDA’s etc.
Leakage is not significant in SLC Flash allowing operation across industrial temperature ranges – typically between -40°C and +85°C.
Typically performance is determined by the memory controller itself and is not noticeably different for SLC and MLC Flash memory. Having said that, it stands to reason that reads / writes to different levels of the same cell will take fractionally longer.
When choosing Flash memory for an Embedded application it is important to consider these factors. Flash memory is similar in design but whilst MLC Flash devices cost less and allow for higher storage density, SLC Flash devices provide better performance and greater reliability – even at temperatures outside the operating range of MLC Flash devices. So, to ensure maximum performance and durability, selection of SLC Flash is essential for Embedded devices.