Ko ne bo več bliska
Različni pomnilniki v računalniku so bodisi hitri bodisi obstojni, vsi pa so precej dragi. Spremembe pričakujemo od novih tehnologij, ki bodo pomnilnik napravile manj kompleksen, zaradi česar bo hitrejši, cenejši in obstojnejši. In morda se bodo računalniki prihodnosti končno vključili v hipu, ne da bi se zaganjali in nalagali. Čas bi že bil.
zmogljivosti in tehnološki dovršenosti modernega neobstojnega pomnilnika (volatile memory) je zanimivo poslušati, a to ne spremeni zelo banalnega razloga, zakaj pomnilnik sploh uporabljamo. Potrebujemo ga le zato, ker so diski in flash, skratka obstojni ali trajni (non-volatile) nosilci podatkov, prepočasni za normalno delo z računalnikom. Večni kompromis med hitrostjo in ceno je razlog za že desetletja zabetonirano hierarhijo: procesorski registri, predpomnilnik, pomnilnik, flash, disk, zunanje enote.
Nekako od preloma tisočletja pa poteka intenzivni razvoj alternativnih vrst pomnilnika, ki bi bil hkrati bistveno hitrejši od trenutnega flasha, nekako v rangu dinamičnega pomnilnika (DRAM), obenem pa bi podatke hranil tudi brez napajanja. Ko oziroma če bo tak pomnilnik komercialno dostopen (beri: poceni), se obeta prva resna sprememba pomnilniške paradigme od izuma računalnika. Računalnik se bo vklopil v hipu.
Kako podobna sta flash in DRAM?
Na prvi pogled nista, razen da nimata premičnih delov, kar je sicer zelo dobrodošla lastnost, kar zadeva vzdržljivost in segrevanje. A oba hranita podatke kot električni naboj.
Celica se v flashu od klasičnega MOSFETa razlikuje po plavajočih vratih, ki hranijo naboj.
Flash so izumili v Toshibi v 80. letih, danes pa imamo v pametnih telefonih in dražjih računalnikih njegovo do neprepoznavnosti izboljšano različico. V flashu se podatki shranjujejo v celicah, ki držijo en (SLC), dva (MLC) ali tri (TLC) bite podatkov. Po zgradbi so zelo podobne najbolj priljubljenim tranzistorjem (MOSFET), le da imajo med vrati in substratom dodatna plavajoča vrata, ki lahko shranijo elektrone in določajo vrednost celice.
MRAM lahko že najdemo kot predpomnilnik v kakšni napravi, denimo industrijskem SSDju ali na kakšnem plovilu, namenjenem v vesolje (misija ExoMars uporablja nekaj instrumentov, ki imajo MRAM).
Pri branju izkoriščamo to, da med virom in ponorom tok skozi substrat steče pri različni napetosti, ki jo pritisnemo na kontrolna vrata, odvisno od vsebine celice. Če je celica prazna (v položaju 0), ker so plavajoča vrata negativno nabita, je potrebna napetost na kontrolnih vratih višja, kot če je celica polna (v položaju 1), ko elektronov v plavajočih vratih ni. Beremo z napetostjo, ki sproži tok v celicah 1, a ne v celicah 0, tako da spremljamo tokovni odziv.
Plavajoča vrata so tisti pravi hranilec informacije, ki je shranjena v obliki električnega naboja (elektronov). Ime so dobila zato, ker so električno izolirana od vseh komponent, zaradi česar je pomnilnik obstojen. Ker v atomskem svetu ni nič izoliranega, je seveda mogoče flash tudi pobrisati, če med izvor in ponor pritisnemo dovolj visoko pozitivno napetost, na kontrolna vrata pa negativno napetost. Tedaj elektroni iz plavajočih vrat tunelirajo nazaj v substrat.
Odvisno od vezave celic govorimo o NAND in NOR flashu, kjer se v SSDjih danes uporablja prva oblika, a to za razumevanje ta hip ni pomembno.
Dinamični pomnilnik podatke shranjuje kot električni naboj v kondenzatorjih. Vsak bit je shranjen v svojem kondenzatorju, ki ima svoj krmilni tranzistor. Ti so povezani v pravokotne matrike, ki imajo več tisoč celic v obeh dimenzijah (neizvirno poimenovani vrstice in stolpci). Posamezen pomnilniški naslov je presek vrstice in stolpca, kjer je celica, do katere želimo dostopiti. DRAM je netrajen pomnilnik, ker vsi kondenzatorji puščajo naboj in se prej ali slej izpraznijo. Zaradi tega krmilniško vezje nenehno osvežuje vsebino pomnilnika, kar ni nič drugega kot branje vsebine posamezne vrstice in zapis njene vsebine nazaj (to seveda počne specializirano vezje, ne tisto za redni bralno-pisalni dostop). Dostop do posamezne celice (naslova) poteka v dveh stopnjah. Najprej se preberejo vsebine ustrezne vrstice in preložijo v predpomnilnik (sense amplifiers), potem pa se glede na drugi del naslova (ki določa stolpec) prebere celica v ustreznem stolpcu v predpomnilniku.
Ko izključite električno napajanje, vsebina pomnilnika dobesedno odcurlja. Izguba podatkov ni hipna, kot si radi predstavljamo, saj lahko še po nekaj minutah iz ugasnjenega, še najraje ohlajenega računalnika pridobimo večji del vsebine pomnilnika. To je resna varnostna vrzel, a to je že druga zgodba.
MRAM
Namesto električnega naboja bi lahko za hranjenje podatkov uporabljali magnetni naboj. Zamisel še zdaleč ni nova, saj se na diskih z magnetizacijo podatki shranjujejo že desetletja. Nova vrsta pomnilnika se imenuje MRAM (magnetoresistive RAM) in tudi ni nova, saj so prve inženirske primerke izdelali že v 90. letih. Raziskovalni del ameriškega obrambnega ministrstva (DARPA) je leta 1995 začel financirati tri raziskovalne konzorcije (IBMov, Motorolin in Honeywellov) za razvoj MRAM.
V celici MRAM se podatki shranjujejo kot magnetizacija zgornje plasti.
MRAM temelji na pojavu, ki se imenuje tunelska magnetoupornost (TMR). Če med dva feromagnetna materiala vstavimo zelo tanek sloj (nekaj nanometrov) izolatorja, je tako sestavljena celica kljub izolatorju prevodna, ker elektroni tunelirajo skozenj. To v klasični fiziki ni dovoljeno, v kvantni fiziki (in resničnosti) pa se zgodi. Prevodnost take celice je odvisna od orientacije magnetizacije v obeh feromagnetnih plasteh.
Pri MRAM je spodnja plast fiksna, torej smeri njene magnetizacije ne moremo spremeniti, zgornja pa je prosta, tako da ena smer zapisuje 0, druga pa 1. Prve različice MRAM so bite zapisovale s precej visokimi tokovi skozi celico. To je povzročalo težave pri miniaturizaciji, ker bi pri zelo majhnih celicah prepisali še sosednje. Modernejša izvedba (STT, spin transfer torque), ki jo je leta 1996 izumil IBM, uporablja spinsko polariziran električni tok za zapis podatkov. To bistveno zmanjša potrebno jakost toka za zapis podatkov.
Glavna prednost MRAM je trajnost, saj je eden redkih obstojnih pomnilnikov, ki se ne izrablja (kot se flash) in je za praktične namene večen. Ker je obstojen (non-volatile), ne potrebuje osveževanja podatkov, torej ne porablja energije za ohranjanje vsebine, zgolj za branje in zapis. Za branje porabi le malenkost več kot DRAM, za zapis pa nekajkrat več. Kar zadeva porabo energije, je torej odvisna od rabe – če pišete več, je DRAM varčnejši, če pišete redkeje, je boljši MRAM. Po hitrosti je primerljiv z DRAM (dostopni čas v nanosekundah) in neprimerno hitrejši od flasha (mikrosekunde), kaj šele diskov (milisekunde). Prostora zasede podobno kot DRAM, je pa seveda dražji, ker gre za bistveno večjo eksotiko.
MRAM se že komercialno uporablja, a to so bolj zgodnji izdelki, saj je razvoj še vedno zelo hiter in živahen. Največ možnosti imate, da ga najdete kot predpomnilnik (cache) v kakšni napravi, denimo industrijskem SSDju ali na kakšnem plovilu, namenjenem v vesolje (misija ExoMars uporablja nekaj instrumentov, ki imajo MRAM). Everspin je podjetje, ki je prvo začelo komercialno prodajati samostojne čipe MRAM; aprila letos so začeli prodajati 256-megabitni čip, do konca leta pa pride še terabitni.
ReRAM
Flash obupno potrebuje zamenjavo, ker smo skorajda že trčili ob skrajne meje mogoče miniaturizacije. Hranjenje elektronov v plavajočih vratih je podvrženo kvantnim pojavom, ki so zaradi majhnosti elektronov precej izraziti. Trenutno je najbolj obetaven naslednik flasha ReRAM (resistive RAM), ki podatke shranjuje tako, da celico preklaplja iz stanja visoke upornosti (urejeno oksidno stanje) v stanje nizke (oksid z defekti) in nasprotno. To počne z napetostnim sunkom.
Prevodnost celice ReRAMa se spreminja zaradi (levo) nastanka defektov v oksidni plasti ali (desno) nastanka filamenta iz kovinskih atomov med elektrodama.
Glede na način doseganja različne prevodnosti jih delimo v tri glavne skupine: perovskitni oksidi, binarni oksidi in taki s prevodnim mostom. V prvi skupini ima pri prevodnosti ključno vlogo medfazna površina med elektrodo in oksidom. Pri binarnih oksidih migrirajo kisikovi anioni, zaradi česar nastanejo praznine, ki se obnašajo podobno kot vrzeli v dopiranih polprevodnikih – lahko se premikajo in nosijo naboj. V zadnji skupini pa med elektrodama iz žlahtnih kovin (npr. srebra in bakra) zraste most kovinskih atomov.
V vseh primerih je plast, ki spreminja prevodnost, ujeta med dve elektrodi, prek katerih beremo in pišemo v celico.
PCM
Daljni sorodnik ReRAMa je PCM (phase change memory), znan tudi kot PRAM. Tudi tu merimo, kako se spreminja upornost posamezne celice, čeprav je mehanizem tega spreminjanja drugačen. Različna upornost je posledica različne strukture materiala v celici, ki je največkrat halkogenidno steklo. Če je v kristalinični obliki, je upornost nizka (logična enica), če pa je v amorfni (neurejeni) strukturi, je upornost večja (logična ničla). Trik je nadzorovati pretvarjanje med oblikama, ki mora biti seveda reverzibilno. Raziskave segajo že v 60. leta prejšnjega stoletja. In da, to je isti material, iz katerega so izdelani tudi prepisljivi optični nosilci (CD-RW, DVD-RW itd.), kjer z laserjem segrevamo točke na površini in jih spreminjamo. Sestavljen je iz germanija, antimona in telurja (GeSbTe).
Upornost celice PCM se zveča, ko se GeSbTe med elektrodama iz kristalinične oblike pretvori v amorfno.
Celico sestavljata dve elektrodi, med katerima sta upornik in GeSbTe. Upornik rabi kot generator Joulove toplote, saj se zaradi električnega toka segreje in »utekočini«, to pa dvigne temperaturo GeSbTe. Ta je pri sobni temperaturi v kristalinični obliki, nad 600 °C pa postane amorfen. Če ga hitro ohladimo, ostane v amorfni obliki, podobno kot pridelujemo tudi steklo. V kristalinično obliko ga spremenimo šele s segretjem na temperaturo pod tališčem, ko dobi dovolj energije, da se preuredi v urejeno strukturo. To se zgodi hitro, v nekaj deset nanosekundah.
IBM je letos uspelo pripraviti različico PCM, ki v eno celico zapisuje tri bite podatkov. Izmed vseh je tehnologija PCM še najbliže komercialni rabi v domačih in poslovnih sistemih.
Tako smo dobili pomnilniško celico, ki si zapomni vsebino, ker je ta shranjena kot oblika materiala (amorfna : kristalinična). Pri branju merimo tok skozi celico, kar nam dá podatek o upornosti in s tem o spominskem stanju. Glavna prednost PCM v primerjavi s flashem je hitrost, bistveno nižja obraba (celice zdržijo nekaj milijonov ciklov, niso pa večne, kar je za delovni pomnilnik lahko omejitev), trajnost (teoretično okrog 300 let pri temperaturah pod 80° C), možnost prepisa posamezne celice, medtem ko lahko flash prepisuje le cele bloke, in možnost zmanjševanja litografije pod 10 nm, s čimer ima flash težave zaradi neželenega tuneliranja elektronov. PCM pa ne uporablja elektronov, temveč podatek shranjuje kot strukturo materiala. Branje iz PCM je podobno hitro kot pri DRAM, zapisovanje pa kot pri flashu, a z nižjo zakasnitvijo in brez obveznega brisanja celice pred zapisom.
Raziskujejo tudi možnosti zapisa več bitov v eno celico, če bi jim uspelo doseči gradacijo upornosti z nekimi vmesnimi fazami, a je pri tem precej težav. PCM je komercialno že zelo izpopolnjen. Prve čipe smo dobili že pred desetimi leti, danes pa se razvoj posveča v glavnem zvišanju gostote zapisa. IBM je letos uspelo pripraviti različico PCM, ki v eno celico zapisuje tri bite podatkov. Izmed vseh je tehnologija PCM še najbliže komercialni rabi v domačih in poslovnih sistemih.
Kdaj univerzalni pomnilnik
Univerzalni pomnilnik, ki bi odpravil pomnilniško hierarhijo in kot stranski učinek tudi končno odpravil nadležno zaganjanje računalnika, ostaja sveti gral računalništva, do katerega bomo prehodili še dolgo pot. MRAM, ReRAM in PCM najbrž nikoli ne bodo v popolnosti dosegli te funkcije. Gledati jih moramo kot zelo uporabne tehnologije, ki so jih razvili na poti do tja.