Mälumoodul

Mälumoodul on suure arvu viikudega trükkplaat, millele on monteeritud mälukiibid. Neid kasutatakse personaalarvutites, tööjaamades ja serverites.
Moodulitüübid.
Personaalarvutites on (või on olnud) kasutusel järgmist tüüpi moodulid:
SIMM.
Üksikute kiipide emaplaadile paneku asemel võeti kasutusele mälumoodulid, et mälu oleks korralikult kinni, aga samas ka vahetatav. DIMM-mälukiibid on juba mooduli külge joodetud, nii et neid vahetada ei saa, küll aga saab mälusid vahetada mooduli kaupa. Varasematel mälumoodulitel oli üks rida elektrilisi kontakte, ja seeläbi oli nende nimi SIMM (ingl k : "Single In-line Memory Module") ehk üherealine mälumoodul. Mälumooduli pesadel on ääres spetsiaalsed kinnitused, et ühendus muutmälu ja emaplaadi vahel kindlalt püsiks. Kasutusel on erinevaid tüüpe SIMM-mälusid, näiteks 30 ja 72 viiguga.. Neid mälusid kasutati peamiselt 1980. aastate lõpust 1990. aastate lõpuni; tänapäeval on SIMM-mälude kasutus väga harv.
DIMM.
Kõik DIMM-standardid on kas 64-bitised või ka 72-bitised, siis kas paarsusbiti või ECC ("Error-Correcting Code") veatõejekoodita veatõrjekoodiga.
SODIMM.
Süle- ja tahvelarvutite, väikeste personaalarvutite ja võrguriistvara tarvis on loodud ka DIMM-i väiksem alternatiiv SODIMM (ingl k: "Small Outline Dual In-line Memory Module"). Need on DIMM-ist umbes poole väiksemad. Sarnaselt DIMM-iga on ka neil DDR, DDR2, DDR3 ja DDR4 standardeile vastavad kiibid.
Vaatamata kompaktsusele on SODIMM-id enamasti sama kiirusega nagu DIMM-id ja kasutavad sama toitepinget.
LPDDR.
LPDDR (ingl k: "Low Power DDR)" on väga väikese energiatarbega DDR-mälumoodul, mis on mõeldud eeskätt nutitelefonidele ja tahvelarvutitele. Need moodulid on väiksemad kui DDR-mälud. Lisaks sellele uuendavad LPDDR-id ennast olenevalt tingimustest harvemini ja omavad olekut ""deep power down"," mis tähendab seda, et kogu mälu sisu unustatakse.
Registritega moodulid.
DIMM-id on kas registritega või registriteta. Enamik mooduleid luuakse registriteta, sest see on lihtsam, odavam ning samuti ka efektiivsem ja kiirem moodus. Registriteta moodulitel liiguvad mälukontrolleri signaalid otse kiibini.
Probleem registriteta moodulite juures on aga see, et emaplaadi tootjad peavad piirama mooduli soklite ja moodulil asuvate kiipide arvu. Masinad, mis vajavad suuremahulist muutmälu, nagu näiteks serverid, kasutavad tihti registritega mooduleid. Registri kiibid töötavad liidesena kiibistiku ja mälukiipide vahel. Nad hoiavad ajutiselt andmeid, mis liiguvad mälukiibile ja sealt tagasi. Tänu sellele saab moodulile panna palju rohkem mälukiipe, kui kiibistik muidu lubaks. Registritega DIMM-id on tavaliselt kõrgemad kui tavalised. Emaplaadid toetavad vaid kas registritega või registriteta mälumooduleid, mitte mõlemat.
Moodulite mahutavus.
Mälumooduli mahutavus saadakse ühe mälukiibi mahutavuse ja kiipide arvu korrutisena.
Näiteks on moodulil 16 kiipi tüübitähisega GM72V16821CT10K. Selle kiibi spetsifikatsiooni kohaselt on andmed kiibil kahe kiibikomplektina ("dual rank"), kummaski 524 288 (= 219) masinasõna pikkusega 16 = 24 bitti. Seega mahutab üks kiip 2×219×24 = 224 = 16 777 216 bitti. Moodul, millel on 16 niisugust kiipi, mahutab 224×16 = 228 bitti. Siis kiibi mahutavus baitides (1 B = 8 bit = 23 bit):
 2(28–3) B = 33 554 432 B (baiti) ehk 32 MiB (mibibaiti).
Mõnel moodulitüübil on lisaks üks või kaks lisakiipi (sama või muud tüüpi) veaparanduse (ECC) info salvestamiseks. Sel juhul kasutab bait 9 bitti: 8 andmebitti + 1 kontrollbitt 
"Rank"idega moodulid.
Vajaliku mahutavuse ja siinilaiuse saavutamiseks pannakse moodulil teatav arv mälukiipe koos töötama.
DDR-moodulid kasutavad andmete edastamiseks 64 biti laiust (64-juhtmelist) paralleelsiini. Veaparandusega (ECC) mooduli korral on siini laius 72 bitti. Moodulites kasutatakse 4, 8 ja 16 biti laiuseid kiipe (sama arvu andmejuhtmeid vajab iga kiip mooduliga ühendamiseks). Kui mälukiibi laius on näiteks 8 bitti, siis vajab 64-bitine siin 8 sellist kiipi (ECC rakendamise korral 9 kiipi). Vastavalt on 4-bitiseid kiipe vaja 16 ja 16-bitiseid kiipe 4.
Niisuguse 64-bitise kogulaiusega adresseeritava kiibikomplekti kohta kasutab pooljuhtelektroonika standardiorganisatsioon JEDEC terminit "rank". 
Mälumoodulil võib olla üks, kaks või neli "rank"i, mis on sõltumatult adresseeritavad: 
Iga 64-bitinedual rank" moodul töötab samamoodi kui kaks tavalist eraldi moodulit, aga et korraga on andmesiinile juurdepääs ainult ühel kanalil, siis väheneb töökiirus. 
Kui ühe "rank"i mahutavus on näiteks 4 GB, siis moodulil "dual rank DIMM" on see 8 GB ja "quad rank DIMM" 16 GB.
Vead.
Tahes tahtmata tekivad mäludes vead. Vigu liigitatakse laias laastus kaheks: rasked ja kerged vead. Rasked vead tulenevad näiteks mingist puudusest, füüsilisest kahjustusest või muust sarnasest, mille tulemusel lõpetab kiip töötamise ja ainsaks lahenduseks jääb välja vahetus. Kerged vead on ajutised vead, mis toimuvad mitteperioodiliste intervallide tagant.
Tänapäeval on suurim kergete vigade tekitaja kosmiline kiirgus, mida on efektiivselt võimatu vältida. Mida tihedamad on mälud, seda lihtsamini kerged vead tekivad. Oletatavalt on kergete vigade sagedus 64 MB DRAM-i puhul kaks korda suurem kui 16 MB kiibil ja 256 MB DRAM-il on see sagedus neli korda suurem.
Lisaks kosmilisele kiirgusele võivad kerged vead tekkida järgmiste tegurite mõjul:
Parim viis selle probleemiga tegelemiseks on suurendada süsteemi veataluvust. Selleks kasutatavad meetodid on paarsuskontroll ja ECC (ing k: "Error-Correcting Code) "veatõrjekood.
Vaatamata olemasolevatele meetoditele paljud süsteemid ülalnimetatud meetodeid ei kasuta. Põhjus on selles, et paarsuskontrolli ja veatõrjekoodi kasutamine kallis. Iga kaheksa biti kohta on paarsuskontrolliks vaja veel ühte bitti, mis tähendab, et sellises mälus on vaja 12,5% rohkem mälukiipe. Lisaks sellele peavad mälukontrolleris olema paarsuskontrolli või veatõrjekoodi arvutamiseks sobilikud loogikaüksused.
Paarsuskontrolli algoritm kontrollib, et ühtede arv oleks nii saatjas kui ka saajas kas paaris või paaritu. Vastasel juhul tuleb info uuesti saata. ECC veatõrjekood suudab jooksvalt parandada ühebitiseid vigu ja tuvastada kahebitiseid.