Forum: Mikrocontroller und Digitale Elektronik Schreiben I2C EEPROM immer Seitenweise?


von Oliver D. (flenky)


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!

von Monk (roehrmond)


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

: Bearbeitet durch User
von Peter D. (peda)


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.

von Bruno V. (bruno_v)


Lesenswert?

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

Details (wie immer) im Datenblatt.

: Bearbeitet durch User
von Jens G. (jensig)


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.

von Andreas B. (abm)


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.

von Bruno V. (bruno_v)


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.

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
Noch kein Account? Hier anmelden.