R
Rob2222
Dauer-User
- 1.219
schmiddi86 schrieb:Mich würden wirklich die genauen Abläufe interessieren, die zu einem SD führen. Und mich beschäftigt die Frage, ob es sich um einen schleichenden Prozess handelt oder nicht...
OK, ich versuche das mal mit meinem Wissen zu erklären und stütze mich dabei teilweise auch auf die Aussagen von Entropy512.
Flash-Speicher ist nicht beliebig oft beschreibbar. Man kann ihn mittlerweile schon relativ oft beschreiben, aber eben immer noch nicht unendlich oft.
Wenn jetzt ein Betriebssystem recht häufig/regelmäßig auf die Adresse 100 im Speicher schreiben würde, würde diese Stelle irgendwann sterben.
Damit das nicht passiert, verteilt der Controller des Flash-Speichers die regelmäßigen Zugriffe auf Adresse 100 einfach auf unterschiedliche Bereiche im Flash Speicher.
Das heißt, selbst wenn das Betriebssystem andauernd was auf Adresse 100 schreibt, legt der Controller das jedes Mal an einer anderen Adresse des Flash ab. Damit wird der Flash Speicher gleichzeitig "abgenutzt" obwohl das Betriebssystem eigentlich immer die selbe Adresse beschreibt.
Das nennt man Wear Levelling.
Jetzt muß also der Flash-Speichercontroller die ganzen Schreibzugriffe gleichmäßig auf den Chip verteilen und er muß auch immer genau wissen, wo auf dem Chip gerade unsere Beispieladresse 100 abgelegt ist. Hierfür gibt es Algorithmen. Der Controller ist also auch mit diesen Algorithmen programmiert worden. Die liegen in der Firmware des MMC Flash Controllers. In unserem Fall ist das die Firmware mit der Version 0xf1.
Und in dieser Firmware / in diesem Algorithmus liegt scheinbar (mal wieder) das Problem (ein Bug / Programmierfehler). In diesem Post meint Entropy, daß das jetzt das dritte mal ist, daß Samsung Probleme mit diesem System hat.
Was kann nun passieren, wenn dieser Algorithmus nicht immer zuverlässig arbeitet?
Fall 1) Er verteilt die Schreibzugriffe nicht gleichmäßig. Bestimmte Bereiche werden wesentlich öfter beschrieben als Andere. Diese nutzen sich wesentlich schneller ab und irgendwann sind Teilbereiche des Speichers kaputt.
Fall 2) Er verteilt die Schreibzugriffe richtig, kommt aber irgendwann mit der Zuordnung Adresse/Daten durcheinander. Das heißt irgendwann wollen wir unsere Beispieladresse 100 lesen und kriegen einfach total falsche Daten zurückgeliefert. Also zumindest nicht die, die wir unter unserer Beispieladresse 100 abgelegt haben.
Der zweite Fall wäre für uns User schöner, denn den Algorithmusfehler wird Samsung mit dem Fix hoffentlich ausgemerzt haben und wir sind für immer auf der sicheren Seite.
Bei dem ersten Fall kann es eben schon sein, daß einige Speicherbereiche mittlerweile so oft beschrieben wurden, daß sie irgendwann unzuverlässig werden, auch wenn sie jetzt nur noch "normal" beschrieben werden. Zumindest werden sie dann mit dem Fix aber nicht mehr weiterhin überproportional beansprucht.
Ob nun Fall1 oder Fall2 zutrifft, werde ich zumindest definitiv nicht herausfinden können. Und ich glaube das ist selbst eine harte Nuss für die Profis bei XDA. Vielleicht kriegen wir das auch nie definitiv raus.
Aber mal schauen, vielleicht gibts bei den XDA's ja noch Erkentnisse in der Zukunft.
Gruß
Rob
Zuletzt bearbeitet: