Forum: Mikrocontroller und Digitale Elektronik Non Volatile Speicher mit unbegrenzte Schreibzyklen


von Espig (Gast)


Lesenswert?

Hallo zusammen,

ich habe in meinem Projekt ein FLASH-Speicher an dem Counters 
geschrieben werden und das ~ 2000 mal am Tag.

Schreiben in einem Flash passiert so dass der Page erst gelöscht werden 
muss.

Die Frage ist es wie aussagekräftig sind den die Angaben dass ein Flash 
Speicher nur bis 100 000 mal geschrieben werden kann ?

Bei meinem Projekt muss das Ding mindestens 10 Jahre lang halten.

Gibts eine nichtflüchtige Speicher der beliebeig geschrieben werden 
kann??

von (prx) A. K. (prx)


Lesenswert?

FRAM/FeRAM = Ferroelectric Nonvolatile RAM
Nicht unbegrenzt, aber für deine Zwecke reicht es.

: Bearbeitet durch User
von Bernd K. (prof7bit)


Lesenswert?

Schreib doch den neuen counterwert an die nächste unbenutzte Stelle, 
dann musst Du erst dann wieder eine page löschen wenn der komplette 
Flash voll ist. Nutze den kompletten unbenutzten Flash dafür, je mehr 
desto besser.

von Espig (Gast)


Lesenswert?

Wie hoch sind den die Arbeitszyklen bei FRAM?

Was hält Ihr von NVRAM?

von (prx) A. K. (prx)


Lesenswert?

Espig schrieb:
> Wie hoch sind den die Arbeitszyklen bei FRAM?

FM24C16A: 10^12 (13 Mio Jahre bei 2000/d)
FM24CL64B: 10^14

: Bearbeitet durch User
von H.Joachim S. (crazyhorse)


Lesenswert?

FRAM ist immer ne gute Wahl.
Aber die Frage ist - warum schreibst du ständig in einen flash? Es 
reicht doch das im RAM zu halten, evtl. sogar gepuffert mit einer 
Lithiumzelle oder Goldcap. Dann beizeiten den drohenden Ausfall der 
Versorgung erkennen und mit der Restenergie in einen nichtflüchtigen 
Speicher wegschreiben ist meist der bessere Weg.

von Daniel H. (Firma: keine) (commander)


Lesenswert?

Espig schrieb:
> Die Frage ist es wie aussagekräftig sind den die Angaben dass ein Flash
> Speicher nur bis 100 000 mal geschrieben werden kann ?

Wenig aussagekräftig ohne weitere Angaben zum Speicherlayout (Anzahl 
Sektoren, Pages etc.) sowie zur gewählten Speicherstrategie 
(Wear-leveling etc.).

Wenn der Speicher nur aus einer Page besteht dann ist nach 100.000 
Werten die garantierte Lebensdauer erreicht.

Besteht der Sektor aus zwei Pages so kannst du bereits 200.000 Werte 
speichern.

Hast du zwei Sektoren zu je zwei Pages sind es bereits 400.000 Werte.

Usw. usw.. Dann kann man noch weitere Strategien fahren, wie z.B. dass 
man nur jeden x. Counterwert speichert oder den Counter nur speichert 
wenn man einen Verlust der Eingangsspannung registriert.

: Bearbeitet durch User
von Michael B. (laberkopp)


Lesenswert?

Espig schrieb:
> ich habe in meinem Projekt ein FLASH-Speicher an dem Counters
> geschrieben werden und das ~ 2000 mal am Tag

Es gibt immer wieder mal schlecht geschriebene Programme, die besonders 
teure Hardware erfordern.

von Georg (Gast)


Lesenswert?

Espig schrieb:
> Gibts eine nichtflüchtige Speicher der beliebeig geschrieben werden
> kann??

Ja, schon seit ewigen Zeiten: statisches RAM mit Pufferbatterie.

Georg

von Meinereiner (Gast)


Lesenswert?

MRAM - dort sollten die Schreibzyklen unbegrenzt sein.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Espig schrieb:
> Die Frage ist es wie aussagekräftig sind den die Angaben dass ein Flash
> Speicher nur bis 100 000 mal geschrieben werden kann ?
Welches Flash ist das? Datenblatt?

