kann ich in eine bereits geschriebene Seite schreiben, wenn ich die bereits geschriebenen Bereiche vermeide?
Wenn ich verstehe, p. 16 des Datenblattes richtig heißt es: Mit diesem speziellen Chip dürfen Sie nicht in eine zuvor geschriebene Seite schreiben, auch wenn Sie die bereits geschriebenen Bereiche meiden.
Einzelheiten
Das Datenblatt zum SST25VF064C-Flash-Speicherchip auf S. 22 . 16 sagt: "Die Seitenprogrammanweisung programmiert bis zu 256 Datenbytes in dem Speicher. Die ausgewählte Seitenadresse muss sich in dem gelöschten Zustand (FFH) befinden, bevor die Seitenprogrammoperation initiiert wird."
Ich gehe daher davon aus, dass "die gesamte ausgewählte Seite im gelöschten Zustand sein muss (jedes Byte auf der Seite FFh), bevor eine Seitenprogrammoperation eingeleitet wird." Hat SST oder Microchip eine Dokumentation veröffentlicht, die diesen verrückt mehrdeutigen Satz klarstellt?
Nach meiner Erfahrung schreibt der Hersteller aller MLC-Flash-Chips und einiger neuerer SLC-Flash-Chips vor, dass nach dem Schreiben einer Seite die Seite gelöscht werden muss , bevor diese Seite erneut geschrieben wird, auch wenn Sie nur ein Bit in a ändern möchten 0 bit. (Dies wird im YAFFS-Artikel als " Einmalschreib -Regel" bezeichnet .)
Nach meiner Erfahrung können Sie mit allen älteren Flash-Chips jedes 1-Bit in ein 0-Bit ändern, ohne einen Löschzyklus auszuführen, selbst wenn sich dieses Bit in einer Seite oder in einem Byte befindet, für das bereits andere Bits auf Null programmiert wurden - a Die Blitzseiten können zwischen den Löschvorgängen mehrmals programmiert werden. (Dies wird im YAFFS-Artikel als "Mehrfachschreiben" bezeichnet.)
Das Datenblatt des Herstellers ist ein bedingtes Versprechen des Herstellers an Sie. Solange Sie alle Datenblattempfehlungen befolgen, verspricht der Hersteller, dass der Chip wie angegeben funktioniert. Ich vermute, dass, wenn Sie eine zuvor geschriebene Seite programmieren und die bereits geschriebenen Bereiche meiden, eine gute Chance besteht, dass ein sofortiges Zurücklesen die Daten liefert, die Sie erwarten - die neu geschriebenen Bytes sind die Werte, die Sie gerade geschrieben haben. und die anderen Bytes sind wahrscheinlich unverändert. Da dies jedoch nicht den Empfehlungen des Datenblattes entspricht, können Sie sich nicht mehr auf alle Versprechen im Datenblatt verlassen. Ich höre Gerüchte, dass eine solche nicht genehmigte Aktivität die Vorratsdatenspeicherungszeit und -dauer aufgrund von Programmstörungen, Überprogrammierung, Ladungsfalle, ähnlichen Effekten wie DRAM-Zeilenhammer usw. beeinträchtigt .
Das Speicherverwendungsschema beeinflusst die Bitfehlerrate. Partielle Seitenprogrammierung, nicht sequentielle Seitenprogrammierung innerhalb des Blocks, übermäßiges Lesen pro Block ohne Löschen sowie ungleiche Anzahl von Leseoperationen innerhalb eines einzelnen Blocks erhöhen die Anzahl der Lesevorgänge Fehler stören. " - Michal Jedrak.
Msgstr "NAND - Flash - Speicher in eingebetteten Systemen".
"Programmstörung tritt auf, wenn ein Bit während eines Seitenprogrammierungsereignisses ungewollt von" 1 "auf" 0 "programmiert wird. Dieser Bitfehler kann entweder auf der zu programmierenden Seite oder auf einer anderen Seite im Block auftreten. Vorspannungsbedingungen in Der Block während der Seitenprogrammierung kann dazu führen, dass eine kleine Strommenge in benachbarte Speicherzellen getunnelt wird. Wiederholte partielle Seitenprogrammierungsversuche verschlimmern diesen Zustand weiter. - Douglas Sheldon und Michael Freie.
Msgstr "Testen in Flash - Speichern stören" . p. 8, 9.
"Programmstörung tritt auf, wenn ein Bit während eines Programmiervorgangs ungewollt programmiert wird (1 bis 0). ... Dieser Zustand wird durch zufälliges Programmieren im Block und durch Anwenden mehrerer teilweiser Schreibvorgänge auf die Seiten verschlimmert."
"Yaffs NAND-Flash-Ausfallminderung"