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?
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
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.
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.
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.
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.
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.
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
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.
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?
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.
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.
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 ;)
Achso, kleiner Nachtrag zu FRAM MSP430, die haben auch noch ein bisschen SRAM. Für den Stack und ähnlich oft benutzte Speicherbereiche :)
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.
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.
... 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).
om pf schrieb: > Druck auf den Reset-Taster behoben werden kann). Genau das geht ja nicht mehr, wenn auch der Programmspeicher entsprechend abgenutzt wird...
Außerdem gibts für Defekte kurz nach der Garantie doch schon Elkos ;)
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
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....
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.