> ich habe in meinem Projekt ein FLASH-Speicher an dem Counters
> geschrieben werden und das ~ 2000 mal am Tag.
Warum so oft?
Andere überwachen den Powerfail und schreiben 1 mal pro Abschaltzyklus 
den Zähler in ein EEPROM. Das ist in ein paar ms erledigt. Wie oft wird 
dein Gerät ausgeschaltet?

> Gibts eine nichtflüchtige Speicher der beliebeig geschrieben werden
> kann??
Nimm ein batteriegepuffertes RAM...

von PittyJ (Gast)


Lesenswert?

2000 mal am Tag, das sind im Jahr 730000.
Das sind in Jahren 7300000 - also ca 7 Millonen.

Ich habe mir letztens ein USB-Stick gekauft mit 64 GBytes. der hat also 
125 Millionen Blöcke a 512 Bytes.

Nimm doch so einen Stick, und schreibe jeweils in einen neuen Block.
Dann ist in 10 Jahren der Stick nicht mal halb voll.

von Stefan F. (Gast)


Lesenswert?

Wenn das Gerät 2000 mal am Tag aktiv ist, hat es offensichtlich eine 
permanente Stromversorgung. Also nimmt man RAM.

Stromausfall kann man mit einer Batterie überbrücken. In dieser Zeit 
kann das Gerät inaktiv sein, dann verbraucht es fast keinen Strom 
(typisch weit unter 0,1mA).

Oder du sicherst die Daten wie gesagt erst bei Stromausfall in einen 
nicht flüchtigen Speicher.

> Gibts eine nichtflüchtige Speicher der beliebeig
> geschrieben werden kann??

SD Karten sind für solche Anwendungen vorteilhaft, da sie den Wear 
Levelling Algorithmus bereits enthalten und aufgrund der hohen 
Speicherkapazität sehr lange Haltbarkeit versprechen. Außerdem kann man 
sie notfalls leicht auswechseln.

von 42Bit ADC (Gast)


Lesenswert?

Das ist doch eh wieder so ein "ich will die Temperatur auf 0.01°C 
genau"/"Wie kann ich mit dem 24Bit-ADC ein 7 1/2 Stelliges Multimeter 
bauen" Mist.

Sicherlich gibt es Anwendungen für FRAM, sonst gäbe es ihn nicht... Aber 
ob das hier der Fall ist, bezweifle ich.

von Dr. Sommer (Gast)


Lesenswert?

Manche STM32 haben ein batterie gestütztes RAM integriert. Da braucht 
man bloß eine Knopfzelle anschließen. Einmal aktiviert, lässt sich der 
RAM genau wie der normale RAM nutzen, nur dass der Inhalt eben nicht 
verloren geht.

von Michael B. (laberkopp)


Lesenswert?

42Bit ADC schrieb:
> Sicherlich gibt es Anwendungen für FRAM, sonst gäbe es ihn nicht...

Na ja, eher umgekehrt:

Man hat lange geforscht und endlich FRAM hinbekommen,
nun sind die Verkaufszahlen aber bescheiden denn kaum jemand
hat Anwendungen die genau dafür passen würden.

Die technologie für das Produkt war zuerst da und sucht nun seinen 
Markt.

von 900ss (900ss)


Lesenswert?

Espig schrieb:
> Die Frage ist es wie aussagekräftig sind den die Angaben dass ein Flash
> Speicher nur bis 100 000 mal geschrieben werden kann ?

Zu meinem Flashbaustein von Samsung bezog sich diese Angabe auf die 
Erasezyklen eines Blocks (Nand-Flash). Weiter stand dazu, dass es eine 
Error Correction geben muß, sonst sind die Erase-Zyklen auch nicht 
gerantiert (also es entstehen mehr Bit-Kipper). Ich kann das auch 
bestätigen. Ohne Error-Correction gibt es durchaus mal Bit-Kipper.

