DRAM

Dynaamisten muistipiirien historia

Ensimmäinen dynaaminen integroitu muistipiiri oli Intel 1103, jonka koko oli 1 kbit. 1 Mbit muistikoko saavutettiin 1984 ja 1 Gbit 1990-luvun lopulla.

DRAM-protokollan yleispiirteet ja piirien rakenne

DRAM-piirien muistiosoite koostuu kahdesta osasta, rivi- ja sarakeosoitteesta.
Näihin molempiin käytetään yhteisiä osoitelinjoja. Tyypillisesti osoitteen ylimmät bitit sisältävät rivin, alimmat bitit sarakkeen.
Ensin valitaan aktivoitava rivi, ja kun muistipiiri on saanut rivin aktivoitua, sille ilmoitetaan tältä riviltä sarake, josta luetaan tai johon kirjoitetaan. 
Muistipiirien kapasiteetti ilmoitetaan tyypillisesti kilobitteinä sekä piirin datan leveytenä: esimerkiksi 2 Mbit × 32 tarkoittaa 32-bittistä kahden megabitin muistia eli kahdeksan megabitin kapasiteettia. Yksi osoite viittaa siis aina dataleveyden kokoiseen datamäärään. Kun muistin leveys on jotain muuta kuin prosessorin muistiosoituksen leveys (joka on yleensä 8 bittiä), koneen muistiohjain tekee muutoksen muistin käyttämien ja prosessorin käyttämien osoitteiden välillä.

Käyttöjännite

SDRAM toimii 3,3 voltilla, FPM ja EDO (pakkaus yleensä on SIMM) toimivat 5 voltilla. 
PC-tietokoneiden vanhemmissa emolevyissä oli mahdollista käyttää sekä SDRAM DIMMejä että EDO SIMMejä. Näissä tehonsyöttö oli erikseen DIMMille ja SIMMille, mutta dataväylä oli yhdessä. Jos molempia laittaa samalle emolevylle, SDRAMin 3,3 voltin tulo tuhoutuu hetken jälkeen SIMMin 5 voltin syöttöjännitteen vuoksi.

DRAM muistityypit

DRAM-muistityyppejä on kehitetty useita eri versioita, kuten FPM, EDO, SDRAM, DDR, DDR2, DDR3 ja DDR4. 
PC-tietokoneissa nämä muistityypit ovat usein käytössä keskusmuistina ja ne liitetään tietokoneeseen muistikampoina. Muistikampoja on yksipuolisella liittimellä (SIMM) ja nykyään kaksipuolisella liittimellä (DIMM). Pieniä tietokoneita, kuten kannettavia varten käyttöön tuli SODIMM (Small Outline Dual In-line Memory Module) liitin. Aiemmin tietokoneissa on ollut käytössä mm. ZIF liitäntäisiä muistimoduuleja.
Mobiililaitteissa, kuten puhelimissa käytetään DRAM-muistien vähävirtaista versiota.
PlayStation 4 käyttää vain GDDR5-muistia, joka on jaettu sekä CPU- että GPU- toimintojen välillä.

FPM

FPM (engl. Fast Page Mode) on 1990-luvun alussa esitelty muistityyppi.
Se sallii lukemisen samalta riviltä jokaisesta sarakkeesta kerralla siten, että vain sarakeosoitetta muutetaan. Aiemmin muistia luettiin sekä rivi että sarake asettamalla.
FPM-muistin hakuaika oli tyypillisesti 100–60 ns.
FPM-muisti ei ollut synkronoitu kellosignaaliin, mutta tyypillisesti sen nopeus sopi prosessorien väylänopeuteen siten, että prosessorilta kului peräkkäisen datan lukemiseen väyläkellojaksoja sarjan 5-3-3-3 verran. Esimerkiksi välimuistilinjan täyttäminen muistista neljässä kellojaksossa kului kokonaisuudessaan näiden summan verran väyläkellojaksoja eli 14.

EDO

EDO (engl. Extended Data Out RAM) tuli käyttöön 1990-luvun puolivälissä.
FPM poistaa datan lähdöstään aina, kun se alkaa hakea dataa uudesta osoitteesta. EDO pitää edellisen datan lähdössä kunnes uusi on löytynyt. Näin tarvittavien kellopulssien määrä vähenee yhdellä, ja tyypillisesti suoritin pystyy EDO-muistia lukemaan muistista kellopulssisarjalla 5-2-2-2 eli välimuistilinjan täyttäminen neljästä peräkkäisestä osoitteesta vie EDO-muistin kanssa 11 kellojaksoa.
EDO-muistit toimivat tyypillisesti 70–50 ns nopeudella.

