2024. március 28., csütörtök

Gyorskeresés

Útvonal

Cikkek » Számtech rovat

Memóriatípusok és működésük

  • (f)
  • (p)
Írta: |

Miért kell az egyiket frissíteni, a másik pedig miért megy tönkre egy idő után?

[ ÚJ TESZT ]

FLASH ROM, statikus RAM

A FLASH ROM:

Ha a fenti kapcsolásban elkezdjük a beíró-feszültséget növelni, előbb-utóbb (néhány voltnál) a MOSFET Gate-jén lévő feszültség átüti a (sárga) szigetelő réteget, és a tranzisztor tönkre megy. Nagyon pontosan beállított feszültségnél, és megfelelően kialakított tranzisztornál az átütés létrejön, de a tranzisztor még épp nem megy tönkre.
A feszültséget lekapcsolva, a térerősség megszűnésével az éppen a szigetelő-rétegben lévő elektronok csapdába esnek. Megszűnt a térerősség, ami kicibálná őket onnan. Így ugyanaz az eset áll elő, mintha a vezérlő elektródán lévő elektronok hoznák létre a vezetést. Most viszont a szigetelőbe beágyazódott elektronok a kapcsolótranzisztorokon keresztül sem tudnak elszivárogni, az így beírt tartalom szinte örök időkre megmarad.

Lásd az alábbi ábrát:

A kezdeti "tönkremenős" próbálkozásból az is látszik, hogy ez nagyon igénybe veszi a szigetelő réteget - roncsolja - , és idővel menthetetlenül a tranzisztor tönkremeneteléhez vezet.

Törölni eleinte csak UV-fénnyel lehetett ezeket a ROM-okat. A néhány percnyi ionizáló sugárzás vezetővé tette a szigetelő réteget, így az elektronok elszivároghattak. (EPROM: IC, kis kvarc ablakkal a közepén.) Ezért is ROM a nevük: Read Only Memory. Nem állandó írásra törlésre szánták. P2-es és korábbi alaplapok ilyenekben tárolták a BIOS-t.

Mikor megoldották, hogy elektromos úton is lehessen törölni, a BIOS már frissíthető lett, megjelentek az SD, CF, stb kártyák, Pendrive-ok, majd az SSD-k is. A probléma viszont továbbra is fenn áll a korlátozott élettartammal, bár az eleinte jellemző 100-1000 írási-törlési ciklus jócskán megnőtt.

Tipikus EPROM:

Az SSD-k problémája:

Mint a fenti ábrán is látható, egy 8-bites cellába adatot úgy írhatunk be, hogy amelyik bitet 1-be akarjuk írni, ott a hozzá tartozó kapcsolót 1-be állítjuk, amelyiknél 0-át, ott a kapcsolót békén hagyjuk.
A probléma az, hogy amelyiknél 0-át akarunk írni és ezért a kapcsolót nem működtetjük, ott valójában nem nullát írunk, hanem a bit eredeti értékét változatlanul hagyjuk.

Ha a Byte eredeti tartalma ez volt:
00000001
Majd ezt írjuk be új értéknek a fenti módszerrel:
00000010
Eredményként ezt fogjuk kapni:
00000011
Ami hibás.

Tehát a következőt kell tenni:
Eredeti Byte:
00000001
Törlés:
00000000
Beírás:
00000010
Az eredmény:
00000010

Tehát így helyes lett a letárolt adat, de be kellett iktatni egy törlést. Viszont SSD-knél a törlés csak 512kB-os blokkokban végezhető el. Vagyis praktikus, ha kiolvassuk a teljes 512kB-ot, keresünk egy szabad blokkot és oda bemásoljuk azt, a már módosított értékkel. Aztán mikor van egy kis üresjárat, elvégezzük a forrás-blokk törlését. Persze közben ügyelni kell az egyenletes elhasználódásra is.

Statikus RAM:

Ez jellemzően a processzorok cache-ramja, de a DRAM, és akár az EPROM kiváltására is használják.
Ki lehet úgy is alakítani memória-cellát, hogy nem alapozunk a parányi kondenzátorokra.

Az alábbi ábrán egy ilyen cella látható:

Működése: ha Q1 vezet, R1 logikai "1"-ben van. Ekkor Q2 Gate-jén sincsenek elektronok, mert azok a zöld nyíl irányába el tudnak folyni. Mivel Q2 lezárt állapotban van, R2-n keresztül Q1 Gate-je folyamatos elektron-utánpótlást kap (lila nyíl) a negatív tápból, vagyis stabil állapot alakul ki.

Ha S0-t egy pillanatra zárjuk, Q1 Gate-jéről elvezetjük az elektronokat, az lezár, R1-en keresztül Q2 Gate-jére elektronok jutnak, ami kinyit, és egyben Q1-et a továbbiakban zárva tartja, az állapot megfordul. Később S1-gyel újra visszabillenthető az egész cella. (Éppen ezért bistabil multivibrátornak is nevezik.) A kapcsolók szivárgási áramát az ellenállásokon átfolyó áramok tudják pótolni, ezért frissíteni nem kell. Ennek következtében jóval egyszerűbb az alkalmazása is. Másrészt, mivel nem kell így a frissítésre időt pazarolni, és kapcsolástechnikailag sem tér el a processzor többi részétől, bírja a szinkron órajelet a processzorral.

Csak egy baj van vele: egy bit tárolásához kétszer annyi tranzisztor kell, mint a dinamikus RAM esetén - Az ellenállások helyett itt is tranzisztorokat alkalmazva kijön a 4 db tranzisztor/bit, a DRAM 2 db tranzisztor/bit-jével szemben. Ez rögtön meg is magyarázza, miért a DRAM terjedt el bonyolultabb kezelése ellenére.

A feszültség lekapcsolása után elfelejti az adatokat, viszont nyugalmi állapotban csak uA nagyságú áramot fogyaszt, mint egy kvarcóra. Így egy feltöltött kondenzátor, vagy egy pici elem alkalmazásával akár évekig megőrzi a tartalmát. Ezért gyakran láb-kompatibilisre készítik a nekik megfelelő kapacitású ROM-okkal, így azok helyett is alkalmazhatók. (pl ipari vezérlőkben programok tárolása, vagy fejlesztői környezetben programok tesztelése.)

Alább egy érdekesség: SRAM, a chip a tokozásába rejtett elemmel:

***

A fenti ismertetőben SET/RESET típusú tárolócellákat ismertettem. Ettől a gyakorlatban - vezérlés szempontjából - némileg eltér a DRAM és az SRAM, mivel azoknál nem beírás/törlés történik, hanem az adatokat továbbítják a cellák bemenetére. Valamint - természetesen - további kapcsolókkal kell biztosítani a cellák címzését, illetve kiolvasását is.

***

Még egy megjegyzés: a parazita kondenzátorok nélkül nagyon nagy bajban lennénk memória-gyártás területén. 1 Giga ramban milliárdnyi kis kondenzátor "dolgozik" nekünk. Viszont jórészt ezek okozzák azt is, hogy egy komolyabb processzor 50-100A áramot vesz fel. Minden órajel-ciklusban feltölteni és kisütni kell őket, ami felesleges veszteség.
Ez az egyik legszebb dolog az elektronikában: hogyan használjuk fel javunkra az alkatrészek hibáit?

Remélem, sokatoknak már nem "fekete doboz" a memória.

További szakmai (és kevésbé szakmai) írásaim.

Azóta történt

Előzmények

  • Project: HAL9!

    Kedvcsináló PIC-ezéshez: egylapos, komplett számítógépet mindenkinek!

Hirdetés

Copyright © 2000-2024 PROHARDVER Informatikai Kft.