Als Lösung würde ich das Design überdenken. Sind diese Anzahl 
Schreibzyklen notwendig?
Falls ja sind die Lösungen wohl FRAM/MRAM oder SRAM mit 
Batteriepufferung. Oder du mußt dir ein Wear-leveling überlegen, dann 
kannst du auch Flash nehmen.

: Bearbeitet durch User
von Rolf Magnus (Gast)


Lesenswert?

Michael B. schrieb:
> 42Bit ADC schrieb:
>> Sicherlich gibt es Anwendungen für FRAM, sonst gäbe es ihn nicht...
>
> Na ja, eher umgekehrt:
>
> Man hat lange geforscht und endlich FRAM hinbekommen,
> nun sind die Verkaufszahlen aber bescheiden denn kaum jemand
> hat Anwendungen die genau dafür passen würden.
>
> Die technologie für das Produkt war zuerst da und sucht nun seinen
> Markt.

Na das eher nicht. EPROM und Flash wurden ja eigentlich nur erfunden, 
weil man das Problem hatte, dass RAM seine Daten beim Ausschalten 
vergisst. Ohne diesen Umstand hätte man die gar nicht gebraucht.
Bis dann mal RAM, der seinen Inhalt auch ohne Strom speichert, auf den 
Markt kam, hat inzwischen jeder einen Work-Around für das Problem 
gefunden und die ganze Architektur der Systeme war schon längst darauf 
ausgerichtet worden.

von (prx) A. K. (prx)


Lesenswert?

Michael B. schrieb:
> Man hat lange geforscht und endlich FRAM hinbekommen,
> nun sind die Verkaufszahlen aber bescheiden denn kaum jemand
> hat Anwendungen die genau dafür passen würden.

Die ersten FRAM Generationen von RAMTRON (heute Cypress) haben sich 
daher gezielt den extern I2C/SPI Speichern gewidmet. Als Ersatz für die 
üblichen externen seriellen EEPROMs sind die FRAMs super. Internes 
Programm-Flash in dieser Rolle reduziert den Aufwand in Hardware, zu 
Lasten höheren Aufwands in Software.

: Bearbeitet durch User
von Clemens L. (c_l)


Lesenswert?

A. K. schrieb:
> Als Ersatz für die üblichen externen seriellen EEPROMs sind die FRAMs
> super. Internes Programm-Flash in dieser Rolle reduziert den Aufwand
> in Hardware, zu Lasten höheren Aufwands in Software.

In TIs MSP430FRxx-Serie wurde der interne Flash komplett durch FRAM 
ersetzt. Die verkaufen sich gar nicht so schlecht.

Unter "Applications" finden sich die üblichen Verdächtigen, wie Sensoren 
und Monitoring: http://www.ti.com/fram

von Toto mit Harry (Gast)


Lesenswert?

Ich habe letztens ein Teil ausgetauscht und musste zweimal hinschauen..

Ram im DIP Gehäuse mit integrierter Lithium Batterie und einer 
Selbstüberwachung, die Lebenszeit der Daten wird durch die 
Lithiumhaltbarkeit und Betriebstemperatur begrenzt.

Wie oben schon erwähnt gibt es dann die neueren Ersatztypen die den 
Powerdown erkennen und den Ram in ein Paralleles internes EEprom 
schreiben (Autosave).

Da gibt es schon einige möglichkeiten wenn man Google fragt.

von Carl D. (jcw2)


Lesenswert?

Rolf Magnus schrieb:
> EPROM und Flash wurden ja eigentlich nur erfunden,
> weil man das Problem hatte, dass RAM seine Daten beim Ausschalten
> vergisst. Ohne diesen Umstand hätte man die gar nicht gebraucht.

EPROM hat man bei Intel "erfunden", als man untersucht hat warum 
dynamisch RAM-Bausteine manchmal ausfallen und dabei entdeckt, daß die 
Gates von ein manchen 1-Transistor-Zellen keine elektrische Verbindung 
zum Rest der Schaltung mehr hatten, aber trotzdem deren Ladung erhalten 
blieb. Durch "energiereiche" Betrahlung mit UV-Licht verschwindet diese 
Ladung aber.
Der Entdecker Dov Frohman hatte die Idee dies als UV-löschbaren Ersatz 
für die längst vorhandenen (P)ROM's zu benutzen.
Also nicht suchen nach einer Lösung für ein Problem, sondern Effekt 
entdecken und nach dem Problem suchen, für das dieser die Lösung sein 
könnte.

