Ein Flashspeicher lebt nicht unendlich. Jede Zelle überlebt nur eine bestimmte Anzahl von Löschzyklen.
Deswegen werden die Daten möglichst intelligent verteilt, um so wenig wie möglich zu löschen. Zudem werden auch Daten invertiert, um weniger Zellen zurücksetzten zu müssen.
Diese Tricks sollen die Lebensdauer von Flashspeichern deutlich erhöhen.
Aber für mich bleibt eine Frage: Wie ist das mit dem Dateisystem? Das befindet sich doch auch auf den Speicher und das Dateisystem wird eigentlich bei jeden Lese- und Schreibzugriff überschrieben z.B. wird das Datum „Zuletzt verwendet“ oder „Geändert am“ neu gepeichert.
Zudem muss sich das Dateisystem defekte Blöcke und Zellen merken.
Außerdem muss auch der intelligente Controler irgendwo speichern, welche Blöcke schon wie oft überschreiben wurden bzw. wie die Daten verteilt wurden, um möglichst viele Löschzyklen zu vermeiden.
All diese Informationen werden doch auch auf den Flashspeicher gespeichert!?
Wird an dieser Stelle die Zellen nicht besonders belastet? Denn da kann man doch diese „Tricks“ nicht anwenden und hier wird besonders viel gelöscht und überschrieben.
Besteht hier nicht die Gefahr, dass die Daten nicht mehr lesbar sind, weil die Controlerinformationen oder das Dateisystem von defekten Zellen betroffen ist!?
Wie lösen das die Hersteller?
Besten Dank!
MfG, Peter
Moien
Aber für mich bleibt eine Frage: Wie ist das mit dem
Dateisystem?
Das „Umsortieren“ passiert transparent für das Dateisystem. Es ist sogar transparent für den PC, d.h. von aussen sieht man gar nichts. Das ist wie bei normalen Festplatten. Auch die tauschen Blöcke gegen Reserveblöcke aus und keiner merkt was.
Zudem muss sich das Dateisystem defekte Blöcke und Zellen
merken.
Das ist ein Problem. Ein defekter Block im Flash kann wandern. D.h. wenn ein Flashspeicher soweit defekt ist kann man ihn wegschmeissen.
Außerdem muss auch der intelligente Controler irgendwo
speichern, welche Blöcke schon wie oft überschreiben wurden
bzw. wie die Daten verteilt wurden, um möglichst viele
Löschzyklen zu vermeiden.
Das macht man intern.
All diese Informationen werden doch auch auf den Flashspeicher
gespeichert!?
Ja, als Anhängsel am jeweiligen Flashblock. Der Block wird dadurch nicht öfter überschreiben.
Besteht hier nicht die Gefahr, dass die Daten nicht mehr
lesbar sind, weil die Controlerinformationen oder das
Dateisystem von defekten Zellen betroffen ist!?
Wenn eine Zelle den Geist aufgibt kann das System Reservezellen nehmen. Wenn die Reservezellen aufgebraucht sind wird eine defekte für den PC sichtbar. Und dann ist alles aus.
cu
Hi,
danke für deine Antwort.
Außerdem muss auch der intelligente Controler irgendwo
speichern, welche Blöcke schon wie oft überschreiben wurden
bzw. wie die Daten verteilt wurden, um möglichst viele
Löschzyklen zu vermeiden.
Das macht man intern.
Wie wird das intern gespeichert? Auch auf Flash oder kommt da eine andere Speichertechnologie zum Einsatz? Ansonsten ist da doch wieder das gleiche Problem.
All diese Informationen werden doch auch auf den Flashspeicher
gespeichert!?
Ja, als Anhängsel am jeweiligen Flashblock. Der Block wird
dadurch nicht öfter überschreiben.
Ist das richtig (meine Überlegung)?: Ein Block fasst mehre Zellen zusammen. Wird eine Zelle überschrieben (aus 1 wird 0) muss der komplette Block gelöscht werden und die Zellen müssen neu befüllt werden.
Jeder Block hat zusätzlich ein paar Zellen für die Information, wie oft die Zelle überschrieben wurde, spendiert bekommen und wird gleich mit überschrieben, da sowieso der ganze Block gelöscht wird.
Besteht hier nicht die Gefahr, dass die Daten nicht mehr
lesbar sind, weil die Controlerinformationen oder das
Dateisystem von defekten Zellen betroffen ist!?
Wenn eine Zelle den Geist aufgibt kann das System
Reservezellen nehmen. Wenn die Reservezellen aufgebraucht sind
wird eine defekte für den PC sichtbar. Und dann ist alles aus.
Das verstehe ich nicht. Ich dachte immer, dass wenn eine Zelle den Geist auf gibt, diese Gesperrt wird und die nächsten Daten in andere Blöcke gespeichert werden - so wie defekte Sektoren auf Festplatten deaktiviert werden.
Moien
Ja, soweit past das mit den Materialen der Flashhersteller zusammen. Was genau abgeht die Betriebsgeheimniss, aber das Prinzip sollte so passen.
Es gibt noch einen weiteren Abschnitt im Flash um eine Liste der toten Zellen zu halten. Die Information ob eine Zellen tot ist oder nicht kann man nicht in der jeweiligen Zelle speichern. Die muss ausserhalb gehalten werden.
Wenn eine Zelle den Geist aufgibt kann das System
Reservezellen nehmen. Wenn die Reservezellen aufgebraucht sind
wird eine defekte für den PC sichtbar. Und dann ist alles aus.
Das verstehe ich nicht. Ich dachte immer, dass wenn eine Zelle
den Geist auf gibt, diese Gesperrt wird und die nächsten Daten
in andere Blöcke gespeichert werden - so wie defekte Sektoren
auf Festplatten deaktiviert werden.
Sag ich doch: wenn eine Zelle stribt kommt eine Reservezelle ins Spiel. Die übernimmt die Daten und wird dann als normale Zelle geführt.
cu