Lappeenrannan teknillinen yliopisto Teknistaloudellinen tiedekunta Tietotekniikan koulutusohjelma Opintojakson Käyttöjärjestelmät seminaarityö Jyrki Eurén 0382938, Raimo Asikainen 0382925, Janne Laitinen 0383005, Teppo Lapinkoski 0383021, Manu Toivanen 0383144 ja Pasi Ruuth 0383115 TIETOKONEEN MUISTI NYT JA TULEVAISUUDESSA Työn tarkastaja(t): Leena Ikonen Työn ohjaaja(t): Leena Ikonen
TIIVISTELMÄ Lappeenrannan teknillinen yliopisto Teknistaloudellinen tiedekunta Tietotekniikan koulutusohjelma Jyrki Eurén 0382938, Raimo Asikainen 0382925, Janne Laitinen 0383005, Teppo Lapinkoski 0383021, Manu Toivanen 0383144 ja Pasi Ruuth 0383115 Tietokoneen muisti nyt ja tulevaisuudessa Seminaarityö 2013 20 sivua, 6 kuvaa Työn tarkastaja: Leena Ikonen Hakusanat: tietokone, muisti, prosessorin muisti, välimuisti, keskusmuisti, massamuisti Keywords: computer, memory, cpu memory, cache, ram, mass memory Tässä seminaarityössä tarkasteltiin tietokoneen eri muistityyppejä lähtien aikaisista magneettimuisteista nykyisin käytettäviin puolijohdemuisteihin aina tulevaisuuskatsauksessa käsiteltyihin tulevaisuuden muistityyppeihin asti. Työ on tehty ja kirjoitettu yleisellä tasolla, jolloin se on helposti kenen tahansa ymmärrettävissä. Tavoitteena tässä työssä on esitellä eri muistityyppejä ja niissä käytettyjä teknologioita. Johtuen teknologian nopeasta kehittymisestä ei kaikkia tarjolla olevia muistityyppejä ole ollut mahdollista käsitellä tässä työssä. Yhteenvetona voidaan todeta, että elektroniikkateollisuudella on tavoite kehittää koko ajan pienempään tilaan pakattua suurempaa muistikapasiteettia mahdollisimman halpaan hintaan.
ABSTRACT Lappeenranta University of Technology Faculty of Technology Management Degree Program in Information Technology Jyrki Eurén 0382938, Teppo Lapinkoski 0383021, Pasi Ruuth 0383115, Manu Toivanen 0383144 ja Janne Laitinen 0383005 Tietokoneen muisti nyt ja tulevaisuudessa Seminar Report 20 pages, 6 figures Examiners : Leena Ikonen Keywords: computer, memory, cpu memory, cache, ram, mass memory In this seminar report was studied diffirent computer memory types from the early magnetic memories to modern semiconductor memories and up to the memory types in the future. This study was done and written on general level, so that it is understandable for all people. The goal of the report was to present different computer memory types and technologies used. Because of the rapid technological development, it was not possible to examine all possible memory types on the market. As a conclusion it can be said that the electronics industry has all the time a goal to develop memories packed in smaller size with bigger capasity in the lowest possible price. 3
ALKUSANAT Tämä seminaarityö on toteutettu osana Lappeenrannan teknillisen yliopiston Käyttöjärjestelmätkurssia. Työn tarkoituksen on tutkia ja analysoida tietokoneen erilaisia muistityyppejä nyt ja tulevaisuudessa. Seminaarityö on tehty kuuden Käyttöjärjestelmät-kurssiin osallistuvan opiskelijan yhteistyönä. Kiitämme kaikkia osapuolia työpanoksesta seminaarityön toteuttamiseksi. 4
SISÄLLYSLUETTELO SISÄLLYSLUETTELO... 5 JOHDANTO... 7 Työn tausta... 7 Tavoitteet ja rajaukset... 7 Työn rakenne... 7 TIETOKONEEN MUISTIN PERUSTEET... 7 Muistien taustaa... 7 Yleistä muisteista... 8 TIETOKONEEN MUISTI NYT... 9 Prosessorin muistit... 10 Välimuisti (CPU Cache)... 11 Keskusmuisti... 11 Massamuistit... 12 TIETOKONEEN MUISTI TULEVAISUUDESSA... 13 NVM (non-volatile memory)... 14 STT-RAM... 14 PCRAM... 15 RRAM... 16 YHTEENVETO... 17 LÄHTEET 5
SYMBOLI- JA LYHENNELUETTELO ALU CPU DDR DIMM DMA DRAM edram EEPROM EPROM I/O ITRS MTJ NVM NVRAM PRAM tai PCRAM PROM PROM A RAM ROM RRAM SCM SIMM SONOS SRAM SSD STT-RAM T-RAM TTRAM Z-RAM Arithmetic Logic Unit Central Prosessing Unit Dual Date SDRAM Dual Inline Memory Module Direct Memory Access Dynamic Random Access Memory Embedded Dynamic Random Access Memory Electronically Erasable Programmable Read-Only Memory Erasable Programmable Read-Only Memory Input/Output device The International Technology Roadmap for Semiconductors Magnetic Tunnel Joint Non-volatile memory Non-volatile random-access memory Phase-change memory A programmable read-only memory Programmable read-only memory Random Access Memory Read Only Memory Resistive random-access memory Storage Class Memory Single Inline Memory Module Silicon-Oxide-Nitride-Oxide-Silicon Static Random Access Memory Solid State Drive Spin Torque Transfer RAM Thyristor Random Access Memory Twin Transistor Random Access Memory Zero-capacitor Random Access Memory 6
JOHDANTO Työn tausta Seminaarityömme taustana ja lähtökohtana voidaan pitää ryhmän jäsenten yksilöllistä ja hyvin vaihtelevaa suuntautuneisuutta tietokoneen muistin tarkasteluun eri alojen näkökulmista. Osa on päässyt perehtymään muistin toimintaan hyvin syvällisesti lyhyemmän tarkastelujakson aikana, kun taas osalla on hieman kokonaisvaltaisempi, mutta osin yleisempi näkemys muistiin sisältyvistä toiminnoista. Näistä lähtökohdista seminaarityömme tarkoituksena on muodostaa ryhmän jäsenten tutkimiin lähteisiin ja kokemuksiin perustuva yhteenveto tietokoneen muistista nyt sekä luoda katsaus tulevaisuuden mahdollisuuksiin sen osalta. Tavoitteet ja rajaukset Tämän seminaarityön tavoitteena on tuoda esille tietokoneen muistiin liittyviä olennaisia rakenteita, hierarkiaa sekä eri muistinosien käyttötarkoituksia. Työ käsittelee muistiin sisältyviä osia tällä hetkellä sekä hahmottaa kehityssuuntaa tulevaisuuteen. Työssä tarkastellaan eri muistin osia vertaamalla niiden suorituskykyä ja soveltuvuutta tietokoneen rakenteissa sekä toimintaympäristöissä. Lisäksi työmme ottaa kantaa eri muistien materiaaliteknologioihin ja niiden soveltuvuuteen tiedon käsittelyssä. Työn rakenne Työn rakenne koostuu tietokoneen muistin perusteiden yleisestä esittelystä sekä tilanteesta nykyhetkellä. Esittelemme lyhyesti myös yleistä muistien terminologiaa. Ryhmämme käsittelee muistien osia toiminnallisuuden ja käyttötarkoituksen näkökulmasta. Muistin materiaalien kehitys on ollut merkittävää, jossa ominaisuuksille on tullut monta uutta merkitystä verrattuna ensimmäisiin tietokonemuisteihin. Pohdimme asiaa esille tuomiemme lähteiden sekä saamiemme kokemusten perusteella ja laadimme näkemyksistämme yhteenvedon ottaen huomioon eri alojen tarpeita odotuksineen. TIETOKONEEN MUISTIN PERUSTEET Muistien taustaa Tietokoneen muisti on se tietokoneen osa, johon voidaan tallentaa tietoa. 1960-luvulla tieto (bitit) tallennettiin käyttämällä pieniä magneettisia, donitsin muotoisia renkaita, jolloin sähkövirtaa 7
välittävät johtimet kulkivat näiden läpi. Näin renkaiden varaus vaihteli suunnasta toiseen ja ne soveltuivat siten varastointiin. Vähän tuoreempi bitin tallennusmenetelmä on kondensaattori, jonka levyille voidaan tallentaa kaksi tilaa, varaus tai ei-varaus. Nykyinen teknologia kykenee sijoittamaan miljoonia kondensaattoreita yhdelle piirijohdelevylle eli sirulle. Tiedon säilymisen ailahtelevuuden ja muistin päivittämisen tarpeen myötä tästä teknologiasta on tullut vallitseva tapa varastoida tietoa (Brookshear, 2003). Tietokoneessa tai siihen liitettymä erilaiset muistit toimivat erilaisin tavoin tietovarastona, käyttömuistina ja väliaikaismuistina. Käyttötarpeen mukaan on muisteja, jotka säilyttävät tietonsa virrattomassa tilassa ja muisteja, jotka eivät kykene säilyttämään tietojaan virran katkettua. Tarkoituksena kuitenkin on, että tietokoneen käsittelemän tiedon on aina oltava muistissa. Käytännössä mitään tietoa ei voida käsitellä suorittemessa ennen kuin se on ensin kopioitu keskusmuistiin (Jaakonhuhta, et.al. 1998). Myös käyttäjän käyttämien sovellusohjelmia tai sen osia pidetään käytön aikana muistissa. Yleistä muisteista Muistien toimintatapoja ja kohteita on siis runsaasti erilaisia. Tietokoneessa on erilaisia muisteja käyttötarkoitukseltaan, rakenteeltaan, toiminnaltaan, kooltaan ja nopeudeltaan sekä myös kustannuksiltaan. Muistit voidaan luokitella usean eri kriteerin perusteella eri tyyppeihin: väli-, keskus- ja massamuisteihin käyttötavan mukaan hajasaanti-, suorasaanti ja sarjasaantimuisteihin muistin hakutavan perusteella lukumuisteihin (ROM) ja lukimuisteihin (RAM) sen mukaan voidaanko muistiin kirjoittaa vai ei, haihtuviin ja haihtumattomiin muisteihin tiedon keston mukaan tallennusvälineen (media) perusteella levy-, nauha- tai puolijohdemuisteihin Muistihieararkian periaatteena on yrittää pitää juuri nyt tarpeellinen tieto mahdollisimman nopeasti saatavilla. 8
Kuva 1. Esimerkki eri muistityypeistä, niiden kapasiteeteista ja vasteajoista. Muistiin tieto voidaan tallentaa sähkövarauksina, magneettisina varauksina tai optisesti luettavaan muotoon. Tietokoneen muistin kapasiteetti mitataan bitteinä tai 8 bitin tavuina (Brookshear, 2003).. Muistipiirien kapasiteetti ilmoitetaan yleensä megabitteinä, keskusmuistin kapasiteetti megatavuina, massamuistin kapasiteetti taas giga- tai teratavuina (Kuva 1.). TIETOKONEEN MUISTI NYT Tietokoneen muistit ovat kehittyneet koko tietojenkäsittelyn historian kuluessa nykyiseen muotoonsa. Muistin historiassa datan tallennustavat ovat vaihdelleet mekaanisesta reikäkortista aina akustisten muistien kautta tyhjiöputkilla toteutettuihin muisteihin ja sitä kautta transistoreihin ja puolijohdemuisteihin. Nykymuistit voidaan jaotella esimerkiksi käyttötarkoituksen muikaisesti, toimintaperiaatteen mukaisesti tai hakutavan mukaan. Tietokoneen muisti voidaan jakaa kuvan 1 mukaisesti tietokoneen muistin hierarkian (Kuva 2.) mukaisesti (1) prosessorin muistiin, joka on erittäin nopeaa, mutta kapasiteetiltaan vähäistä, (2) välimuistiin, joka on nopeaa ja omaa prosessoritasoa enemmän kapasiteettia, (3) fyysiseen muistiin/keskusmuistiin, joka on keskinopeaa ja kapasiteetiltaan kohtalaisen kokoista sekä (4) massamuisteihin, jotka omaavat suuren kapasiteetin, mutta aiempiin muisteihin verrattuna paljon hitaamman nopeuden (Boncz et al. 1999). 9
Kuva 2. Tietokoneen muistin hierarkia (Boncz et al. 1999). Prosessorin muistit Tietokoneen suoritin eli prosessori (Kuva 3.) koostuu kolmesta perusosasta, aritmeettisloogisesta yksiköstä (arithmetic logic unit, ALU), ohjausyksiköstä (control unit) ja rekisteriryhmästä (register file/register bank). Kuva 3. Esimerkki tietokoneen perusrakenteesta Haltsosen ja Rautasen mukaan. 10
Prosessorin käsitellessä tietoa, se tallettaa toiminnan aikana tarvittavat tiedot ja muistiosoitteet rekistereihin. Rekistereitä voidaan käyttää myös keskusyksikön ja liitännäislaitteiden ohjaukseen. Kapasiteetiltaan rekisterit ovat pieniä, tyypillisesti yksi sana, ja nopeudeltaan suuria. Prosessorin kellotaajuus määrittää rekisterin nopeuden, joka on yksi kellojakso. Prosessori voi sisältää myös muita muistielimiä, kuten akku tai välimuisti (L1 ja L2 cache). (Haltsonen & Rautanen, 2008). Välimuisti (CPU Cache) Tietokoneessa tarvitaan välimuistia/ välimuisteja, koska keskusmuisti on prosessorin nopeuteen nähden liian hidas. Keskusmuistin hitaus prosessoriin nähden johtuu siitä, että se on sijoitettu prosessoripiirin ulkopuolelle, koska sitä ei ole fyysisen kokonsa puolesta mahdollista pakata samalle piirille. (Haltsonen & Rautanen, 2008). Välimuisteja on kolmea tyyppiä: suoraan kuvattu (direct mapped), joukko-assosiatiivinen (setassociative) ja assosiatiivinen (associatieve, fully associative), joista nykyaikaiset tietokoneet käyttävät suoraan kuvattua tai joukko-assosiatiivista muistia. Joissain prosessoreissa, joissa on sisäinen L1-välimuisti, mutta ei sisäistä L2-välimuistia, on L2- välimuisti sijoitettu emolevylle. Edellä kuvattu järjestely on huomattavasti hitaampi kuin prosessorin kahden sisäisen välimuistin käyttö, koska prosessorin ulkopuolelle sijoitettu välimuisti toimii ulkoisen väylän kellotaajuudella eikä prosessorin kellotaajuudella. (R. Flyktman, 2002). Keskusmuisti Keskusmuisti toimii tietokoneen käyttömuistina. Käyttömuistiin latautuu käyttöjärjestelmän tarvitsemat ohjelmistotiedot ja suoritettavien ohjelmien tiedot. Keskusmuistiin voidaan rinnastaa myös virtuaalimuisti, joka mahdollistaa osan keskusmuistin tietovaraston siirtämisestä massamuistiin. Keskusmuisti on tyypiltään luku-kirjoitusmuistia, johon ohjelmat voivat kirjoittaa ja pyyhkiä dataa. Keskusmuisti toimii random access-periaatteella (RAM-muisti), eli sen kaikkiin osiin päästää käsiksi käytännössä yhtä nopeasti. RAM-muistit voidaan jakaa kahteen ryhmään niiden toiminnallisuuden mukaan. Muistit voivat olla joko haihtuvia (esim. DRAM - Dynamic Random Access Memory, edram - embedded Dynamic Random Access Memory, SRAM - Static Random Access Memory, T-RAM - Thyristor Random Access Memory, Z-RAM - Zero-capasitor Random Access Memory ja TTRAM - Twin-transistor Random Access Memory) tai haihtumattomia (esim. Flash-muitit, PROM - Programmable Read-only Memory, EPROM - Erasable Programmable Read-only Memory, EEPROM - Electrically ErasableProgrammable Read- Only Memory, SONOS - Silicon Oxide Nitride Oxide Silicon, RRAM - Resistive Random Access Memory, NVRAM - Non-volatile random-access memory ja PRAM - Phase-change memory). 11
Haihtumattomien muistien nopeudet eivät yleensä yllä aivan haihtuvien tasolle tai sitten niiden hinta nousee vastaavaa haihtuvaa muistia korkeammaksi. Haihtumattomien muistien ja massamuistien välinen ero saattaa olla joissain tapauksissa epäselvä. (Opintojakso CT50A2601 Käyttöjärjestelmät.) Tämän hetken kokoonpanoissa tietokoneiden keskusmuistit ovat dynamic-ram-tyyppisiä, eli niiden muistipiirejä on virkistettävä, jotta niiden sisältämät tiedot eivät häviä. Prosessit käyttävät keskusmuistia prosessorin osoittaman osoiteavaruuden periaatteiden mukaisesti. Keskusmuistin nopeus ja kapasiteetti vaikuttavat suoraan järjestelmän nopeuteen ja suorituskykyyn. Keskusmuistin loppuminen johtaa osassa käyttöjärjestelmistä muistikapasiteetin hakemista massamuistilaitteesta, jolloin suorituskyky putoaa huomattavasti. Massamuistit Massamuistin tehtävänä on säilyttää ja taltioida kokoonpanon data. Useissa laitteissa on fyysinen tallennuslaite, joka säilöö siihen tallennetun datan ja mahdollistaa sen käytön myös virran katkaisemisen jälkeen (Coyne et al. 1993). Fyysisten laitteiden rinnalla on entistä enemmän erilaisia verkko- ja pilvipalveluita jotka tarjoavat tallennustilaa, jonka nopeus rajoittuu usein käytettävissä olevaan yhteysnopeuteen. Verkko- ja pilvipalveluiden suurena etuna on tiedon varmentaminen ja tietoturvan parempi taso. Massamuistit voidaan jakaa datan tallennusmenetelmän mukaan (1) mekaanisiin muisteihin, (2) optisiin muisteihin, (3) magneettisiin muisteihin ja (4) puolijohdemuisteihin. Massamuistit voidaan jakaa myös käyttötavan mukaan verkkoyhteyden takaa käytettäviin ja kiinteisiin asemiin. (G. Copeland, 1980). Mekaaniset muistit kuuluivat vahvasti tietokoneiden alkutaipaleeseen, mutta ovat jääneet toistaiseksi pois magneettisten, optisten ja puolijohdemuistien paremman suorituskyvyn johdosta. Mekaanisista muisteista voidaan historiallisista syistä mainita esimerkiksi reikäkortti, joka on ollut tietojenkäsittelyn välineenä vielä 1980-luvulla. Optiset ja magneettiset muistit tallentavat tietoa nimensä mukaisesti joko optiseen tai magneettiseen muotoon. Magneettiset muistit ovat osittain käytössä niiden suuren kapasiteetin johdosta. Magneettisistä muisteista eniten käytetty on tietokoneen kiintolevy. Magneettisten kiintolevyjen korvaajaksi on osittain tulleet nopeat puolijohdetekniikkaa hyödyntävät SSD-levyt (Solid State Drive), jotka toimivat magneettista tallennusvälinettä huomattavasti nopeammin, mutta ovat kapasiteetiltaan huomattavasti pienempiä. Tällä hetkellä useiden kokoonpanojen ratkaisu onkin yhdistää nopeaa SSD-tekniikkaa ja hitaampaa magneettista tekniikkaa sopivassa suhteessa. Optiset muistit tunnetaan nykyään parhaiten lyhenteistä CD ja DVD. Optisen tallenteen toimintaperiaatte on käyttää helposti siirrettävää levyä, jonka pinnalta lukulaite tunnistaa datan. 12
Optisen muistin luku tapahtuu kunkin standardin mukaisen valonlähteen, linssien ja prisman avulla. Sekä optiset että magneettiset tallennusvälineet vaativat tallennusvälineen liikkumista ja näin mekaanisia osia. Mekaanisen liikkeen johdosta tallennusmuodot aiheuttavat jonkin verran ääntä ja tuovat mukanaan riskejä tallenteen vaurioitumisesta. (Opintojakso CT50A2601 Käyttöjärjestelmät.) Puolijohdemuistit eivät sisällä mekaanisia osia vaan toimivat puolijohdepiirejä käyttäen. Muistit toimivat random access -periaatteella, jolloin levyn kaikkiin osioihin päästään tallentamaan ja lukemaan käytännössä samalla viiveellä. Koska puolijohdemuistit eivät sisällä liikkuvia osia, tarvitsevat ne myös hyvin vähän virtaa. Tämä ominaisuus on tullut erittäin käyttökelpoiseksi kannettavien laitteiden yleistyttyä. Puolijohdemuisteja käytetään massamuisteina niiden nopeuden ja äänettömyyden vuoksi. Puolijohdetekniikan negatiivisena puolena voidaan pitää niiden korkeaa hintaa, verrattuna esimerkiksi saman kapasiteetin magneettiseen tallennusvälineeseen. Erilaisten etätallennusmahdollisuuksien ja pilvipalveluiden myötä puolijohdemuistit saavat yhä enemmän jalansijaa, koska tietokoneen sisäisen muistin kapasiteettivaatimukset pienenevät. (Opintojakso CT50A2601 Käyttöjärjestelmät.) TIETOKONEEN MUISTI TULEVAISUUDESSA Kilpavarustelu ja teknologioiden kehittyminen tarkoittaa käytännössä sitä, että tietokoneen muisteilta odotetaan suurempaa nopeutta, halvempaa hintaa, pienempää kokoa ja alhaisempaa virran kulutusta. Mobiililaitteiden ja tietojärjestelmien nykyinen muistitekniikka onkin käytännössä sekä ratkaisu- että pullonkaula, joka tulee keksiä ja määritellä uudelleen tulevia järjestelmiä silmällä pitäen. Lähitulevaisuudessa perinteiset muisti- ja tallennushierarkiat saatetaan korvata yhdellä laitteella (Storage Class Memory, SCM), joka on integroitu suoraan keskusprosessoriin. ITRS (The International Technology Roadmap for Semiconductors) on arvioinut joitakin potentiaalisia SCM teknologioita, joista RRAM (Resistive RAM), STT-RAM (Spin Torque Transfer Read Access Memory) ja PCRAM (Phase Change Random Access Memory) ovat osoittaneet huomattavasti parempaa suorituskykyä ja potentiaalia suhteessa nykyisiin flash-teknologioihin. Kehitystyön tuloksena näiden muistien kestävyys, kirjoitusnopeus ja skaalautuvuus pyritään saamaan DRAMmuistien tasolle. (Marinella, 2013.) 13
NVM (non-volatile memory) Viime vuosien aikana haihtumattomien/pysyvien muistien (NVM) tekniikat ovat nousseet ehdolle tulevaisuuden yleismuisteiksi. Haihtumattomien muistien yleisiä etuja ovat vähäinen virrankulutus, pieni koko sekä hyvä lukunopeus. Toisaalta haihtumattomilla muisteilla on myös heikkoutensa. Tällaiset muistit tukevat yleensä epäsymmetristä lukemista ja kirjoittamista nopeuden ja energian kustannuksella, jolloin tämä asettaa uusia haasteita NVM-muistien hyödyntämiselle. (Xue, et.al. 2011.) Hararin (2012) mukaan kulutuselektroniikan ja mobiililaitteiden puolelta maailmanlaajuisesti yleisimmäksi NVM-muistiksi on noussut flash-muisti. Se lupaa valtavaa suorituskykyä ja virransäästöä suhteessa kiintolevyyn ja se on paljon tiheämpi ja vähemmän virtaa kuluttava kuin DRAM. Jotta näitä ominaisuuksi voitaisiin täysin hyödyntää, niin tulevaisuudessa pitää pystyä ratkaisemaan flash-muistiin liittyvät rajoitteet: muistipiirien rajallinen kestävyys, tietojen eheyden säilyttäminen sekä epäsymmetria ja latenssi kriittisten I/O-pyyntöjen välillä. (Grupp, et.al. 2009) Uudet kehittyvät haihtumattomat muistitekniikat, kuten STT-RAM, PCRAM ja RRAM, ovat osoittaneet suuria mahdollisuuksia, joilla voisi korvata nykypäivän SRAM / DRAM muistiteknologioita. Näistä muistitekniikoista odotetaan tulevaisuuden teknologioita yhdistäviä ratkaisuja, jotka voivat muuttaa perusteellisesti tulevaisuuden tietokoneiden arkkitehtuurin suunnittelun. (Xie, 2013.) STT-RAM Haihtumaton STT-RAM on uusi muistiteknologia, joka yhdistää DRAM-muistin kapasiteetin ja kustannushyödyt, SRAM-muistin suorituskyvyn luku- ja kirjoitusnopeudessa sekä flash-muistin käytännössä rajoittamattoman kestävyyden. Sillä on erinomainen kirjoitusvalikoivuus, erinomainen skaalautuvuus, alhainen virrankulutus sekä yksinkertainen rakenne ja valmistusprosessi. Tiedon tallentamiseen muistiin käytetään magneettista tunneliliitosta (Magnetic Tunnel Joint) ja tiedon lukemiseen käytetään MTJ-liitoksen magneettista vastusta. (Chen, et.al. 2010). Kuvassa 4 kuvataan STT-RAM-muistin toimintaa ja MTJ-tunnelointia. 14
Kuva 4. STT-RAM-muistin toiminta (Xie, 2013). Jotta STT-RAM voisi lunastaa sille asetetut odotukset, niin Nigam et.al. (2011) mukaan ensin täytyy ratkaista kaksi keskeistä haastetta. Ensimmäinen haaste on MTJ-liitoksen stokastinen (satunnainen) luonne, joka liittyy tiedon varastointiin STT-RAM-soluun. MTJ-tunneli voi käyttäytyä satunnaisesti odottamattomasti, koska operaatioihin liittyvien magnetointikytkentöjen aikana voi tapahtua odottamattomia lämpöpiikkejä. Tämän ilmiön mallintaminen tarkasti on tärkeää, jotta voidaan määritellä asianmukainen kirjoitusjännite ja pulssin leveys vaadittujen virhemarginaalien mukaisesti. Toinen haaste on se, että STT-RAM vaatii erittäin korkean kirjoitusenergian verrattuna SRAMmuistiin, jotta saavutetaan riittävä vastenopeus. Kirjoitusenergiaa vähentämällä virheiden määrä voi kasvaa, mutta samalla voidaan saada suuria energiansäästöjä. Jotta voidaan eliminoida tietojenkäsittelyyn kuluvaa viivettä, tulee löytää energianvähennystavoitteet täyttäviä tekniikoita. (Nigam, et.al. 2011.) PCRAM Yhä kasvava tarve suuremmalle keskusmuistin kapasiteetille aiheuttaa muistitekniikoille uusia haasteita, kuten skaalautuvuus, nopeus sekä alhaisempi energiankulutus. Yksi mahdollinen muistiratkaisu on PCRAM (Phase Change Random Access Memory). Sen parhaita puolia on sen skaalautuvuus, mutta toisaalta muistin korkea kirjoitusviive aiheuttaa haasteita. PCRAM on eräänlainen haihtumaton muisti, joka hyödyntää chalcogenide-lasin (Ge 2 Sb 2 Te 5 tai GST) ainutlaatuista käyttäytymistä bittien tallentamiseen. Tämän materiaalin tilaa voidaan vaihtaa kiinteän ja kiteisen tilan välillä virtapulssin avulla, joka muuttaa materiaalin resistanssia. Resistanssi määrittää PCRAM soluun tallennetun tiedon arvon. Kuvasta 5 näkyy PCRAM-muistin toiminnan kaksi eri tilaa eli päällä (SET / kiteinen tai matala resistanssi) sekä pois päältä (RESET / kiinteä tai korkea resistanssi). (Bheda, et.al. 2011.) 15
Kuva 5. PCRAM-muistin tilat SET/RESET (Bheda, et.al. 2011). Ohta (2011) määrittelee, että PCRAM-muistin tilan muutos kiteisestä-kiinteään on pohjimmiltaan terminen prosessi. Lämpökäsittely kuten hehkutus ja sulajäähdytys ovat vastaavia rakenteellisia muutoksia kohdemateriaaleihin. Perinteiset toiminnalliset vaiheiden muutokset optisiin levyihin, kuten kirjoitus (kiinteytyminen) ja poistaminen (kiteytyminen), ovat täysin termisiä prosesseja. PCRAM on saanut osakseen paljon huomiota niiden kypsyysasteen vuoksi (eli muistien prototyypit on julkaistu) sekä niiden uskomattoman suorituskyvyn vuoksi. Niissä yhdistyvät skaalautuvuus, nopeus, kierrätettävyys sekä tiedon pysyvyys. Tästä huolimatta siirtyminen PCRAM-muistin käyttämiseen sisältää myös suorituskykyyn liittyviä haasteita: Korkea viive kohonneessa lämpötilassa. Korkea tiedonsiirtonopeus alhaisella virralla heikentää suorittavan piirin muistia. Korkea muistisolun kierrätettävyys. Kiinteän ja kiteisen tilan välillä edestakaisin siirtyminen on pakollista. Suuri skaalautuvuus eli tilojen välillä tapahtuvien kytkentöjen on pysyttävä selvästi alle kymmenesosa nanometrissä. Vaikka PCRAM-teknologiat ovatkin melko kypsiä, niin erilaisia haasteita on vielä selätettävä ja materiaaliprosessit ja -tekniikat voivat tarjota näihin ratkaisuja. (Ohta, 2011) RRAM Metallioksidi-pohjainen RRAM (Resistive Random Access Memory) on yksi maailman kilpailukykyisimmistä ehdokkaista tulevaisuuden haihtumatonta muistia hyödyntäviin sovelluksiin. Sen rakenne on yksinkertainen, sillä on nopea kytkentänopeus, skaalautuvuus on erinomainen ja se on yhteensopiva nykyisen mikropiiritekniikan kanssa. RRAM pohjaiset laitteet ovat osoittaneet erinomaista suorituskykyä nopeuden ja tiedon luotettavan säilyvyyden osalta. (Wong, et.al. 2010.) 16
RRAM-solu muodostuu elektrodien välisestä metallioksidikerroksesta (Kuva 6), joka esimerkiksi tallentaa tavun, kun jännite muodostaa johdinpolun laitteeseen. RRAM käyttää siis lämmön sijaan jännitettä resistanssin vaihtamiseen. (Lammers, 2010) Kuva 6. RRAM-solu muodostuu elektrodien välisestä metallioksidikerroksesta (Lammers, 2010). Ennen kuin RRAM-muistia voidaan aloittaa valmistamaan teollisesti laajassa mittakaavassa, niin taustalla olevaa fysiikkaa pitää ymmärtää paremmin. Tällainen ymmärrys on erittäin tärkeää toteutettaessa skaalautuvia järjestelmiä ja samalla se lisää luotettavuutta (kuten tiedon säilyminen ja kestävyys) itse tuotetta kohtaan. Vaikka RRAM:lla onkin potentiaalia haihtumattomana muistitekniikkana, niin toisena nousevana sovelluksena RRAM:ia voidaan käyttää sähköisenä liitospintana osana neuroverkkojen laskentaa. RRAM:n monitasoisesta tallennuskapasiteetista ja alhaisesta virrankulutuksesta johtuen se voi käyttäytyä analogisen muistin tavoin emuloiden neuroverkon liitospintaa. (Wu, et.al. 2012.) YHTEENVETO Tietotekniikan kehitys kokonaisuudessaan on ollut huimaa viimeisten vuosien aikana. Samalla myös muistit ovat ottaneet kehitysharppauksia niin toiminnallisuudeltaan, rakenteeltaan, kooltaan, nopeudeltaan kuin tietenkin hinnaltaan. Tulevaisuuden suunta muistien ja niiden vaatimusten osalta näyttää olevat, että niistä pitäisi saada nopeampia, kustannustehokkaampia ja virrankulutukseltaan vähäisempiä ja tietenkin kooltaan optimaalisempia eri käyttötarkoitusten mukaan. Tietokoneiden osalta tutkimuksien ja kehitystyön pohjata on ajatuksia siitä, että lähitulevaisuudessa perinteiset muisti- ja tallennushierarkiat saatetaan korvata yhdellä laitteella (Storage Class Memory, SCM), joka on integroitu suoraan keskusprosessoriin. 17
Tulevaisuuden muistit tulevat sisältämään yhä vähemmän mekaanisia osia ja näin ollen ominaisuuksiltaan tarpeisiin sopivien materiaalien löytäminen tulee olemaan edelleen suuri haaste. Tulevatko muistit kehittymään materiaalien ominaisuuksien ehdoilla vai etsitäänkö muistin tiettyjen toimintojen aikaansaamiseksi uusia materiaaleja? Todennäköisesti kehitystyötä tehdään molempien näkökulmien suunnasta. Suuria haasteita ja odotuksia on varmasti olemassa myös muistien kehittymisen aiheuttamalle tiedon turvaamiselle. Eli kuinka saadaan vanhat ja nykyiset tiedot muistista siirrettyä päivitettäviin muisteihin. Ovatko uudet muistit joustavia etsimään ja vastaanottamaan aikaisempia muistitietoja, kuinka tietojen säilyminen voidaan taata jatkossakin - nämä ovat merkittäviä kysymyksiä myös uusien muistien kehitystyössä. 18
LÄHTEET Opintojakso CT50A2601 Käyttöjärjestelmät, Lappeenrannan teknillinen yliopisto, Teknistaloudellinen tiedekunta, Tietotekniikan koulutusohjelma, lukuvuosi 2009-2010, https://noppa.lut.fi/noppa/opintojakso/ct50a2601/. Brookshear, J.G., Computer Science, IT Press, Edita Publihing Oy, 2003. Flyktman, R., PC-laitetekniikka, Edita Prima, 2002 Gonzalez, R.C., Woods, R.E., Digital Image Processing, 3 rd edition, Prentice-Hall, Inc., USA, 2002. Haltsonen, S., Rautanen, E., T., Tietokonetekniikka, Edita Prima, 2008 Hamouz, M., Kittler, J., Kamarainen, J.-K., Paalanen, P., Kälviäinen, H., Matas, J., Feature-based Affine-invariant Localization of Faces, IEEE Transactions on Pattern Analysis and Machine Intelligence (PAMI), Vol. 27, No. 9, September 2005, pp. 1490-1495. Jaakonhuhta, H., Kiianmies, M., Tietotekniikka, Suomen ATK-Kustannus Oy, 1998. Jang, J.-S. R., Sun C.-T., Mizutani E.: Neuro-Fuzzy and Soft Computing, 1 st edition, Prentice-Hall, Inc., USA, 1997. Liu, Y., Handroos, H., Alkkiomäki, O., Kyrki, V., Kälviäinen, H., Development of a Hybrid Position/Force Controlled Hydraulic Parallel Robot for Impact Treatment, Proceedings of the 7th International Conference on Machine Automation (ICMA2008), September 24-26, Awaji, Japan, 2008, pp. 41-47. Copeland, G. (1980) - ACM SIGIR Forum, pp. 1-7. Coyne, R. A. & Hulen, H. (1993). An Introduction to the Mass Storage System Reference Model, Version 5. Twelfth IEEE Symposium on Mass Storage Systems, pp. 47-53 Bheda, R.A., Poovey, J.A., Beu, J.G., Conte, T.M. (2011) Energy Efficient Phase Change Memory Based Main Memory for Future High Performance Systems. IEEE 2011. 978-1-4577-1221-0/11 Chen, E., Lottis, D., Driskill-Smith, A., Druist, D., Nikitin, V., Watts, S., Tang, X., Apalkov, D. (2010) Non-volatile Spin-Transfer Torque RAM (STT-RAM). IEEE 2010. Pp. 249-252. 978-1- 4244-7870-5/101 19
Grupp, L.M., Caulfield, A.M., Coburn, J., Swansson, S., Yaakobi, E., Siegel, P.H., Wolf, J.K. (2009) Characterizing Flash Memory: Anomalies, Observations, and Applications. Micro 09, December 12-16, 2009. Pp. 24-33. 978-1-60558-798-1/09/12 Harari, E. (2012) Flash Memory - the Great Disruptor!. IEEE 2012, February 20, 2012. Pp. 10-15. 978-1-4673-0377-4/12 Lammers, D. (2010) Resistive RAM Gains Ground. Ieee spectrum, september 2010, p.14 Marinella, M. (2013) The Future of Memory. IEEE 2013, DOI 10.1109/AERO.2013.6507427 Nigam, A., Smullen, C.W., Mohan, V., Chen, E., Gurumurthi, S., Stan, M.R. (2011) Delivering on the Promise of Universal Memory for Spin-Transfer Torque RAM (STT-RAM). IEEE 2011. Pp. 121-126. 978-1-61284-660-6/11 Ohta, T. (2011) Phase Change Memory and Breakthrough Technologies. IEEE TRANSACTIONS ON MAGNETICS, VOL. 47, NO. 3, MARCH 2011. Pp. 613-619 Wong, H.-S., Kim, S., Lee, B., Caldwell, M.A., Liang, J., Wu, Y., Jeyasingh, R., Yu, S. (2010) Recent Progress of Phase Change Memory (PCM) and Resistive Switching Random Access Memory (RRAM). IEEE 2010. 978-1-4244-5798-4/10 Wu, Y., Yu, S., Guan, X., Wong, H.-S. (2012) Recent Progress of Resistive Switching Random Access Memory (RRAM). IEEE 2012. DOI 10.1109/SNW.2012.6243331 Xie, Y. (2013) Future Memory and Interconnect Technologies. IEEE 2013. Pp. 964-969. DOI 10.7873/DATE.2013.202 Xue, C.J., Sun, G., Zhang, Y., Yang, J.J., Chen, Y., Li, H. (2011) Emerging Non-Volatile Memories: Opportunities and Challenges. ACM 2011, October 9-14. Pp. 325-334. 978-1-4503-0715-4/11/10 Boncz, P., Kersten, M & Manegold, S. (1999). Database Architecture Optimized for the new Bottleneck: Memory Access. Proceedings of the 25th VLDB Confrence, pp. 54-65. 20