von Axel S. (a-za-z0-9)


Lesenswert?

Michael B. schrieb:
> 42Bit ADC schrieb:
>> Sicherlich gibt es Anwendungen für FRAM, sonst gäbe es ihn nicht...
>
> Na ja, eher umgekehrt:
>
> Man hat lange geforscht und endlich FRAM hinbekommen,
> nun sind die Verkaufszahlen aber bescheiden denn kaum jemand
> hat Anwendungen die genau dafür passen würden.

Das würde ich so nicht unterschreiben. Der Bedarf für nichtflüchtigen 
Speicher war schon lange da, nur haben ihn EPROM, EEPROM und Flash 
bisher nicht vollumfänglich gedeckt, weil jede dieser Technologien 
irgendwo einen Pferdefuß hat. Sei es die Zugriffszeit oder die Anzahl 
der Schreibvorgänge. Deswegen wurden Workarounds wie wear-leveling 
implementiert und die funktionieren nun immerhin gut genug, daß man FRAM 
nicht mehr zwingend braucht.

Ich gehe aber davon aus, daß sich das langsam, aber gründlich ändern 
wird. Falls FRAM nicht doch noch irgendwelche Macken hat, dann wird es 
Flash und EEPROM langsam aber sicher verdrängen. Embedded in µC geht ja 
schon los (siehe MSP430FRxx weiter oben) und wenn der Preis pro Bit FRAM 
vs. Flash konkurrenzfähig ist, dann sicher auch bald für Datenträger.

von Amateur (Gast)


Lesenswert?

@Espig
Ich würde das Problem folgendermaßen angehen:
1. Den Mikroprozessor, aus Sicht der Stromversorgung, vom Rest
   entkoppeln. Ein dicker Kondensator, nur für den Grübler, reicht.
2. Eine Spannungsüberwachung - gibt es fertig - die auch den Namen
   verdient.
3. Eine Unterbrechung. Sollte bei den heutigen Prozessoren, bei denen
   jeder Pin unterbrechen kann, kein Problem sein.
a. Im Normalbetrieb wird der Wunschwert einfach im RAM abgelegt.
b. Bricht die Spannungsversorgung zusammen, so wird durch die
   Spannungsüberwachung eine Unterbrechung ausgelöst.
c. Die einzige Aufgabe der Unterbrechungsroutine ist es Deinen Liebling
   ins trockene zu bringen. Z.B. EEPROM. Auf diese Weise sollte es kein
   Problem sein, eine Speicherstelle, über längere Zeit, am Leben zu
   halten.
d. In dieser Konfiguration kann es sinnvoll sein, bei einem Reset den
   "letzten" Wert aus dem EEPROM zu lesen.

In vielen Fällen reicht es sogar aus, vor jedem Speichern zu überprüfen, 
ob sich der aktuelle Wert überhaupt geändert hat. Das spart sehr viel 
Überschreibarbeit. Ganz besonders, wenn es um Werte geht, die vom 
Anwender gesetzt werden.
Ähnlich aktuelle Lautstärkeeinstellung beim Fernseher. Die verwenden 
fast immer low cost Bauteile die sich nicht viel, bzw. häufig etwas 
merken können. Selbst, wenn Du täglich die Lautstärke änderst, kommen so 
nicht übermäßig viele Schreibzyklen zusammen.
Praktisch alle EEPROMs kann man beliebig oft befragen.

von Robert (Gast)


Lesenswert?

42Bit ADC schrieb:
> Sicherlich gibt es Anwendungen für FRAM, sonst gäbe es ihn nicht... Aber
> ob das hier der Fall ist, bezweifle ich.

