Forum: Mikrocontroller und Digitale Elektronik Was ist eigentlich mit FRAM?


von Michael S. (rbs_phoenix)


Lesenswert?

Ich bin heute durch Zufall auf den FRAM gekommen. Ich hab mich mal ein 
bisschen eingelesen. So wie ich das verstehe, ist das quasi eine 
Kombination aus EEPROM und RAM. Also so schnell wie ein RAM, nahezu 
unendlich mal beschreibbar (FM25640B: 10^12 mal), dennoch nicht-flüchtig 
wie ein EEPROM und Byteweise beschreibbar.

Was ich mich nun Frage ist:
Wieso verwendet das kein Microcontroller (ich hab nur eine MSP-Reihe 
gefunden)? Damit kann man doch alles machen? Programmspeicher (auch 
nicht-flüchtig, dafür öfter beschreibbar), RAM (genauso schnell, jedoch 
wird der Wert gespeichert), EEPROM könnte man sich dann sogar sparen, 
man macht evtl den (F)RAM etwas größer. EEPROM braucht man dann auch 
nicht, wenn die Daten im RAM auch ohne Spannung gespeichert werden, mit 
dem Vorteil, dass das schreiben einfacher geht (keine extra Register 
usw), man öfter beschreiben kann und es schneller geht.

Ich hab einen 64k EEPROM für 74cent gesehen und einen 64k FRAM für 2,14€ 
(dafür aber schneller). Also knapp das dreifache.

Ist das Geld der einzige Grund, warum diese nicht verbaut werden? Ist 
das immernoch lohnenswert, wenn man dafür statt 3 Speicherarten (Flash, 
RAM, EEPROM) nur noch eine hat und wenn man das in großen Mengen 
herstellt?

Abgesehen davon kommt mir das auch komisch vor, dass wenn man hier im 
Forum sucht, keine ganze Seite Ergebnisse kommt, dafür zurück bis 2004 
geht. Bei Reichelt gibt es keinen einzigen FRAM zu kaufen (oder ich bin 
zu blöd zum suchen).
Abgesehen vom Preis sind FRAMs aus meiner aktuellen Sicht "besser" als 
alle anderen Speicherarten. Warum sieht und hört man davon kaum was?

von busche (Gast)


Lesenswert?

die nachfrage bestimmt den markt und damit den preis. ich kenne mich mit 
dem FRAM nicht aus, aber angenommen er ist so gut wie du hier anpreist, 
dann wird irgendjemand in damaliger entwicklung gedacht haben wird eh 
ein flop also vermarkten wir das nicht groß (oder ähnlich) und somit ist 
kein großer markt - keine große nachfrage - kein geringer preis 
entstanden ;)
gibt doch genügen "technik leichen" wo man sich so etwas fragen kann

von Osche R. (Gast)


Lesenswert?

Michael Skropski schrieb:

> Ist das Geld der einzige Grund, warum diese nicht verbaut werden?

FRAM ist ein remanentes DRAM, kein (Flash-)EEPROM. D.h. die Daten werden 
beim Auslesen zerstört und müssen anschliessend neu eingeschrieben 
werden. Damit gelten die genannten 10E+12 Zyklen für Schreiben und für 
Lesen. 10+12 mal schreiben können ist viel, aber 10E+12 mal lesen kommt 
schnell zusammen.

Daher eignen sich FRAMs sehr gut als schnelle Datenspeicher, aber 
weniger für ausführbaren Code.


Die Technologie ist patentiert und die benötigten keramischen 
Materialien vertragen sich nur bedingt mit klassischen 
Halbleiterprozessen. Daher kann und will das nicht jeder einsetzen. 
Marktführer ist sicherlich Ramtron, jetzt auch in Kooperation mit Texas 
Instruments.

von (prx) A. K. (prx)


Lesenswert?

Michael Skropski schrieb:
> Wieso verwendet das kein Microcontroller

Das könnte mit der Fabrikationstechnik zusammenhängen. Ramtron arbeitete 
bisher m.W. mit einer recht archaischen Strukturgrösse und erst letztes 
Jahr entstanden die ersten Samples in auch schon nicht mehr ganz 
frischer 180nm Technik. 8051er mit FRAM hatten die übrigens auch mal in 
der Produktpalette.

