Forum: Mikrocontroller und Digitale Elektronik ROM und Flash


von Ludwig (Gast)


Lesenswert?

Hi,

Was ich verwirrend finde ist: In der Mikrokontroller-Beschreibung redet 
man immer von ROM und RAM. RAM ist ja verständlich: Arbeitsspeicher. 
Aber nennt man den externen Flash-Speicher ROM. ROM bedeutet ja 
Read-Only-Memory. Der Flash ist aber in Wirklichkeit doch kein ROM.

gruß

von (prx) A. K. (prx)


Lesenswert?

Ludwig schrieb:
> Was ich verwirrend finde ist: In der Mikrokontroller-Beschreibung redet
> man immer von ROM und RAM. RAM ist ja verständlich: Arbeitsspeicher.
> Aber nennt man den externen Flash-Speicher ROM. ROM bedeutet ja
> Read-Only-Memory. Der Flash ist aber in Wirklichkeit doch kein ROM.

Konvention. EPROM ist beispielsweise wörtlich ein löschbarer 
programmierbarer nur lesbarer Speicher. Wenn dir das widersinnig 
erscheint: gewöhn dich dran.

Es läuft darauf raus, dass ROM zwar heute oft in begrenztem Umfang 
beschreibbar ist, aber nicht als normaler Arbeitsspeicher genutzt wird 
und wenn ein Programm diesen Speicher doch mal ab und zu schreibt, dann 
für permanent zu erhaltende Daten.

von Cyblord -. (cyblord)


Lesenswert?

An dieser Stelle darf natürlich auch das Gegenteil, der WOM 
(Write-Only-Memory) nicht vergessen werden:

http://www2.vmi.edu/Faculty/squirejc/Research/IC_Datasheets/digital_cmos/Write%20Only%20Memory.pdf

Unerlässlich für den Bau von FINO-Puffern.

gruß cyblord

von (prx) A. K. (prx)


Lesenswert?

RAM ist vom Begriff her auch nicht sinniger: Random Access Memory. Das 
gilt dem Wortsinn nach für NOR-Flash, also dem üblichen Programmspeicher 
von Mikrocontrollern.

von Dennis H. (c-logic) Benutzerseite


Lesenswert?

Flashspeicher (NOR-Flash) ist sehr wohl ein ROM.
Im Normalfall ist der Microcontroller nicht in der Lage den Flash im 
normalen Programm-Ablauf zu ändern.
Selbstprogrammierende Mikrocontroller sind aber in der Lage mit der 
Einhaltung eines vorgegebenen Ablaufs den Flash-ROM seitenweise zu 
löschen und neu zu brennen. Mit jedem Brennzyklus altert der FlashROM 
was das Löschen-Brennen auf rund 10-100tausend Lösch-Schreibzyklen pro 
Seite eingrenzt.

von Dennis H. (c-logic) Benutzerseite


Lesenswert?

Random Access Memory bezieht sich auch auf den Schreibenden Zugriff.
Das ist bei FlashROMs dann wohl nicht ohne Zwischenpuffern & Löschen 
einer Seite möglich. Das Löschen und Programmieren braucht dann ja auch 
noch beträchtlich Zeit.

von (prx) A. K. (prx)


Lesenswert?

Bei EEPROM besteht diese Einschränkung nicht.

von Dennis H. (c-logic) Benutzerseite


Lesenswert?

EEPROM braucht aber gefühlte 10 ms zum Löschen eines Bytes.
(Die Schreibzyklen-Begrenzung gilt auch hier)

von (prx) A. K. (prx)


Lesenswert?

Dennis Heynlein schrieb:
> EEPROM braucht aber gefühlte 10 ms zum Löschen eines Bytes.
> (Die Schreibzyklen-Begrenzung gilt auch hier)

Na und? Der Begriff RAM sagt wörtlich verstanden nichts über das 
Zeitverhalten aus, sondern nur darüber, ob der Zugriff direkt oder in 
irgendeiner sequentiellen Form erfolgt.

von Dennis H. (c-logic) Benutzerseite


Lesenswert?

Nach 10000 Schreibzyklen ist aber beim EEPROM Sense.
Das heißt die Hauptaufgabe besteht in Read Only.

von (prx) A. K. (prx)


Lesenswert?

Na und? Bei FeRAM ist nach 10^10 bis 10^14 Schreibzyklen auch Sense.

von Dennis H. (c-logic) Benutzerseite


Lesenswert?

Interessant wäre noch, wenn diese Auslegung von RAM und ROM hier eine 
Grundsatzdiskussion auslöst.

von holger (Gast)


Lesenswert?

>Nach 10000 Schreibzyklen ist aber beim EEPROM Sense.

Kommt auf das EEPROM an. Kann auch schon mal 1000000 sein.

von Dennis H. (c-logic) Benutzerseite


Lesenswert?

A. K. schrieb:
> Na und? Bei FeRAM ist nach 10^10 bis 10^14 Schreibzyklen auch Sense.

Wikipedia sei dank:
10^10–10^14 Schreib- und Lesezyklen garantiert (ja nach Typ und 
Hersteller)

