ondrej1024
Posts: 151
Joined: Thu Dec 05, 2013 3:09 pm
Contact: Website

eMMC flash memory reliability

Fri Oct 13, 2017 8:27 am

Are there any data out there that show how reliable the CMs eMMC flash memory chip is?

The CM3 mounts the Samsung KLM4G1FEPD flash chip but I couldn't find any useful information on the number of read/write operations before the flash gets corrupted. Does the integrated controller perform wear leveling? How does this chip perform compared to a microSD card?

Has anyone here run some stress test to check the durability of this chip?

For a product design this is quite important information but I can't seem to find it anywhere.

Ondrej
The Telegea.org project: https://www.telegea.org

jamesh
Raspberry Pi Engineer & Forum Moderator
Raspberry Pi Engineer & Forum Moderator
Posts: 21504
Joined: Sat Jul 30, 2011 7:41 pm

Re: eMMC flash memory reliability

Fri Oct 13, 2017 10:53 am

Flash suppliers are generally fairly reluctant to release information like this, since the data is so dependent on the use case. In fact they simply don't release it. Also, Raspberry Pi do change flash suppliers over time, so it will also vary in that way. One thing to say that is valid is that the reliability is MUCH higher than flash cards, since it uses MLC rather than TLC flash., which is an order of magnitude more robust. You can mitigate lifetime issues by reducing flash writes fairly easily.
Principal Software Engineer at Raspberry Pi (Trading) Ltd.
Contrary to popular belief, humorous signatures are allowed. Here's an example...
"My grief counseller just died, luckily, he was so good, I didn't care."

ondrej1024
Posts: 151
Joined: Thu Dec 05, 2013 3:09 pm
Contact: Website

Re: eMMC flash memory reliability

Mon Oct 16, 2017 10:08 am

Thanks for the info. In fact I didn't know about MLC and TLC flash technologies. Now I googled them so I have learned something new ;)
There is also eMLC which is enterprise grade MLC. But how can we know for sure that eMMC really uses MLC (or maybe eMLC) and SD cards use TLC? Couldn't find any information about that.

Knowing the technology the memory chips are based on would give us some good indication of the durability. I found in interesting article which explains NAND flash technologies here. The following table show a summary:
flash-tech-comparison.png
flash-tech-comparison.png (28.09 KiB) Viewed 4003 times

So MLC seems to support just about 2 times more read/read cycles during its lifespan than TLC flash.
The Telegea.org project: https://www.telegea.org

Andy1978
Posts: 16
Joined: Fri Jan 04, 2013 7:01 pm

Re: eMMC flash memory reliability

Fri Dec 07, 2018 6:32 am

It would be very useful to have the possibility to read the wear leveling stats via some kernel interface or vcgencmd.

For a commercial product it is important to run the system for 2 months and then roughly estimate the future lifetime under this condition. As far as I understand the BCM2837 does the (dynamic or static?) wear leveling so the information is available...

PhilE
Raspberry Pi Engineer & Forum Moderator
Raspberry Pi Engineer & Forum Moderator
Posts: 2016
Joined: Mon Sep 29, 2014 1:07 pm
Location: Cambridge

Re: eMMC flash memory reliability

Fri Dec 07, 2018 3:51 pm

As far as I understand the BCM2837 does the (dynamic or static?) wear leveling so the information is available...
Where did you hear this? It's not something I've come across. If there is any wear levelling it is more likely to be in the device itself or in the OS.

swahren
Posts: 33
Joined: Mon Sep 19, 2016 5:24 pm
Location: Germany

Re: eMMC flash memory reliability

Sun Dec 09, 2018 1:27 pm

ondrej1024 wrote:
Mon Oct 16, 2017 10:08 am
But how can we know for sure that eMMC really uses MLC (or maybe eMLC) and SD cards use TLC? Couldn't find any information about that.
Just look at the part number of the eMMC chip and search for the datasheet.

Btw there are also SLC SD cards, but they are very expensive and have a very low density (<=4GB).
Andy1978 wrote:
Fri Dec 07, 2018 6:32 am
It would be very useful to have the possibility to read the wear leveling stats via some kernel interface or vcgencmd.
There is already a userspace tool for such information, but the output highly depends on the supported JEDEC version of the eMMC: mmc-utils

incognitum
Posts: 115
Joined: Tue Oct 30, 2018 3:34 pm

Re: eMMC flash memory reliability

Sun Dec 09, 2018 4:44 pm