Ob das für RAM-Hauptspeicher eignet wäre noch die Frage. Das Zeug lebt 
zwar lang, aber nicht ewig, d.h. es ist eine ungefähre Lebensdauer 
spezifiziert. Auf RAM greift man dann doch ein paar Grössenordnungen 
fixer zu als auf SPI-Speicher. Die erwähnten 51er von Ramtron verwenden 
das FRAM jedenfalls weder als Hauptdatenspeicher noch als 
Programmspeicher.

Auch der Stromverbrauch ist vielleicht ein Punkt. Zerstörendes Lesen 
braucht Strom.

von ttl (Gast)


Lesenswert?

es gibt einen MSP430 mit FRAM
das die Lesezyklen begrenzt sind halte ich für ein Gerücht

von Andreas S. (Firma: Schweigstill IT) (schweigstill) Benutzerseite


Lesenswert?

Wenn auch die Lesezyklen den Dateninhalt zerstören, ist das äußerst 
problematisch in Hinblick auf das Abschalten des Prozessors bzw. 
Einbrüche und Störungen auf der Stromversorgung. Es wäre schon 
verheerend, wenn es durch solche alltäglichen Effekte zu Veränderungen 
des Programmspeichers kommen könnte.

Und selbst für einen kleinen Microcontroller wären die 10^12 
Schreibzyklen nicht allzu viel, wenn darin auch der/die Stack(s) 
gespeichert werden, denn größenordnungsmäßig 1 Million Stackoperationen 
pro Sekunde sind nicht an den Haaren herbeigezogen. Und da wird es auch 
Bereiche geben, in denen sich "fast nie" (d.h. ms oder länger) 
Schreibzugriffe ereignen, und andere, auf die mindestens 1% aller 
Schreibzugriffe erfolgen. Und plötzlich bedeuten die 10^12 Zyklen nur 
noch eine Lebensdauer von 10^8 Sekunden, d.h. ~27kh bzw. drei Jahre.

Die prozesstechnischen und patentrechtlichen Themen wurden ja schon 
angeschnitten. Halbleiterprozesse, die mehrere Anforderungen 
gleichzeitig befriedigen müssen, sind ungleich teurer als 
spezialisierte. Nicht ohne Grund gibt es ja keine (oder kaum?) 
Prozessoren oder Microcontroller, in denen größere Mengen an DRAM 
enthalten sind. Und gerade in dem gigantischen Markt für Mobilgeräte 
wäre alle Gerätehersteller SEHR interessiert an Microcontrollern mit 
integriertem DRAM! Selbst Flash und DRAM passen nicht zueinander, 
weswegen die kombinierten Bauteine intern aus getrennten Chips 
zusammengesetzt sind.

Und mit FRAMs kämen dann auch noch gänzlich neue Materialien in den 
Halbleiterprozess.

von Lukas K. (carrotindustries)


Lesenswert?

Andreas Schweigstill schrieb:
> Und gerade in dem gigantischen Markt für Mobilgeräte
> wäre alle Gerätehersteller SEHR interessiert an Microcontrollern mit
> integriertem DRAM!

AFAIK besteht man in der Branche auf diese Trennung, damit man falls der 
RAM von Hersteller B morgen billiger ist, als der von A, den von B 
verbauen kann. Package on Package stellt da eine recht akzeptable Lösung 
dar.

von Michael S. (rbs_phoenix)


Lesenswert?

http://www.ramtron.com/files/datasheets/FM25CL64B_ds.pdf
Das ist das Datenblatt zum FM25CL64B.
Dort steht, man kann ihn 10^14 mal Lesen/Schreiben, demnach wird das 
auch fürs lesen sein. Jedoch steht auf Seite 8, dass bei 20MHz 64bit 
lesen das Limit nach 85,1 Jahren erreicht ist. Bei 10MHz sogar 170 
Jahre.

Zudem steht da noch: "An  F-RAM  memory operates  with  a  read  and 
restore mechanism." Das heißt doch übersetzt, dass ein FRAM intern einen 
Mechanismus hat, dass die gelesenen Daten gleich wieder 
zurückgeschrieben werden. Somit wäre:

om pf schrieb:
> FRAM ist ein remanentes DRAM, kein (Flash-)EEPROM. D.h. die Daten werden
> beim Auslesen zerstört und müssen anschliessend neu eingeschrieben
> werden.

intern richtig, für den Benutzer aber egal, oder?


edit (letzten Kommentare noch nich gelesen): Ahh.. Also ist der 
Hauptpunkt der Stack und die Lese-Anzahl-Begrenzung, sowie das Material?

Macht schon Sinn, wenn ich das alles so lese.

von Osche R. (Gast)


Lesenswert?

