{"id":606,"date":"2015-01-16T17:08:59","date_gmt":"2015-01-16T16:08:59","guid":{"rendered":"https:\/\/mjott.de\/blog\/?p=606"},"modified":"2015-01-16T17:25:20","modified_gmt":"2015-01-16T16:25:20","slug":"speicherkarte-mit-gedaechtnisproblemen","status":"publish","type":"post","link":"https:\/\/mjott.de\/blog\/606-speicherkarte-mit-gedaechtnisproblemen\/","title":{"rendered":"Speicherkarte mit Ged\u00e4chtnisproblemen"},"content":{"rendered":"<p>Im vergangenen Jahr hatte ich mit einer sehr speziellen SD-Speicherkarte ausgesprochen viel Spa\u00df. Zur Vorgeschichte: Diese Speicherkarte sollte eigentlich ihren Dienst in einem <a href=\"http:\/\/de.wikipedia.org\/wiki\/Banana_Pi\">Banana Pi<\/a> leisten, einem Kleincomputer mit den Abmessungen und der Rechenleistung eines Smartphones &#8211; Optimal geeignet als Heimserver mit geringer Energieaufnahme. Im Prinzip eine feine Sache, die aber einen kleinen Haken hatte: Der Server arbeitete nicht stabil. Ungef\u00e4hr einmal die Woche streikten einzelne Anwendungen oder Dateisysteme, bis hin zum kompletten Ausfall des Systems. Post mortem war festzustellen, dass Daten auf der Speicherkarte besch\u00e4digt waren, mit unbekannter Ursache.<\/p>\n<p>Es gibt es sowohl zum Raspberry Pi als auch zum Banana Pi viele Berichte \u00fcber Stabilit\u00e4tsprobleme mit Datenkorruption, die auf schlechte Netzteile zur\u00fcckgef\u00fchrt werden konnten. Das eingesetzte Netzteil war schon mehr als gro\u00dfz\u00fcgig ausgelegt, zur Sicherheit erg\u00e4nzte ich noch eine kleine Kondensatorbank um Lastspitzen besser abzupuffern &#8211; Ohne Erfolg. Auch alle Dateisysteme so weit wie m\u00f6glich nur schreibgesch\u00fctzt zu nutzen brachte keine dauerhafte Besserung. Prozessor und Arbeitsspeicher waren die n\u00e4chsten Verd\u00e4chtigen, aber bei entsprechenden Tests unauff\u00e4llig. Wer jetzt fragt: Und die Speicherkarte? Selbige wurde noch vor der ersten Verwendung einmal vollst\u00e4ndig gepr\u00fcft, ebenfalls ohne Beanstandungen.<\/p>\n<p>Bei der Aufkl\u00e4rung des Problems spielte der Zufall dann eine doppelte Rolle. Ich hatte die Speicherkarte mit einer Sicherungskopie wiederhergestellt und im Anschluss einige Daten wieder auf die Karte kopiert. Ein Abgleich danach zeigte ver\u00e4nderte Dateien auf, obwohl die Karte noch gar nicht wieder in Benutzung war. \u00dcber die ganze Karte verteilt waren jeweils ohne Zusammenhang einzelne Bytes gekippt und enthielten komplett falsche Daten. Also doch die Speicherkarte! Ein wiederholter Test zeigte: Sequentielles schreiben\/lesen war kein Problem, wurden aber bei vollem Medium viele kleinere \u00c4nderungen vorgenommen, kam es zuf\u00e4llig \u00fcber die Karte verteilt zu Datenverlusten. Eigentlich ein klassischer Fall von <a title=\"Write-Only-Memory - Wikipedia\" href=\"http:\/\/de.wikipedia.org\/wiki\/Write-Only-Memory\">write-only-memory<\/a>.<\/p>\n<p>Mit einer anderen SD-Karte l\u00e4uft der Banana Pi nun stabil.<\/p>\n<h2>tl;dr<\/h2>\n<p>Auch wenn Werkzeuge wie <a title=\"h2testw - heise online\" href=\"http:\/\/www.heise.de\/download\/h2testw.html\">h2testw<\/a> oder <a title=\"F3 by Digirati\" href=\"http:\/\/oss.digirati.com.br\/f3\/\">F3<\/a> keine Fehler finden, muss eine Speicherkarte deshalb nicht fehlerfrei sein. Treten bei l\u00e4ngerer Nutzung besch\u00e4digte Dateien oder Dateisysteme auf, kann dies auf Probleme mit dem Flash-Speicher oder dem Wear-Leveling hinweisen, insbesondere wenn diese Daten eigentlich nicht ver\u00e4ndert wurden. Um Fehler dieser Art zu \u00fcberpr\u00fcfen ist ein zus\u00e4tzlicher Schritt zu den genannten Werkzeugen erforderlich:<\/p>\n<ol>\n<li>Karte fast vollst\u00e4ndig mit einem definierten Inhalt beschreiben<br \/>\n(das leisten h2testw oder F3)<\/li>\n<li>Den freien Speicher mehrfach in kleinen Portionen beschreiben<br \/>\n(Bilder sind gut geeignet)<\/li>\n<li>Inhalt \u00fcberpr\u00fcfen<br \/>\n(hier k\u00f6nnen wieder h2testw oder F3 eingesetzt werden)<\/li>\n<\/ol>\n","protected":false},"excerpt":{"rendered":"<p>Im vergangenen Jahr hatte ich mit einer sehr speziellen SD-Speicherkarte ausgesprochen viel Spa\u00df. Zur Vorgeschichte: Diese Speicherkarte sollte eigentlich ihren Dienst in einem Banana Pi leisten, einem Kleincomputer mit den Abmessungen und der Rechenleistung eines Smartphones &#8211; Optimal geeignet als Heimserver mit geringer Energieaufnahme. Im Prinzip eine feine Sache, die aber einen kleinen Haken hatte: &#8230; <a title=\"Speicherkarte mit Ged\u00e4chtnisproblemen\" class=\"read-more\" href=\"https:\/\/mjott.de\/blog\/606-speicherkarte-mit-gedaechtnisproblemen\/\" aria-label=\"Mehr Informationen \u00fcber Speicherkarte mit Ged\u00e4chtnisproblemen\">Weiterlesen<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"ngg_post_thumbnail":0,"footnotes":""},"categories":[14],"tags":[42,41],"class_list":["post-606","post","type-post","status-publish","format-standard","hentry","category-digitales","tag-datenverlust","tag-speicherkarte"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/mjott.de\/blog\/wp-json\/wp\/v2\/posts\/606","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mjott.de\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/mjott.de\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/mjott.de\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/mjott.de\/blog\/wp-json\/wp\/v2\/comments?post=606"}],"version-history":[{"count":6,"href":"https:\/\/mjott.de\/blog\/wp-json\/wp\/v2\/posts\/606\/revisions"}],"predecessor-version":[{"id":612,"href":"https:\/\/mjott.de\/blog\/wp-json\/wp\/v2\/posts\/606\/revisions\/612"}],"wp:attachment":[{"href":"https:\/\/mjott.de\/blog\/wp-json\/wp\/v2\/media?parent=606"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/mjott.de\/blog\/wp-json\/wp\/v2\/categories?post=606"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/mjott.de\/blog\/wp-json\/wp\/v2\/tags?post=606"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}