Eigentlich immer, wenn man mehr als ein paar Bytes aus dem RAM beim 
Abschalten sichern will. serielles EEPROM ist einfach zu langsam und man 
bräuchte entsprechend gewaltige Pufferzeiten, und müsste auch noch alle 
unnötige Peripherie von der Versorgung trennen können damit es nicht 
noch schlimmer wird. Und wenn man dann noch von einer Batterie lebt, 
ohne einen Spannungsregler vor dem man den Ausfall etwas früher erkennen 
könnte, wirds endgültig ein Problem.

FRAM kann man halt so schnell füllen wie der Bus es macht, anstatt ms zu 
warten bis ein paar Bytes durch sind.

SRAM+Batterie, am besten noich als vergossenes Modul, ist der letzte 
MIST. Denkt bitte auch mal an die Leute, die eure Geräte nach 
Supportende in Betrieb halten und weiterbenutzen wollen. Die Module sind 
entweder obsolet oder überteuert, und wenn die Daten weg sind hat man ne 
große Freude. Und Batterien egal welcher Sorte laufen immer wieder aus.
Wenn schon Batterie, dann austauschbar und UNTER der untersten Platine.

von (prx) A. K. (prx)


Lesenswert?

Axel S. schrieb:
> Ich gehe aber davon aus, daß sich das langsam, aber gründlich ändern
> wird. Falls FRAM nicht doch noch irgendwelche Macken hat, dann wird es
> Flash und EEPROM langsam aber sicher verdrängen.

Zumindest bei NOR-Flash besteht die Chance, also beim 
Programm/Data-Flash der Mikrocontroller. Wenn die Fertigungstechnik 
ähnlich günstig ist/wird.

> vs. Flash konkurrenzfähig ist, dann sicher auch bald für Datenträger.

Nicht so bald. Man ist bei FRAM erst bei 4Mbit. Bis zu NAND-Flash sind 
noch viele Zehnerpotenzen zu überwinden.

: Bearbeitet durch User
von Clemens L. (c_l)


Lesenswert?

Axel S. schrieb:
> Falls FRAM nicht doch noch irgendwelche Macken hat

Nach dem Lesen muss ein Bit neu geschrieben werden, aber das macht der 
Controller automatisch und ist in der Praxis kein großes Problem.

Es braucht halt viel Platz (und ist deshalb teuer), sonst würde man auch 
SSDs draus machen.

von Soul E. (Gast)


Lesenswert?

Michael B. schrieb:

> Man hat lange geforscht und endlich FRAM hinbekommen,
> nun sind die Verkaufszahlen aber bescheiden denn kaum jemand
> hat Anwendungen die genau dafür passen würden.

Das Problem bei FRAM ist, dass in die Lebensdauer (10E12 bis 10E14 
Schreibzyklen) die Lesevorgänge mit eingehen. Bei jedem Lesevorgang wird 
die Ladung aus der Speicherzelle entfernt und hinterher wieder neu 
geschrieben (wie beim DRAM). Der Vorteil der sehr hohen Anzahl möglicher 
Schreibzyklen kommt daher nur zum Tragen, wenn das Verhältnis der Lese- 
zu den Schreibzugriffen nicht zu groß wird. Für Massenspeicher ist das 
ok, für Arbeitsspeicher nicht.


> Die technologie für das Produkt war zuerst da und sucht nun seinen
> Markt.

Die Idee war mal, dass FRAM DRAM ersetzen sollte. Man schaltet seinen 
Computer nach Benutzung einfach aus, und wenn man ihn wieder einschaltet 
läuft er genau da weiter wo er vorher aufgehört hatte.

Seinerzeit ging man davon aus, dass die Speicherdichte für DRAM nicht 
mehr ansteigen kann. Die Strukturgrößen waren mit 0,13 µm am 
technologischen Limit angekommen und die Oxiddicke liess sich auch nicht 
weiter reduzieren. Daher wollte man das Epsilon vergrößern, um so die 
nötige Anzahl Elektronen (ca 500.000 Stück) in eine Speicherzelle zu 
quetschen. So wurde an high-k Dielektika geforscht, z.B. (Ba, Sr)TiO3 
oder (Ba, Pb)TiO3. Da diese Keramiken alle leicht ferroelektrische 
Eigenschaften aufweisen entstand die Idee, diesen Effekt gezielt 
auszunutzen.