ttl schrieb:

> das die Lesezyklen begrenzt sind halte ich für ein Gerücht

Na dann schlag mal ein Lehrbuch Deiner Wahl auf und guck Dir das 
Funktionsprinzip einer "1C1T"-Speicherzelle an. Oder guck beim 
Hersteller direkt nach: 
http://www.ramtron.com/files/tech_papers/Ferro_Tech_Brief.pdf

Der Speicherkondensator wird ausgelesen, in dem man ihn voll auflädt und 
dabei die verschobene Ladungsmenge misst. Bei einer "1" war er vorher 
schon voll und es wird wenig Ladung übertragen, bei einer "0" war er 
leer und es wird viel Ladung verschoben. Im Anschluss ans Auslesen, im 
sogenannten "Refresh"-Zyklus, wird dann der originale Zustand wieder 
hergestellt. Daher ist lesen immer destruktiv.

Die Hersteller geben in den Datenblättern nicht die Anzahl der 
Schreibzyklen an, sondern die "Endurance", d.h. die Gesamtzahl der 
Zugriffe.

http://www.ramtron.com/files/datasheets/FM28V020_ds.pdf

von Andreas S. (Firma: Schweigstill IT) (schweigstill) Benutzerseite


Lesenswert?

Lukas K. schrieb:
> AFAIK besteht man in der Branche auf diese Trennung, damit man falls der
> RAM von Hersteller B morgen billiger ist, als der von A, den von B
> verbauen kann. Package on Package stellt da eine recht akzeptable Lösung
> dar.

Wenn sich die DRAMs aber noch viel kostengünstiger in den Chip 
integrieren ließen, wäre das definitiv die bevorzugte Lösung.

Kleine Mikroprozessoren komplett ohne internes RAM und Flash sind ja 
auch weitgehend ausgestorben, weil es auf jeden Fall teurer wäre als 
interner Speicher.

Und unter Platz-, Geschwindigkeits- und EMV-Gesichtspunkten liegen voll 
integrierte Lösungen eh ganz vorne.

Das Problem bei großen DRAMs ist eben, dass deren Integration auf den 
Prozessorchip den Prozess massiv verteuern würde. Wenn jemand das 
Allheilmittel hätte, dann gäbe es kaum noch Märkte für 
Speicherbausteine. Wir sehen ja, dass die aktuellen "großen" Prozessoren 
(x86) auch immer mehr zu SoCs werden, d.h. nach den Caches ist die 
Northbridge mit auf den Prozessorchip gewandert, und neuerdings auch die 
GPU.

Wenn es Intel, AMD und Konsorten gelingen sollte, ordentliche Mengen 
DRAM zu integrieren, könnte man das platz- und kostenintensive externe 
Speicherinterface einstampfen. Zumindest für die riesigen Stückzahlen an 
Low-End-PCs würde so etwas wie eine Bombe einschlagen.

Dann gäbe es den Core i3-4567-4GB oder so.

von Eumel (Gast)


Lesenswert?

Ist mein Pc dann nur noch ein Chip mit Kühler drauf? Inklusive 
rausgeführter Anschlüsse natürlich. Könnte mann nicht auch noch ne SSD 
intigrieren?

von Andreas S. (Firma: Schweigstill IT) (schweigstill) Benutzerseite


Lesenswert?

Eumel schrieb:
> Könnte mann nicht auch noch ne SSD intigrieren?

WENN die Halbleiterprozesse für Prozessor, RAM und Flash kompatibel 
wären, dann gäbe es diese Kombination.

von Martin (Gast)


Lesenswert?

Bei den MSP430 mit FRAM sind ab 8MHz Wait States nötig, während die 
Flash-Varianten bis über 20MHz schaffen.
Die Zyklen Zahl für FRAM beträgt mindestens 10^15.
Also bei maximaler Geschwindigkeit:
10^15 / (24000000MHz*3600*24*365 ) = 1 Jahr 4 Monate Nutzungsdauer.

von Eumel (Gast)


Lesenswert?

Andreas Schweigstill schrieb:
> WENN die Halbleiterprozesse für Prozessor, RAM und Flash kompatibel
> wären, dann gäbe es diese Kombination.


Sind sie also nicht, ok. Aber denkst du, dass die Hersteller an sowas 
forschen? Nich alles was jetzt noch inkompatibel ist muss es auch für 
immer bleiben ;)

von Eumel (Gast)


Lesenswert?