SDRAM

SDRAM (engl. Synchronous Dynamic Random Access Memory) esiteltiin 1996. SDRAM:in on myöhemmin syrjäyttänyt DDR SDRAM.
SDRAM vaatii samalla tavalla virkistämistä kuin tavallinenkin DRAM. SDRAM on edeltäjistään poiketen synkronoitu kellosignaaliin, mikä mahdollistaa muistiväylän paremman liukuhihnoittamisen ja siten nopeamman peräkkäisen datansiirron. Hakuaikaa SDRAM ei kuitenkaan paranna, vaan saattaa jopa hiukan huonontaa (koska pitää aina odottaa kellonreunaa ennen kuin muistille voi antaa komentoja). SDRAM pystyy antamaan peräkkäistä dataa ulos peräkkäisinä kellojaksoina. SDRAMit pystyvät siis tyypillisesti antamaan peräkkäisiä data-alkioita ajoituksella 5-1-1-1 eli neljän data-alkion kokoisen välimuistilinjan täyttämiseen kuluu 8 väyläkellojaksoa.
SDRAM-muistien hakuaika ilmoitetaan kellojaksolukemina, eli paljonko aikaa kuluu signaalin jälkeen ennen kuin piiri antaa dataa, tai piirille voidaan antaa seuraava ohjaussignaali.
CL (CAS latency) on kellojaksomäärä jonka kuluttua sarakeosoitteen antamisesta piiri alkaa antaa dataa ulos. Se on tyypillisesti 2 tai 3 kellojaksoa. RAS-To-CAS latency ilmoittaa kellojaksoissa kuinka pian riviosoitteen antamisesta voidaan piirille antaa sarakeosoite. Tyypillisesti tämä latenssi on 2 tai 3 kellojaksoa.
Jos dataa luetaan täysin uudesta osoitteesta, pitää siis odottaa molempien viiveiden summan verran, mutta jos dataa luetaan samalta riviltä, kuin mistä viimeksi luettiin, riittää pelkkä CAS-viive.
SDRAM-muisteja on valmistettu noin 66–200 MHz kellotaajuudella, tosin koneiden keskusmuisteiksi vain 66, 100 ja 133 MHz -standardeilla (alkuperäinen, PC100 ja PC133). Nopeammat ovat olleet erikoismuisteja näytönohjaimiin. Monet muistit pystyivät pienemmällä kellojaksolla toimiessaan pienempiin viiveisiin, muistin CAS-hakuaika 133 MHz:lla saattoi olla 3 kellojaksoa eli 22 ns, mutta 100 MHz:lla 2 kellojaksoa eli 20 ns.

SGRAM

SGRAM (engl. Synchronous graphics RAM) on näytönohjaimien grafiikkamuistiin tarkoitettu erikoistunut versio SDRAMista. Esimerkkejä toiminnoista ovat "Block Write" ja "Mask Write".
SGRAM muistityyppiä käytetään standardeissa, kuten GDDR5.

DDR SDRAM

DDR-SDRAM (engl. double data rate synchronous dynamic random access memory) on vuonna 2000 esitelty muistityyppi.
DDR-SDRAM on toiminnaltaan hyvin samanlainen kuin SDRAM-muistityyppi. Nimensä mukaisesti se kuitenkin kaksinkertaistaa siirrettävän tiedon määrän verrattaessa aiempaan SDRAM-muistiin.
DDR-SDRAM käyttää sekä nousevaa että laskevaa kellopulssin reunaa tiedonsiirtoon, josta viittaus nimessä olevaan kaksinkertaistumiseen. 
Tyyppinimityksellään DDR-SDRAM eroaa myös edeltäjistään. 100 MHz:n muistiväylässä toimivan muistin tyyppinimi on PC1600 ja 133 MHz:n väylässä PC2100. Nimitykset tulevat muistin hetkellisestä tiedonsiirtonopeudesta ilmoitettuna yksikössä MB/s, esimerkiksi PC1600 (8 tavua × 2 × 100 MHz = 1600 MB/s) ja PC 2100 (8 tavua × 2 × 133 MHz = 2100 MB/s). Edellisistä voidaan käyttää myös vanhentuneita nimityksiä PC200 ja PC266. Nopein standardoitu DDR toimii 400 MHz:n nopeudella ja sen mallimerkintä on PC3200.

DDR2 SDRAM

