Hallo Gemeinde, Ich stelle momentan Überlegungen für eine kleine Flashverwaltung für den internen Flashspeicher eines STM32F2 an. Nun stellt sich mir die Frage: Kann man einzelne Bits eines Bytes des Flashspeichers durch aufeinanderfolgende (byteweise) Schreibvorgänge nacheinander programmieren (also auf 0 setzen), ohne dass die Zelle zusätzlichen Schaden erleidet?
>Kann man einzelne Bits eines Bytes des Flashspeichers durch >aufeinanderfolgende (byteweise) Schreibvorgänge nacheinander >programmieren (also auf 0 setzen), ohne dass die Zelle zusätzlichen >Schaden erleidet? Nein. Es wird immer das ganze Byte geschädigt. Und noch schlimmer es wird eine ganze Page geschädigt. Vergiss es.
Ja. Seite! löschen (xxx byte) dann nach belieben Bits in dieser Seite auf 0 setzen. Die größte Belastung für die Flash-Zelle ist das löschen.
Der Witz am Verfahren soll sein, dass so viele Bits wie möglich programmiert werden, bevor die Page wieder gelöscht wird. Beispielsweise wird in einem Byte der Zustand eines Teilbereichs des Flash markiert. Später soll dieser Bereich als "benutzt" markiert werden, womit verbliebene Bits im Byte ebenfalls auf 0 programmiert werden. Die Zahl der Schreib-/Löschzyklen soll dadurch minimiert werden. Aber möglicherweise geht der Schuss nach hinten los?
>Die Zahl der Schreib-/Löschzyklen soll dadurch minimiert werden. Aber >möglicherweise geht der Schuss nach hinten los? Papp dir ein SPI FRAM dran und vergiss den Quatsch.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.