ondrej1024 wrote:
Mon Oct 16, 2017 10:08 am
But how can we know for sure that eMMC really uses MLC (or maybe eMLC) and SD cards use TLC? Couldn't find any information about that.
Sometimes it's advertised on the packaging.
E.g. SD cards targeting the security camera market do tend to be MLC.
mlc-inside.jpg
Card advertising "MLC inside"
mlc-inside.jpg (38.89 KiB) Viewed 1820 times

JohW
Posts: 9
Joined: Wed Mar 01, 2017 9:17 am

Re: eMMC flash memory reliability

Mon Dec 17, 2018 7:38 am

PhilE wrote:
Fri Dec 07, 2018 3:51 pm
As far as I understand the BCM2837 does the (dynamic or static?) wear leveling so the information is available...
Where did you hear this? It's not something I've come across. If there is any wear levelling it is more likely to be in the device itself or in the OS.
PhilE, you are absolutely right. It looks like the NAND Module KLM4G1FEAC-B031 does the wear leveling under the hood:
The embedded flash management software or FTL(Flash Transition Layer) of e·MMC manages Wear Leveling, Bad Block Management and ECC. The FTL supports all features of the Samsung NAND flash and achieves optimal performance.
This is the only information I've found so far.

PhilE
Raspberry Pi Engineer & Forum Moderator
Raspberry Pi Engineer & Forum Moderator
Posts: 2016
Joined: Mon Sep 29, 2014 1:07 pm
Location: Cambridge

Re: eMMC flash memory reliability

Mon Dec 17, 2018 7:46 am

Thanks for the confirmation.

gordon77
Posts: 3737
Joined: Sun Aug 05, 2012 3:12 pm

Re: eMMC flash memory reliability

Mon Dec 17, 2018 9:23 am

jamesh wrote:
Fri Oct 13, 2017 10:53 am
Flash suppliers are generally fairly reluctant to release information like this, since the data is so dependent on the use case. In fact they simply don't release it. Also, Raspberry Pi do change flash suppliers over time, so it will also vary in that way. One thing to say that is valid is that the reliability is MUCH higher than flash cards, since it uses MLC rather than TLC flash., which is an order of magnitude more robust. You can mitigate lifetime issues by reducing flash writes fairly easily.
Interesting "Raspberry Pi do change flash suppliers over time" Aren't products built by 3rd parties, eg Sony, RS, Farnell etc ( excluding the Zero?) so does the RPF specify the suppliers to use?

User avatar
rpdom
Posts: 13558
Joined: Sun May 06, 2012 5:17 am
Location: Chelmsford, Essex, UK

Re: eMMC flash memory reliability

Mon Dec 17, 2018 10:00 pm

gordon77 wrote:
Mon Dec 17, 2018 9:23 am
Interesting "Raspberry Pi do change flash suppliers over time" Aren't products built by 3rd parties, eg Sony, RS, Farnell etc ( excluding the Zero?) so does the RPF specify the suppliers to use?
Only the Compute Modules have on-board flash memory. I have no idea who decides on suppliers, but it is irrelevant for most of the Pi range.

W. H. Heydt
Posts: 9681
Joined: Fri Mar 09, 2012 7:36 pm
Location: Vallejo, CA (US)

Re: eMMC flash memory reliability

Tue Dec 18, 2018 1:19 am

rpdom wrote:
Mon Dec 17, 2018 10:00 pm
gordon77 wrote:
Mon Dec 17, 2018 9:23 am
Interesting "Raspberry Pi do change flash suppliers over time" Aren't products built by 3rd parties, eg Sony, RS, Farnell etc ( excluding the Zero?) so does the RPF specify the suppliers to use?
Only the Compute Modules have on-board flash memory. I have no idea who decides on suppliers, but it is irrelevant for most of the Pi range.
DRAM suppliers have been changed from time to time on "regular" Pis, so I would imagine that could also be the case on CMs.

gordon77
Posts: 3737
Joined: Sun Aug 05, 2012 3:12 pm

Re: eMMC flash memory reliability

Tue Dec 18, 2018 8:55 am

rpdom wrote:
Mon Dec 17, 2018 10:00 pm
gordon77 wrote:
Mon Dec 17, 2018 9:23 am
Interesting "Raspberry Pi do change flash suppliers over time" Aren't products built by 3rd parties, eg Sony, RS, Farnell etc ( excluding the Zero?) so does the RPF specify the suppliers to use?
Only the Compute Modules have on-board flash memory. I have no idea who decides on suppliers, but it is irrelevant for most of the Pi range.
I asked in general not just on board flash.

Return to “Compute Module”