Tietoa siirretään DDR2-muistissa sekä nousevalla että laskevalla kellopulssilla, kuten DDR-muistissakin.
DDR2 on suunniteltu suurta kellotaajuutta silmällä pitäen, ja muistin ydin toimii puolella kellotaajuudella ulkoiseen nähden, jolloin kellotaajuutta voidaan nostaa selvästi, koska sisäinen nopeus ei tule ongelmaksi. Lisäksi signalointia on parannettu ja jännitettä pienennetty DDR:stä.
Samalla kellotaajuudella DDR2 on kaistanleveydeltään yhtä nopeaa kuin DDR, ja hakuajoiltaan jopa hitaampaa, mutta samalla valmistustekniikalla pystytään tekemään miltei kaksinkertaisella kellotaajuudella toimivia DDR2-muisteja DDR-muisteihin nähden.

DDR3 SDRAM

DDR2:ta seuraava kehitysaskel on DDR3-muisti. DDR3-muistit on suunniteltu kasvattamaan suorituskykyä ja alentamaan tehonkulutusta DDR2-muisteihin verrattuna. DDR3 käyttää 1,5 voltin jännitettä. DDR3-moduuli on ulkomitoiltaan samankokoinen kuin DDR2, mutta ei ole yhteensopiva sen kanssa. Muistimoduulin reunassa oleva lovi on eri paikassa, mikä estää muistin asentamisen DDR2-kantaan.
DDR3:n sisällä on tapahtunut muutoksia. Esihakupuskuri on kahdeksanbittinen. Virtavuotoja on pyritty vähentämään kaksiporttisilla transistoreilla. DDR3-muistipiirit tarjoavat 64-bittisen kaistanleveyden. DDR3-muistikampoja voidaan laittaa kolme rinnakkain ja saada näin 192 bittiä leveä muistiväylä, mikäli emolevy tukee sitä. DDR3-muistipiirissä sisäinen hakuaika on kahdeksasosa dataväylän datansiirtonopeudesta. Muistipiiri kykenee lukemaan jokaisella sisäisellä kellojaksolla kahdeksan bittiä dataa. DDR3-teknologia on muuttunut sisäisesti DDR2-teknologiasta siten että siinä missä DDR2 turvautui T-Branch-arkkitehtuuriin, turvautuu DDR3 Fly-by-arkkitehtuuriin, joka on yksinkertaisempi ratkaisu kuin ensimmäisenä mainittu. Fly-byssä muistipiirit ketjutetaan sarjaan. Ketjun päässä on terminointi, jonka tarkoituksena on estää signaalia heijastumasta takaisin. Fly-bytä käytetään, jotta päästäisiin T-branchin rajoituksista suurilla kellotaajuuksilla.

DDR4 SDRAM

DDR3:a seuraava kehitysaskel on DDR4. Se käyttää 1,2 voltin jännitettä. Sen kellotaajuus on alkaen 2133 MHz ja on jopa 3200 MHz.
JEDECin standardimäärittelyn mukaan DDR4 muistin siirtonopeus on aluksi 1.6 GT/s pinnikohtaisesti, mahdollistaen myöhemmin 3.2 GT/s siirtonopeuden pinnikohtaisesti.

Muita DRAM-muistityyppejä

Muita DRAMiin perustuvia ei-yleistyneitä muistipiirityyppejä ovat SLDRAM, QDR SDRAM ja Rambus RDRAM.

Rambus

DDR-SDRAMin kilpailijana oli alkuaikoina Intelin tukema Rambus-yhtiön RDRAM. DDR-SDRAM oli kuitenkin halvempaa valmistaa sekä lisäksi RDRAMin lisenssi oli kallis ja vain harvat valmistajat hankkivat sen lisenssin. Valmistajien vähyys lisäsi muistityyppien hintaeroa. Vaikutusvaltaisen Tom's Hardwaren testissä RDRAMin suorituskyky oli korkeintaan 3 % parempi kuin SDRAMilla, ja joissain tapauksissa huonompi. Intel luopui RDRAMista kokonaan vuoteen 2003 mennessä.
Uudempi Rambus-yrityksen ehdotus muistiarkkitehtuuriksi on XDR DRAM.

Embedded DRAM (eDRAM)

Mikropiirille integroitu DRAM-tyyppi.

Mobile DDR

Mobile DDR (myös nimillä mDDR, Low Power DDR, tai LPDDR) on vähävirtainen versio DDR-muistista mobiililaitteisiin.
Variaatioita ovat mm. LPDDR, LPDDR2 ja LPDDR4.

Pseudostatic RAM (PSRAM)

PSRAM tai PSDRAM on DRAM- ja SRAM- tyyppien yhdistelmä, jota on käytetty eräissä älypuhelimissa.