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??
FRAM/FeRAM = Ferroelectric Nonvolatile RAM Nicht unbegrenzt, aber für deine Zwecke reicht es.
:
Bearbeitet durch User
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.
Wie hoch sind den die Arbeitszyklen bei FRAM? Was hält Ihr von NVRAM?
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
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.
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
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.
Espig schrieb: > Gibts eine nichtflüchtige Speicher der beliebeig geschrieben werden > kann?? Ja, schon seit ewigen Zeiten: statisches RAM mit Pufferbatterie. Georg
MRAM - dort sollten die Schreibzyklen unbegrenzt sein.
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...
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.
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.
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.
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.
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.
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
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.
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
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
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.
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.
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.
@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.
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.
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
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.
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
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?
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
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.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.