Hallo,

ich habe eine Frage zu den Lösch-/Schreibzyklen von Flash-Speichern. Speziell geht es mir aktuell um den A25L080. Im Datenblatt (http://www.amictechnology.com/pdf/A25L080.pdf) steht, dass er 100000 Lösch-/Schreibzyklen abkann.

Beim löschen werden alle Bits im Speicher auf 1 gesetzt und man kann sie nur auf 0 "schreiben". Wenn ein Bit mal 0 ist kann man es nur durch löschen wieder auf 1 setzen. (Ich habe probiert eine 1 reinzuschreiben, es bleibt aber 0)

Die kleinste Einheit, die gelöscht werden kann ist ein Sektor, der aus 4096 Bytes besteht. Ich möchte nun im ersten Sektor eine Art Inhaltsverzeichnis anlegen. Ich benötige dafür unter anderem 256 Status-Bits. (32 Bytes) Die Bits werden nach und nach auf 0 gesetzt, jedes mal nach einer halben Minute und eines neuen Schreib-Vorgangs.

Wenn ich jetzt z.B. das erste Byte betrachte ist der Ausgangszustand nach dem löschen:

0b11111111

Ich setze nun ein Bit auf 0, dann sieht es z.B. so aus:

0b11111110

Wenn ich nun noch ein Bit auf 0 setze mit folgendem Ergebnis:

0b11110110

zählt das dann bereits als zwei Schreib-Zyklen? Ich bin der Meinung, dass ein Zyklus erst wieder durch löschen des ganzen Sektors gezählt wird, kann mich aber auch irren. Das ganze wäre aber wichtig, denn wenn es pro Nullen eines Bits einen Zyklus "kostet" muss ich mir eine andere Vorgehensweise überlegen, denn sonst hält mein Speicher nur knapp ein halbes Jahr und dann sind die Zyklen verbraucht.

Die Frage, die mich also quält: Wenn ich jetzt nach und nach alle 8 Bits des ersten Bytes gelöscht habe zählt das dann als 8 Schreib-Zyklen, oder nur als einer?

Ich habe bereits Google zu diesem Thema befragt, aber keine vernünftige Aussage erhalten, vor allem nicht auf mein IC. Auch eine Mail an den Hersteller blieb leider unbeantwortet. (seit über einer Woche, ich habe keine Hoffnung, dass da noch was kommt) Wer klärt mich bei den Flash-Speichern auf?

Vielen Dank und viele Grüße
Andreas