Gescheitert ist das aus drei Gründen:

* die Halbleiterfritzen wollten das dreckige Keramikzeug nicht in ihren 
Fabs haben
* man hat Fatigue und Imprint nicht soweit in den Griff bekommen, dass 
man die für einen Arbeitsspeicher erforderliche Zyklenzahl erreichen 
konnte.
* irgendwie ging es dann auch so, d.h. man hat man es dann doch wieder 
geschafft, die Strukturen zu verkleinern (45 nm - 25 nm) und noch 
dreidimensionaler zu gestalten

von Marcus H. (Firma: www.harerod.de) (lungfish) Benutzerseite


Lesenswert?

soul e. schrieb:
> Das Problem bei FRAM ist, dass in die Lebensdauer (10E12 bis 10E14
> Schreibzyklen) die Lesevorgänge mit eingehen. Bei jedem Lesevorgang wird
> die Ladung aus der Speicherzelle entfernt und hinterher wieder neu
> geschrieben (wie beim DRAM). Der Vorteil der sehr hohen Anzahl möglicher
> Schreibzyklen kommt daher nur zum Tragen, wenn das Verhältnis der Lese-
> zu den Schreibzugriffen nicht zu groß wird. Für Massenspeicher ist das
> ok, für Arbeitsspeicher nicht.

Mmmh? D.h. der MPS mit FRAM verliert jedesmal seinen Code, wenn die 
Firmware vor dem Ausschalten nicht runtergefahren wird?

von (prx) A. K. (prx)


Lesenswert?

Marcus H. schrieb:
> Mmmh? D.h. der MPS mit FRAM verliert jedesmal seinen Code, wenn die
> Firmware vor dem Ausschalten nicht runtergefahren wird?

Nein. Es heisst, dass der MSP in geeigneter Dauerschleife bei maximaler 
Geschwindigkeit nach ein paar Jahrzehnten Alzheimer kriegt: 
http://www.ti.com/lit/pdf/slaa526

: Bearbeitet durch User
von Rudolph R. (rudolph)


Lesenswert?

Marcus H. schrieb:
> Mmmh? D.h. der MPS mit FRAM verliert jedesmal seinen Code, wenn die
> Firmware vor dem Ausschalten nicht runtergefahren wird?

Das nicht, aber der stirbt jedesmal ein bisschen, wenn der Code gelesen 
wird.

von Marcus H. (Firma: www.harerod.de) (lungfish) Benutzerseite


Lesenswert?

A. K. schrieb:
> Marcus H. schrieb:
>> Mmmh? D.h. der MPS mit FRAM verliert jedesmal seinen Code, wenn die
>> Firmware vor dem Ausschalten nicht runtergefahren wird?
>
> Nein. Es heisst, dass der MSP in geeigneter Dauerschleife bei maximaler
> Geschwindigkeit nach ein paar Jahrzehnten Alzheimer kriegt:
> http://www.ti.com/lit/pdf/slaa526

1.3 -> Krasses Pferd...

Reading from FRAM
Reading from FRAM requires applying an electric field across the crystal 
similar to a write. Depending on
the state of the crystal, it may (or may not) need to be repolarized, 
thereby emitting a large or small
induced charge. This charge is compared to a known reference to estimate 
the state of the crystal.
In the process of reading the data, the crystal that is polarized in the 
direction of the applied field loses its
current state [2]. Therefore, every read is accompanied by a write-back 
to restore the state of the memory
location. With TI's MSP430 FRAM MCUs, this is inherent to the FRAM 
implementation and is transparent
to the application. The write-back mechanism is also protected from 
power loss and is ensured to
complete safely under all power conditions. The MSP430FRxx power 
management system achieves this
by isolating the FRAM power rails from the device supply rails in the 
event of a power loss. The FRAM
power circuitry also uses a built-in low-dropout regulator (LDO) and a 
capacitor that store sufficient charge
to complete the current write-back in the event of a power failure [2].


Und das ist nur der Anfang - das Dokument lese ich mir bei Gelegenheit 
mal in Ruhe durch.

Danke!

: Bearbeitet durch User
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.