Die Lebensdauer wird auch durch Lesen eingeschränkt.

von (prx) A. K. (prx)


Lesenswert?

Dennis Heynlein schrieb:
> Das heißt die Hauptaufgabe besteht in Read Only.

Ich habe EEPROMs verbaut, die fast nur geschrieben und kaum jemals 
gelesen werden (Protokollspeicher).

von Dennis H. (c-logic) Benutzerseite


Lesenswert?

Es heißt aber doch auch, daß FlashROM/EEPROM sich nur Bedingt für 
Schreibenden Zugriff eignen und die üblichen RAM-Funktionen wie 
Zwischenpuffern von Daten nur zeitlich anspuchsvoll ausgeführt werden 
können.

von (prx) A. K. (prx)


Lesenswert?

Dass es langsam ist - na und? Hauptsache es erfüllt seinen Zweck. 
SRAM-Inhalt ist nach Stromausfall futsch, was bei einem 
Protokollspeicher ungünstig ist.

von Dennis H. (c-logic) Benutzerseite


Lesenswert?

Da wäre noch der Batterie-Gepufferte SRAM erwähnt.

von Dennis H. (c-logic) Benutzerseite


Lesenswert?

A. K. schrieb:
> Dass es langsam ist - na und? Hauptsache es erfüllt seinen Zweck.
> SRAM-Inhalt ist nach Stromausfall futsch, was bei einem
> Protokollspeicher ungünstig ist.

Lagen deine Variablen des Programmes im EEPROM ?

von holger (Gast)


Lesenswert?

>SRAM-Inhalt ist nach
>Stromausfall futsch, was bei einem Protokollspeicher ungünstig ist.

Wobei wir dann noch zu einem anderen Speichertyp kommen
könnten: NVRAM. Meistens Batteriegepuffert. Da is es
dann nicht futsch.

von (prx) A. K. (prx)


Lesenswert?

Dennis Heynlein schrieb:
> Lagen deine Variablen des Programmes im EEPROM ?

Ich schrieb expressis verbis von Protokollspeicher.

von (prx) A. K. (prx)


Lesenswert?

holger schrieb:
> Wobei wir dann noch zu einem anderen Speichertyp kommen
> könnten: NVRAM. Meistens Batteriegepuffert. Da is es
> dann nicht futsch.

Yep. Aber nicht annähernd zu klein wie 8-Pin EEPROMs - oder FeRAMs.

von Dennis H. (c-logic) Benutzerseite


Lesenswert?

Warum hast du aber den EEPROM nicht als RAM benutzt ? Wenn doch die Zeit 
keine Rolle spielt.

von (prx) A. K. (prx)


Lesenswert?

Dennis Heynlein schrieb:
> Warum hast du aber den EEPROM nicht als RAM benutzt ? Wenn doch die Zeit
> keine Rolle spielt.

PLONK.

von Dennis H. (c-logic) Benutzerseite


Lesenswert?

Dein EEPROM war ja auch zu dem seriell (Nicht-RAM).

von holger (Gast)


Lesenswert?

>Dein EEPROM war ja auch zu dem seriell (Nicht-RAM).

Es gibt auch serielles RAM. Bei RTCs zum Bleistift.

von Dennis H. (c-logic) Benutzerseite


Lesenswert?

Aber ist der Bezugspunkt dann nicht der RTC-Controller und nicht der 
Prozessor der sich das seriell Organisiert ?

von (prx) A. K. (prx)


Lesenswert?

Für Liebhaber des Skurrilen: Es gab einen sehr erfolgreichen Rechner, 
der zwar schreibbaren Arbeitsspeicher hatte, aber kein RAM.

von holger (Gast)


Lesenswert?

>Aber ist der Bezugspunkt dann nicht der RTC-Controller und nicht der
>Prozossor der sich das seriell Organisiert ?

Alles eine Frage des Bezugspunktes. Es gibt auch SPI RAM
ohne RTC. Wie ein Speicher angeschlossen ist ist doch
zweitrangig. Er muss adressiert werden um die Daten an die
richtige Stelle zu schreiben. Das ist bei allen Speichern so.
Wie das Interface dazu aussieht, und wie lange es dauert
ist auch zweitrangig. Man nimmt den Speicher der die
Anforderungen erfüllt.

von Dennis H. (c-logic) Benutzerseite


Lesenswert?

Also alles ist RAM. Selbst ein PROM (da man ja da sicher immer noch ein 
paar Sicherungen hat zum schmelzen).

MaskenROM bleibt über.

ist das die Kernaussage ?

R - Random steht dann für zufällig.
Betreffs Zugriff als auch Ergebnis als Konsequenz des 
FlashRAM/EEPRAM-Schreibens über die Altersgrenze.

von holger (Gast)


Lesenswert?

>Also alles ist RAM. Selbst ein PROM (da man ja da sicher immer noch ein
>paar Sicherungen hat zum schmelzen).

Geht beim EPROM, EEPROM und Flash auch;)

>ist das die Kernaussage ?

