Reihenfolge beim Löschen eines Flashspeichers

OP #5263773
Lesenswert?

Hallo Community

Ich habe eine etwas speziellle Frage. Ich nutze einen externen 
Flashspeicher für einen Mikrocontroller. Wenn ich einen Löschvorgang 
starte (sektorweise oder gleich den gesamten Speicher), kann ich da 
irgendwie feststellen, in welcher Reihenfolge die Speicherplätze 
gelöscht werden? Werden sie einfach in aufsteigender Reihenfolge 
gelöscht oder ist dieser Prozess rein zufällig und überhaupt nicht 
kontrollierbar?

Danke und liebe Grüsse
Gast #5263776
Lesenswert?

Die werden alle gleichzeitig gelöscht; das ist die besondere Eigenschaft 
des Flash Speichers. Könnte man die Zellen einzeln löschen, wäre das für 
die Programmierung einfacher und der Baustein würde dies ermöglichen. Es 
geht aber eben nicht,  bzw. nur bei teurerem Speicher mit kleinen Pages 
oder NOR-Flash.
OP #5263791
Lesenswert?

Um Missverständnisse zu vermeiden hier eine kleine Ergänzung:
Mir ist bewusst das mit einem Löschbefehl mehrere Bytes bzw. ein Sektor 
gleichzeitig gelsöcht wird.

Mir geht es um folgende Frage: Wenn während des Löschvorgangs der Strom 
getrennt wird, wo muss ich dann noch mit "Restdatenmüll" rechnen?

Deshalb die Frage bezüglich der "Löschreihenfolge".

Könnte ich also beispielsweise davon ausgehen, dass beim Ausfallen der 
Versorgungsspannung während eines Löschvorgangs am Ende des Sektors noch 
korrekte daten zu erwarten sind oder ist diese Überlegung grundlegend 
falsch?

Danke und mfg
Gast #5263795
Lesenswert?

>Könnte ich also beispielsweise davon ausgehen, dass beim Ausfallen der
>Versorgungsspannung während eines Löschvorgangs am Ende des Sektors noch
>korrekte daten zu erwarten sind oder ist diese Überlegung grundlegend
>falsch?

Ja, die Überlegung ist falsch. Es gibt keine "Löschreihenfolge".
Gast #5263840
Lesenswert?

Überall 1 reinschreiben, löschen, unterbrechen, auslesen und Ergebnis 
anschauen. Und gerne auch teilen, interessiert mich auch

Natürlich mehrere Durchläufe machen und vergleichen, damit man es 
beurteilen kann.
#5263892
Lesenswert?

Ein Mikrocontrolerprogramm sollte eigentlich in der Regel so designt 
sein, dass es mit jedem Zustand seiner Umgebung, bei Start klar kommt...
Gibt es in deinem Fall Gründe die das verhindern?

Wenn es wirklich um viel Speicher geht, welcher eine Signifikante 
Verzögerunge rzögt,w enn du ihn gänzlich überschreibst, beim start, dann 
solltest du es eventuell etappenweise machen.
Also nur einen Teil löschen, den Fortschritt im persistenten Speicher 
festhalten, und dann weiter machen.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren