Page 1 of 1

Lebensdauer eMMC

Posted: 07 Feb 2017, 09:31
by Sipple
Guten Morgen

Wie der Titel eigentlich schon andeutet geht es mir um die zu erwartende Lebensdauer des eMMC, da das ja fest verlötet ist. Bei den normalen PIs sind die SD-Karten ja kritisch. Da wurden wahrscheinlich schon unzählige kaputt geschrieben. Ich habe deshalb von Anfang an immer SLC basierte SD-Karten, verwendet. Z.T. auch Industriestandard-Versionen. Mit Erfolg. Noch ist keine einzige kaputt gegangen.
Bei dem eMMC des Compute Module habe ich da aber keinen Einfluss und finde auch keine exakten Daten, wie z.B. bei SSDs. Der eMMC ist mit 4GB auch recht knapp. Das reicht für die allermeisten Anwendungen zwar aus, aber für Wear-Leveling bleibt nicht so sehr viel Platz. Ich fürchte, da könnte schnell Schluß sein.

Natürlich kann man da keine Aussage treffen wie "Hält 2 Jahre, 3 Monate und 4 Tage, dann ist es kaputt", aber irgendein Anhaltspunkt wäre hilfreich. Evtl. auch eines der schönen Tutorials, wie man die Lebensdauer verlängern kann (Schreibzugriffe minimieren).

Danke und Gruß

Martin

Re: Lebensdauer eMMC

Posted: 07 Feb 2017, 15:25
by volker
Hallo Martin,
dies ist ein überaus vielschichtiges Thema und ich kann eigentlich nur mit einer längeren Antwort ein wenig Licht in das Thema bringen (im Blog gab es dazu auch schon mehrere Beiträge):

1) Raspi und SD-Card Probleme
Hier existiert im Internet viel Gerücht und Halbwissen. Eine genauere Analyse hat uns zu der Überzeugung gebracht, dass wir es hier wahrscheinlich mit folgenden Ursachen zu tun haben:
  • a) Überschätzung des Problems: Bei 12 Millionen Usern führen schon geringste Ausfallraten zu absoluten Ausfallzahlen, die durch Negativberichte dann einen Bias erzeugen (meist fehlen Positivberichte)
    b) Unsachgemäße Handhabung: Viele User nutzen das Gerät in einer Entwicklungsumgebung. Karten werden häufig mehrmals am Tag im laufenden Betrieb gezogen oder Geräte ohne Shut Down einfach vom Strom getrennt.
    c) Schwächen im Produkt: Flash-Speicher haben definitiv begrenzte Anzahl von write/erase Zyklen und das Dateisystem ist in bestimmten Schreibphasen bei Stromausfall verwundbar
Fakt ist, dass dieselbe Technologie auch in industriellen produkten durchaus problemlos zum Einsatz kommt und man daher vermuten muss, dass c) wahrscheinlich gar keine so große Rolle spielt.

2) eMMC Card
Jede eMMC Card hat im Prinzip ähnliche Schwachstellen wie c). Plötzlicher Einbruch der Versorgungsspannung während eines Schreibvorgangs kann das Dateisystem einer eMMC ebenso beschädigen und die Anzahl der erase/write Zyklen ist ebenso begrenzt.
In der nun schon eineinhalb Jahre dauernden Entwicklungsphase schalten unsere Softwareentwickler täglich sehr oft den RevPi aus, ohne ihn herunter zu fahren. in keinem einzigen Fall konnten wir eine beschädigung des dateisystems beklagen. Wir verwenden allerdings auch eine Einstellung des Betribessystems, welche die Schreibvorgänge sicherer macht.
Um noch mehr Sicherheit zu bekommen, kann eine USV eingesetzt werden (wir werden ein Modul dafür dieses Jahr vorstellen, dass über PiBridge dem System die verbleibende Akkuzeit mitteilt) und das System auf zwei Partitionen aufgeteilt werden, von denen die eine für den Bootvorgang notwendig ist und nur gelesen wird, während die andere auch beschrieben werden kann (wir werden diese besonders sichere Variante eines Images in einigen Monaten vorstellen).
Generell ist für Bewegungsdaten zu empfehlen, diese über USB auf ein externes Medium (austauschbarer Flash-Stick oder Festplatte) zu schreiben.

3) Lebensdauer:
im Compute Module wird der KLM4G1FEAC-B031 von Samsung verbaut. Die Daten dieses Speichers sind im Internet frei verfügbar, ebenso das Schaltbild des Compute Modules. Samsung gibt für den Chip im Datenblatt weder die Anzahl der erase/write Zugriffe an, noch eine Lebensdauer in Betriebsstunden. Zwei Register des Chips enthalten allerdings "Device life time estimation type A/B". Typischerweise liegen eMMC bei ca. 0,1 bis 1 Mio Schreibzugriffen garantierter Lebensdauer der einzelnen Zelle. Auf der anderen Seite sind die real erreichbaren Zykluszahlen von Flashspeichern erfahrungsgemäß deutlich höher - dank der eingesetzten Controllertechniken mit Wear Leveling etc. Der Samsung eMMC hat laut Datenblatt einen Flash Transition Layer mit Wear Leveling, Bad Block Management und ECC. Wie weit man damit ohne Datenverlsut kommt, dürfte nur sehr schwer berechenbar sein... Daher: Bewegungsdaten nicht dauerhaft auf die Flash, sondern ab damit auf einen Server, das Ganze nennt man dann IoT ;-)

Re: Lebensdauer eMMC

Posted: 07 Feb 2017, 16:16
by Sipple
Hallo Volker

Das nenne ich mal eine ausführliche und kompetente Antwort :)
Super Support, vielen Dank.

Gruß, Martin