I know there are many threads about emmc life and how to extend it. What I would like to know is how big an issue it is ?
My Samsung phone is 2 years old now and its being heavily used, it runs Android which is a linux flavor and so far I haven’t
had any issues. I actually haven’t even heard about the emmc wearing out in phones?
Has anyone experienced that the emmc has worn out ?
If it wore out was the device having unusual I/O patterns or heavy logging?
All eMMC/SD CARD build with eMMC/SD card controller and NAND chip
SLC NAND will have 100000/cell erase life .MLC NAND will have 10000/cell
eMMC chip will have HW12bit/1024Byte ECC ,and almost chip will have wear leave in the eMMC controller firmware
If you have 16GB eMMC . you can write total 16GBx10000 almost 160TB
Yes I know all the numbers but what does it mean in real world usage?
I have had phones used daily for 2 + years running on emmc and still no failure receiving 100+ text messages thats written to the emmc every day,
I assume there are quite a few logfiles being written to on a normal Android system as well. Not to mention videos and movies …
Has anyone actually experienced an emmc go bad due to it getting worn out ? Does the controller just refuse any more writes when it reaches the 3000 writes or does it attempt writing anyways ?
If you use it download movies every day just like my wife …
A certain fraction of the memory is kept back and used to replace bad blocks as they are detected. From the spec sheet:
“If a defective block is identified, JEDEC eMMC completely replaces the defective block with one of the spare blocks. This process is invisible to the host and generally does not affect data space allocated for the user.”
After a block replacement there is a risk that the filesystem will be left corrupt, and a possibility that fsck will not be able to repair the data. But re-flashing from backups should restore function. Of course the supply of spare blocks will eventually run out, but I suspect that this will take a long time.
Also, the wear leveling will attempt to spread writes across the blocks so as to prevent any one block from having a lot of writes.
Unless you’re doing a truly stupendous amount of writing, it’s unlikely to damage the eMMC in terms of expending the write capacity. As mentioned above, you’d need to write ~160TB to the eMMC, which is only ~0.002 TB, so we’re talking orders of magnitude of difference here. I forget how fast writes are to the eMMC, but I think you’d need to be writing to it, continuously, for several years to even make a dent in your write capacity.