Achso, kleiner Nachtrag zu FRAM MSP430, die haben auch noch ein bisschen 
SRAM. Für den Stack und ähnlich oft benutzte Speicherbereiche :)

von S(p)a(r)tanist (Gast)


Lesenswert?

Andreas Schweigstill schrieb:
> Und plötzlich bedeuten die 10^12 Zyklen nur
>
> noch eine Lebensdauer von 10^8 Sekunden, d.h. ~27kh bzw. drei Jahre.

Das wäre doch DIE Idee, um dafür zu sorgen, dass ein GErät kurz nach der 
Garantie kaputt geht.

von Andreas S. (Firma: Schweigstill IT) (schweigstill) Benutzerseite


Lesenswert?

S(p)a(r)tanist schrieb:
> Das wäre doch DIE Idee, um dafür zu sorgen, dass ein GErät kurz nach der
> Garantie kaputt geht.

Das wäre aber nicht garantiert, denn auch die FRAM-Hersteller geben nur 
untere Grenzen für die Zyklenzahl an. In der Praxis kann sie vermutlich 
locker zehnmal so hoch sein.

von Osche R. (Gast)


Lesenswert?

... und die Zellen sind danach noch nicht tot, sondern die speicherbare 
Ladungsmenge nimmt ab. Das führt zu einer reduzierten data retention 
time (der Inhalt bleibt nicht mehr 10 Jahre erhalten, sondern vielleicht 
nur noch acht Wochen) und einem geringeren Signal-Rauschverhältnis (es 
kippt öfter mal ein Bit, was durch ECC oder Druck auf den Reset-Taster 
behoben werden kann).

von Andreas S. (Firma: Schweigstill IT) (schweigstill) Benutzerseite


Lesenswert?

om pf schrieb:
> Druck auf den Reset-Taster behoben werden kann).

Genau das geht ja nicht mehr, wenn auch der Programmspeicher 
entsprechend abgenutzt wird...

von Eumel (Gast)


Lesenswert?

Außerdem gibts für Defekte kurz nach der Garantie doch schon Elkos ;)

von Lukas K. (carrotindustries)


Lesenswert?

Andreas Schweigstill schrieb:
> Und unter Platz-, Geschwindigkeits- und EMV-Gesichtspunkten liegen voll
> integrierte Lösungen eh ganz vorne.

Wollte man den RAM wirklich in den SoC einbauen, hätte man dies schon 
längst mit multi-die packages gemacht.
Wikipedia nennt als Vorteile von PoP:
...This trait is also a benefit compared to PiP (package in package) 
which requires a specific memory device to be designed in and sourced 
upstream of the end user.

Any mechanically mating top package can be used. For a low-end phone, a 
smaller memory configuration may be used on the top package. For a 
high-end phone, more memory could be used with the same bottom 
package.[1] This simplifies inventory control by the OEM. For a 
stacked-die package or even PiP (package in package), the exact memory 
configuration must be known weeks or months in advance.

http://en.wikipedia.org/wiki/Package_on_package

von der letzte Gast (Gast)


Lesenswert?

Martin schrieb:
> Also bei maximaler Geschwindigkeit:
> 10^15 / (24000000MHz*3600*24*365 ) = 1 Jahr 4 Monate Nutzungsdauer.

Ein MSP ist aber ein 'Stromsparcontroller'. Der befindet sich doch 
sowieso die meiste Zeit in irgendwelchen Low-Power Modes. Von daher ist 
MSP + FRAM keine allzu blöde Kombination....

von panikplauze (Gast)


Lesenswert?

Martin schrieb:
> Bei den MSP430 mit FRAM sind ab 8MHz Wait States nötig, während die
> Flash-Varianten bis über 20MHz schaffen.
> Die Zyklen Zahl für FRAM beträgt mindestens 10^15.
> Also bei maximaler Geschwindigkeit:
> 10^15 / (24000000MHz*3600*24*365 ) = 1 Jahr 4 Monate Nutzungsdauer.

Ich denke, ab 8MHz wait states nötig? Wie kann man dann mit >8MHz (wie 
in deiner Rechnung) lesen/schreiben? De facto verdreifacht sich die 
"Nutzungsdauer".

Wie andere schon angemerkt haben, ist der MSP ein Low Power Controller 
der für gewöhnlich mit einem Heartbeat von einigen hundert Millihertz 
bis einigen Hertz betrieben wird, 99% der Zeit schläft und somit nicht 
volle Lotte rennt. Falls doch ist es der falsche Controller für diese 
Applikation.

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.