Schreiben I2C EEPROM immer Seitenweise?

OP #7566832
Lesenswert?
• ▲
▼

In dem Datenblatt zum I2C EEPROM 24LC1025 von Microchip ist mir folgende Bemerkung aufgefallen, die ich z.B. in dem Datenblatt zum 24LC256 nicht gefunden habe:

"When doing a write of less than 128 bytes the data in the rest of the page is refreshed along with the data bytes being written. This will force the entire page to endure a write cycle, for this reason endurance is specified per page."

Trifft diese Eigenart auch auf kleinere Bausteine zu (z.B. 24LC128, 24LC256)? Dann würde es ja zum Schutz der Speicherzellen auch dort Sinn machen die Daten im MCU zu sammeln, bis eine Seite voll beschrieben werden kann, um sie dann über den entsprechenden Page-Write Befehl zu speichern.

Für fachkundige Hinweise wäre ich sehr dankbar. Schöne Weihnachten!

Gast #7566833
Lesenswert?
• ▲
▼

Oliver D. schrieb:

Trifft diese Eigenart auch auf kleinere Bausteine zu (z.B. 24LC128, 24LC256)?

Schau doch ins Datenblatt. Die Page-Size variiert je nach Chip.

Dann würde es ja zum Schutz der Speicherzellen auch dort Sinn machen die Daten im MCU zu sammeln, bis eine Seite voll beschrieben werden kann, um sie dann über den entsprechenden Page-Write Befehl zu speichern.

Ja

#7566848
Lesenswert?
• ▲
▼

Oliver D. schrieb:

"When doing a write of less than 128 bytes the data in the rest of the page is refreshed along with the data bytes being written. This will force the entire page to endure a write cycle, for this reason endurance is specified per page."

Bei manchen steht das drin, bei anderen aber auch nicht. Es hängt vom Hersteller ab, auf was sich die "write endurance" bezieht. Ich hatte mal EEPROMs, die vergaßen beim Byte schreiben Daten aus der selben Page, d.h. es wurde nicht refresht.

#7566993
Lesenswert?
• ▲
▼

Oliver D. schrieb:

Dann würde es ja zum Schutz der Speicherzellen auch dort Sinn machen die Daten im MCU zu sammeln, bis eine Seite voll beschrieben werden kann, um sie dann über den entsprechenden Page-Write Befehl zu speichern.

Wenn die Anwendungs-Logik dies zuläßt, dann ja. Wenn aber z.B. irgendwelche Settings, die der Anwender an dem Gerät gelegentlich macht, bei plötzlichem Stromausfall nicht verloren gehen sollen, dann ist dieses Vorhaben eher schlecht. Da muß man jede Änderung möglichst gleich speichern.

#7567003
Lesenswert?
• ▲
▼

Bruno V. schrieb:

Faktisch sind große EEProms Flash mit kleinen Sektoren/Pages und ein bisschen Komfort drumherum damit es sich wie EEProm anfühlt.

Naja, die Grenze ist sicher fließend, aber es gibt doch ziemliche Unterschiede: Beim M95M04 (immerhin 512 kByte, das fällt sicher in die Kategorie "groß") ist die Mindestzahl Schreibzyklen 4 Millionen auf 4-Byte-Blöcke bezogen. Das hat mit der Page-Größe 512 Bytes nichts zu tun. Da werden also immer mindestens 4-Byte Blöcke beschrieben (geht da auch nicht anders, da ECC dort eben auf dieser Blockebene arbeitet), obwohl seitenweise auch möglich ist.

#7567038
Lesenswert?
• ▲
▼

Andreas B. schrieb:

Da werden also immer mindestens 4-Byte Blöcke beschrieben (geht da auch nicht anders, da ECC dort eben auf dieser Blockebene arbeitet), obwohl seitenweise auch möglich ist.

Wobei das Löschen / Beschreiben einer Page genauso lange dauert wie ein einzelnes Byte (oder ein Block von 4). Eben weil das Löschen (der zeitaufwendige Teil beim EEPROM) von 1 ... 128 Blöcken (= 4 ... 512 Byte) gleichzeitig geschieht.

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.