Nö. Als RAM bezeichnet man nur Speicher der nach ausschalten
des Gerätes seinen Inhalt verliert.

von (prx) A. K. (prx)


Lesenswert?

holger schrieb:
> Nö. Als RAM bezeichnet man nur Speicher der nach ausschalten
> des Gerätes seinen Inhalt verliert.

Nö. Das gilt nur für SRAM und DRAM, nicht aber für FeRAM und MRAM und 
nicht für eine der ersten RAM-Techniken: Ringkernspeicher.

von Jens G. (jensig)


Lesenswert?

Man muß das ganze sicherlich im historischen Sinne sehen, denn da gab es 
noch nicht so viele RAM/ROM-Varianten.

RAM ist einfach beliebig ohne größeren Aufwand an jeder Stelle 
schreibend/lesend zugreifbar. Ob der Dateninhalt bei Stromausfall 
pfutsch ist, wird mit dem Begriff RAM nicht ausgedrückt (s/DRAM auf der 
einen Seite, FeRAM auf der anderen Seite).
ROM dagegen ist ursprünglich nur fürs lesen gedacht, nachdem er einmal 
programmiert wurde. Es ist essentiell, daß bei Stromausfall der 
Dateninhalt nicht verloren geht, denn sonst hätte man die ROMs/PROMs 
jedesmal auswechseln müssen. Liegt also in der Natur der Sache, daß nur 
stromausfallresistente ROMs/PROMs Sinn machen.
Mit den neueren Varianten (EPROMs) wäre das nicht mehr so kritisch in 
dem Sinne, da man diese löschen und neu beschreiben kann. Aber man kann 
einzelne Zellen nicht einfach so mal überschreiben, sondern müssen 
erstmal explizit gelöscht werden. Auch beim EEPROM, der aber zellenweise 
gelöscht werden kann. Ohne dieses explizite Löschen kannste diese EPROMs 
nicht beliebig neu beschreiben. Das unterscheidet einen RAM vom EPROM.
Daß es auch heute wohl keine EPROMs gibt, die bei Stromausfall ihre 
Daten verlieren könnten, liegt wohl einfach daran, daß die keinen Sinn 
machen würden, da man ja sonst gleich die einfacher handhabbaren RAMs 
nehmen könnte.

von Dennis H. (c-logic) Benutzerseite


Lesenswert?

holger schrieb:
>>Also alles ist RAM. Selbst ein PROM (da man ja da sicher immer noch ein
>>paar Sicherungen hat zum schmelzen).
>
> Geht beim EPROM, EEPROM und Flash auch;)
>
>>ist das die Kernaussage ?
>
> Nö. Als RAM bezeichnet man nur Speicher der nach ausschalten
> des Gerätes seinen Inhalt verliert.

Das ist eine Unendlicheit.

PROM war mir dann das simpelste Programmierbare ROM als Beispiel.

Aber, was ist mit dem Eingeschränkten Datenerhalt bei EPROM/EEPROMs ?
Früher (tm) ging man von 10 Jahren bis zum Ersten Verlust aus.
Also doch (E)EPRAMs.

Ich werd mich wohl weiterhin an die erste Antwort von A.K. halten, wenns 
mir auch nicht einleuchtet warum er sich später revidieren muß.

von holger (Gast)


Lesenswert?

>> Nö. Als RAM bezeichnet man nur Speicher der nach ausschalten
>> des Gerätes seinen Inhalt verliert.

Was bei FRAM und NVRAM wieder nicht stimmt. Da suggeriert
das RAM nur eine beliebige Schreibbarkeit. Von Geschwindigkeit
ist da erst mal nicht die Rede.

>Das ist eine Unendlicheit.

Ein paar Begriffe haben sich halt so eingemogelt.

>PROM war mir dann das simpelste Programmierbare ROM als Beispiel.
>
>Aber, was ist mit dem Eingeschränkten Datenerhalt bei EPROM/EEPROMs ?
>Früher (tm) ging man von 10 Jahren bis zum Ersten Verlust aus.
>Also doch (E)EPRAMs.

Maskenprogrammiertes ROM verliert nie seinen Inhalt.

von Dennis H. (c-logic) Benutzerseite


Lesenswert?

holger schrieb:
>>> Nö. Als RAM bezeichnet man nur Speicher der nach ausschalten
>>> des Gerätes seinen Inhalt verliert.
>
> Was bei FRAM und NVRAM wieder nicht stimmt. Da suggeriert
> das RAM nur eine beliebige Schreibbarkeit. Von Geschwindigkeit
> ist da erst mal nicht die Rede.
>
>>Das ist eine Unendlicheit.
>
> Ein paar Begriffe haben sich halt so eingemogelt.
>

Wir haben dann schon den selben Standpunkt. Wenn auch mit 
unterschiedlich großem Schuhwerk.

von holger (Gast)


Lesenswert?

>Wir haben dann schon den selben Standpunkt. Wenn auch mit
>unterschiedlich großem Schuhwerk.

Wenn dein RAM verrottet ist, ist es auch nur ein ROM;)
Die Tendenz geht also klar zum ROM.

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.