Refusing to Cheat: How Does the Hundreds of Erasing Lives of TLC Flash Memory Become 3,000 Times?
In addition to the flash memory, controller has played a significant role in SSDs. The controller has not only controlled the reading and writing of flash memory, but also provides ECC error correction service.
The reason why SSDs need error correction is that its NAND flash will face the error of data flipping in the beginning. So it’s necessary to set up error correction mechanism to detect and correct the mistakes. The whole process is automatically performed within the master of the SSD and usually the user does not perceive its presence. The following picture shows the TC58NC1010GSB master in the Toshiba TR200 SSD, which supports LDPC error correction.
What is error correction?
Maybe many friends don’t know what ECC is and why error correction becomes so important. The following picture is a diagram of information storage: each of flash memory sector reserves spare space for storing additional error correction information.
Invented by Toshiba in the 1987, NAND flash memory possesses more store space and lower cost per unit than NOR flash memory that appeared earlier. But, owing to high error rate, it should be matched error correction engine to remove BIT flipping phenomenon, which is to ensure right data.
TLC turned decays into magic: from 500 to 3,000 times
TLC is not considered good one before it is used in SSDs: the writing life of it is only a few hundred times and it may be further reduced as the process shrinks.
Fortunately, the development of flash memory is accompanied by advances in error correction technology. Although the error correction algorithm becomes complex, the performance of error correction is more and more effective. The original TLC flash memory with high-quality is durable as the past MLC.
The development of error correction and advantages of LDP:
The error correcting code of SSDs include BCH and LDPC. Although The latter one appeared late, it has already become the standard partner of contemporary 3D flash memory. However, although LDPC is strong, the effect is still related to the firmware level, especially the soft decoding error correction in LDPC.
The BCH and LDPC hard decoding error correction uses a predetermined threshold voltage to detect the data content in the flash memory unitand the result is not one or zero. In the case of the initial error correction failure, the BCH can recover the correct information through multiple Read Retry reread attempts; LDPC hard decoding can use the LLR log likelihood ratio to estimate whether the data is more likely to be 1 or 0.
If the BCH is still reading after the Read Retry, it means that an uncorrectable read error occurs: the user data is lost. At the same time, LDPC can also make a big move: soft decoding error correction. Soft decoding error correction requires the error correction engine to have a good understanding of the flash memory characteristics (different flash memory models, different erasing times, different read interference levels and even different temperatures may have their own optimized decoding scheme), using a variety of read voltages to try and synthesizing the LLR information to calculate the likelihood result.
Owing to this ability of prediction of LDPC soft decoding error correction, LDPC soft decoding error correction possesses the stronger performance of error correction than BCH. Of course, the experience is not borne on the wind but needs to have enough understanding of the characteristics of the flash memory. In this aspect, the original flash factory has a strong voice. This is also a reason why editor recommends that you choose Toshiba and other original SSDs: not only the quality of the flash memory is better, but also the error correction processing is also strong and the stability and life are naturally good.
In addition to the high error correction, error correction delay overhead is also an important indicator. After all, it takes more time to read and try to decode. After the integration of various factors, LDPC hard decoding lead the way and the mode of LDPC soft decoding performs better after the failure.
Write in the end: LDPC error correction is strong, but flash memory constitution can not be ignored. Bad flash particles are equipped with LDPC. Although too much soft decoding can hold down in a short time do not lose data, it will make the reading delay increased. The intuitive performance is a serious decline in performance. Maybe some fake SSDs may be stuck and not die, causing headaches for users.