SRAM

**SRAM** (*Static Random Access Memory*) ehk **staatiline suvapöördusmälu** on muutmälu, milles sisalduvad andmed ei vaja nende säilitamiseks perioodilist värskendust, kuid andmed säilivad ainult toitepinge olemasolul. Sõna "staatiline" viitab erinevusele dünaamilisest muutmälust (DRAM), mille elemendid vajavad oma ehituse tõttu pidevalt uuendamist. 

Toitesõltuvusest lähtuvalt loetakse nii SRAM kui ka DRAM haihtuvat liiki mäluks ehk hävimäluks, sest voolu kadumise järel mälus olnud andmed peagi kustuvad.

SRAM on märksa kiirem kui DRAM ja väiksema voolutarbega, sest ooteolekus on voolutarve nullilähedane. SRAM-i voolutarve oleneb suuresti selle poole pöördumise sagedusest. Sagedasel kasutamisel võib voolutarve (elemendi kohta) olla peaaegu sama suur kui DRAM-il.

SRAM-mäluelement vajab mitut transistori (DRAM ainult ühe) ja seega oluliselt rohkem pinda kiibil. Seetõttu pole võimalik staatilise muutmälu komponente valmistada kuigi suuremahulisena.

## Ehitus
SRAM-is hoitakse igat bitti neljast transistorist koosnevas trigeris, mille moodustavad kaks inverterit. Sellisel salvestuselemendil on kaks stabiilset olekut, mida kasutatakse 0 ja 1 esitamiseks. Kaks lisatransistori (üks sisendis, teine väljundis) võimaldavad juhtida juurdepääsu trigerile andmete lugemisel ja kirjutamisel. Harvemini kasutatakse suurema arvu transistoridega mäluelemente, näiteks töökindluse suurendamiseks ja kirjutamise voolutarbe vähendamiseks. 

## Töökäik
SRAM-i mäluelement võib olla kolmes olekus: *ootel* (vooluringis ei toimu midagi), *loeb* (andmeid nõutakse) ja *kirjutab* (uuendatakse elemendi sisu).

### Ooteolek
Kui sõnajuhe pole aktiveeritud (ühendatud), eraldavad sisend- ja väljundtransistorid (M5, M6) mäluelemendi bitijuhtmest. Triger (M1 – M4) säilitab oma väljundoleku (0 või 1), tarbides sealjuures väga vähe voolu (mõni nanoamper).

### Biti väljalugemine
Eeldame, et triger on olekus Q (loogiline 1). Lugemispöördumine käivitab mõlema bitiljuhtme pingestamise poole toitepingega, järgneb sõnajuhtme pingestamine sisend- või väljundtransistori juhtivusoleku muutmiseks. Tulemusena kandub bitijuhtmesse 1, nii et BL-juhe jääb aktiveerituks ja BL-juhe omandab läbi M1 ja M5 oleku 0 (M1 on ülalmärgitud eeldusel aktiveeritud). BL-juhe saab läbi M4 ja M6 toitepinge ja seega taas loogilise 1 oleku.

### Biti kirjutamine
Kirjutamine algab bitiväärtuse (1 või 0) andmisega bitijuhtmetele. Väärtuse 0 kirjutamiseks antakse BL-juhtmele 0 ja BL-juhtmele 1 vastav pinge. Bitiväärtuse 1 kirjutamiseks on pingestus vastupidine. Järgneb WL-juhtme lülitamine ja soovitud bitiväärtuse paigutamine aadressiga määratud rea- ja veerujuhtmete ristumiskohas paiknevasse mäluelementi. Ülekirjutamine saab toimuda seetõttu, et elemendile juurdepääsu reguleerivad nMOS-transistorid M5 ja M6 on tugevamad kui alumised nMOS-transistorid (M1, M3) või ülemised pMOS-transistorid (M2, M4). Transistori tugevus sõltub tema suurusest ja tüübist: pMOS-transistorid on sama suuruse juures ülekirjutamise suhtes palju nõrgemad kui nMOSid.

## Kasutusalad
SRAM leiab kasutamist rakendustes, kus on esmatähtis kiire juurdepääs andmetele (lühike pöördusaeg) ja ei vajata eriti suurt mälumahtu, näiteks arvuti keskseadmes vahemäluna, tööstus- ja tarbeelektroonikaseadmete kontrollerites ja muudes kiipides kohaliku salvestina, samuti puhvermäluna erinevate talitlusparameetritega funktsionaalsete üksuste vahel.

Koos toiteallikaga (nt liitiumpatareiga) moodustab SRAM säilmälu nvSRAM (ingl *non-volatile SRAM*, mittehaihtuv mälu). Kuna SRAMi voolutarve on tühiselt väike (pöördumiste puudumisel), suudab niisugune mälu säilitada seadmele tähtsaid andmeid mitme aasta vältel ja seda ka siis, kui seade on välistoiteta. 

## Vaata ka
* Muutmälu

## Viited