SLC/Non-SLC Cache

SLC/Non-SLC Cache

The documents illustrate the pros and cons of SLC cache and non SLC (Direct Write to TLC) cache in context of SSD design as well as their approaches and applications. Variations of the SLC cache shall be covered as well. 

There are three different types of NAND Flash currently available: SLC, MLC and TLC, as shown in the figure below. Individual cells of SLC, MLC and TLC can save 1, 2, and 3 bits respectively. SLC enjoys faster speeds and a longer service life, but come with a higher cost. TLC, on the contrary, is slower, has a shorter service life, but costs less in comparison. Most SSDs nowadays employ TLC Flash. 

Low-cost TLC SSDs have become popular, but at the cost of poor Program/Erase Count. Advances in the NAND Flash process are making oxide layer chemical bonding on bit cells of NAND (the basic storage unit) even harder to control, i.e. declining P/E count down to 3~5% of SLC.

Thanks to the continuous advances in NAND development, the density and capacity of NAND Flash continues to improve. Wear leveling SSD I/O suggests that the service life of TLC NAND may be better off by adding space to reduce wear and tear of individual cells. Assuming the same amount of writing-in, a 240GB TLC SSD may last twice as long as a one with 120GB, while a 480GB SSD sees a similar result over a 240GB drive. It seems that the shorter service life disadvantage of TLC SSD can be dealt with through its increasing capacity.

Another commonly cited drawback of TLC SSDs is slower I/O speeds. Official data and benchmarking results from leading SSD makers and technology media outlets consistently show that maximum I/O speeds are rising continuously. As a result, slow speeds need not be a critical drawback as there are various approaches in raising SSD speed.

SLC cache is the primary method adopted in speeding up read/write of TLC SSD. The name "SLC cache" implies that it is not true SLC NAND Flash. SLC NAND Flash outperforms MLC and TLC in read/write speed because its cells can save 1 bit of data. SLC cache employed by TLC SSD changes the I/O speed of SSDs by reserving some space in the TLC NAND Flash and saving only 1 bit of data in each cell.

Another approach is Overall Dynamic Partition. The size of SLC cache varies with the actual usage status of the SSD. This balances the wear off and prevents over-consumption of the over P/E of the overall NAND Flash at the expense of fluctuating SLC cache space. Either way, it improves the read/write performance of the SSD.

SLC cache also comes with additional benefits. For example, when unexpected power outages occurs, writing into TLC NAND other bits in the same cell may get lost and data may be damaged. This is not the case with SLC cache as only 1 bit was saved into a cell.

A concern with this SLC cache approach is unstable write-in speed. Once the amount of data for write-in outstrips load capacity of SLC cache, the latter has to write data in TLC instead. This results in a falling write-in speed. A SSD that uses this approach for image data storage or monitoring may lead to lagging images. The SLC cache mechanism performs very well at the beginning and plummets later. This is not the case with the non-SLC cache mechanism as it continues to perform without I/O deceleration.