Memorie cu acces aleator

Memoria cu acces aleator sau memoria RAM (engleză: Random Access Memory, abreviat RAM) este denumirea generică pentru orice tip de memorie de calculator care:
 poate fi accesată aleator, oferind acces direct la orice locație sau adresă a ei, în orice ordine, chiar și la întâmplare, 
 se implementează de obicei pe cipuri (circuite integrate) electronice rapide și fără părți în mișcare (și nu pe dispozitive magnetice sau optice precum discurile dure sau CD-urile).
Memoria RAM se mai numește și memorie vie.
Memoria RAM de obicei mai poate fi exprimată ca o memorie secundară a unui sistem informatic sau alte dispozitive și poate influenta performanta unui sistem de calcul crescându-i-se viteza și performanțele sale în timp real.
Timpul de acces la datele din astfel de memorii este de obicei întotdeauna același, nedepinzând de poziția adresei de memorie accesate (deci nu ca la benzile sau discurile magnetice, care necesită un timp variabil). Fiecare locație de memorare dintr-o memorie cu acces aleator are un mecanism separat de adresare și poate fi accesată independent de celelalte locații. Deci, fiecare locație poate fi selectată aleator și accesată direct. Memoriile principale semiconductoare sunt în general de acest tip.

Memoria RAM este o memorie volatilă a calculatorului pentru că datele stocate sunt pierdute în momentul opririi calculatorului. Datele sunt scrise, șterse și scrise din nou, rezultând un ciclu de scriere-ștergere determinat de necesitățile programelor care rulează într-un anumit moment. Există și memorii RAM nevolatile, ca de exemplu ROM și  flash.
Avantajul memoriei RAM față de alte medii de stocare a datelor constă în viteza de acces extrem de mare, fiind de mii de ori mai mare decât de exemplu cea a unui un disc dur. Dar și prețul pe gigabyte este de circa 200 ori mai mare.

Scurt istoric
Prima formă practică de memorie cu acces aleator a fost un brevet al lui Frederic Calland Williams pentru un dispozitiv de stocare cu tub catodic la 11 decembrie 1946. Dispozitivul a devenit ulterior cunoscut drept tubul Williams. Tubul a stocat doar 128 cuvinte de 40 de biți.

Anul următor, Frederick Viehe depune o serie de brevete referitoare la memorie cu ferite. Aceasta funcționează prin utilizarea inelelor și a firelor metalice minuscule care se conectează la fiecare inel. Un bit de date putea fi stocat pe inel și accesat în orice moment. Au mai contribuit la dezvoltarea memoriei cu ferite An Wang, Ken Olsen și Jay Forrester.

O memorie statică bipolară cu acces aleatoriu (SRAM) integrat a fost inventată de Robert H. Norman la Fairchild Semiconductor în 1963. A fost urmată de dezvoltarea memoriei semiconductoare MOS SRAM de John Schmidt la Fairchild în 1964. Utilizarea comercială a SRAM a început în 1965, când IBM a introdus cipul de memorie de 16-bit SP95 pentru System/360 Model 95. 

O dată cu invenția lui Robert Dennard a primei celule DRAM cu un tranzistor în 1968, DRAM va deveni cipul de memorie standard pentru computerele personale care înlocuiește memoria cu ferite.

1969: Intel a lansat primul său produs, memoria bipolară 3101 Schottky TTL cu 64 de biți cu acces aleatoriu (SRAM). În același an, Intel a lansat memoria RAM bipolară 3301 Schipky de 1024 biți de citire (ROM).

1970: Intel produce Intel 1103, primul modul cip DRAM disponibil comercial, capabil să stocheze 1024 biți sau 1 kb memorie, folosind celule cu trei tranzistori.

1983: Laboratoarele Wang au creat modulul de memorie SIMM.

1984: Fujio Masuoka de la Toshiba a inventat memoria flash.

1993: Samsung a introdus KM48SL2000 SDRAM cu o capacitate de 16 Mb, care a devenit rapid un standard și produs în masă în 1993

1998: Primul cip comercial de memorie DDR SDRAM a fost produs de Samsung, DDR SDRAM de 64 Mb. În același an, GDDR (grafic DDR), a fost lansat pentru prima dată tot de Samsung ca un cip de memorie de 16 Mb. 

2003: DDR2 SDRAM și XDR DRAM încep să fie comercializate.

2007: este produs DDR3 SDRAM
2014: apare DDR4 SDRAM 
2018: SK Hynix a produs primele DDR5 SDRAM de 16 Gb . Samsung a anunțat disponibilitatea DDR5 LPDDR5 (pentru smartphone) până la sfârșitul anului 2019.

Caracteristici
Memoriile RAM diferă între ele prin mai multe caracteristici:

Capacitatea - sunt produse într-o serie tipică de valori: 256 MB, 512 MB, 1 GB, 2 GB, 4 GB, 8GB, 16 GB, indiferent de tipul sau modelul constructiv.

Numărul de pini - cele mai vechi module de memorie RAM, SRAM, aveau 168 pini, iar modelele DDR au: 184 pini (DDR1), 240 pini (DDR2, DDR3), 288 pini (DDR4, DDR5).

Frecvența și tensiunea de alimentare - memoria RAM este măsurată în câte cicluri pe secundă poate efectua, fiecare citire și scriere se face pe un ciclu. Cu cât sunt mai multe cicluri pe secundă, cu atât mai multe date pot fi stocate și citite: DDR3 (800-2666,6 MHz și 1,5 V), DDR4 (1600-3200 MHz și 1,2 V), DDR5 (4800-6400 MHz și 1,1 V).

Rata de transfer și lărgimea de bandă - rata de transfer este cantitatea maximă de informații care poate fi transferată în sau din memorie în unitatea de timp și este măsurata în biți pe secundă sau cuvinte pe secundă. Lărgimea de bandă este dată în megatransfer (MT/s) sau gigatransfer (GT/s).

 Latența - timpii de latență ("latency timings"), au un impact major asupra performanței. Se scriu ca o înșiruire de 4 valori (de ex. 3-4-4-8 , 4-4-4-12 , 5-5-5-15, etc.). Aceste valori semnifică în ordine :

CAS Latency (Latență CAS) – este timpul scurs între momentul când controlerul memoriei solicită informațiile stocate pe o coloană a unui rând și momentul când acestea sunt disponibile la pinii modulului; cu cât această latență este mai mică, cu atât datele sunt disponibile mai repede.
Ras-to-CAS Delay (întârzierea RAS la CAS) – timpul dintre activarea unui rând, cu ajutorul semnalului RAS (Row Address Strobe) și activarea coloanei, cu ajutorul semnalului CAS, la intersecția cărora se găsește informația solicitată.
RAS Precharge (timpul de preîncărcare RAS) – timpul necesar pentru terminarea accesului la un rând și începerea accesării altui rând.
Active to Precharge Delay (întârziere de la Activare la Preîncărcare) – reprezintă timpul minim cât rămâne activat semnalul RAS, adică timpul de la inițierea activării rândului și sfârșitul accesării rândului (RAS Precharge). Este valoarea cea mai mare, întrucât este mai mare decât suma timpului de accesare a rândului și a coloanei (RAS to CAS + CAS Latency).

Cu cât valorile latențelor sunt mai mici, cu atât modulul de memorie este mai performant (de ex. un modul 3-4-4-8 este mai rapid decât unul 4-4-4-12). 

La acești timpi de latență se mai adaugă uneori valoarea 1T sau 2T, numita "Command Rate" (Rată de Comandă) și măsurată în cicli de tact (1 sau 2 cicli). În mod similar un modul cu o valoare 1T este mai bun decât unul cu valoarea 2T. 

Fiabilitatea - este măsurată prin timpul mediu între defecte (MTBF – Mean Time Between Failures). În general, memoriile fără părți în mișcare au o fiabilitate mult mai ridicată decât memoriile care implică o deplasare mecanică, precum discurile magnetice. Chiar și la memoriile fără părți în mișcare apar probleme de fiabilitate, în particular atunci când se utilizează densități de memorare sau rate de transfer foarte ridicate. Codurile detectoare și corectoare de erori pot crește fiabilitatea memoriei.

Error correcting code (ECC) -  această facilitate presupune circuite suplimentare implementate în modulul de memorie și permite detectarea și corectarea erorilor ce pot apărea pe parcursul utilizării. În general, atât timp cât memoria nu este supusă unor situații anormale de funcționare (frecvență, tensiune de alimentare sau temperatură în afara specificațiilor), ea oferă o stabilitate (siguranță) extrem de apropiată de perfecțiune, arhisuficientă pentru un calculator obișnuit.

Registered (Buffered) - un buffer este o zonă de memorie intermediară (memorie tampon) suplimentară care depozitează informația înainte să fie transmisă controlerului, permițând verificarea riguroasă a acesteia. Memoriile de tip buffered sunt mai lente și extrem de scumpe, folosirea lor fiind justificată doar în cazurile speciale când corectitudinea informațiilor prelucrate și stabilitatea sistemului este esențială, de exemplu în cazul serverelor.

Organizarea internă a memoriei RAM

Memoria RAM este constituită fizic din elemente care prezintă două stări stabile, reprezentate convențional prin simbolurile 0 și 1 denumite biți sau cifre binare. Aceste elemente sunt constituite din milioane de perechi de tranzistori și condensatori. Rolul condensatorilor este de a reține sarcina electrică, iar al tranzistorului acela de a încărca cu sarcină electrică condensatorul. Aceste perechi de condensatori și tranzistori sunt dispuse sub formă de coloane și rânduri formând o matrice. Prin construcție, accesul la memorie se realizează la nivelul unui grup de biți denumit celulă sau locație de memorie. Celulele de memorie sunt grupate în locații de 1, 2, 4, 8, 16, 32, 64 de biți. Fiecărei locații de memorie îi este asociată o adresă, care identifică în mod unic aceea locație. La un moment dat o singură locație poate fi activă și conectată la magistrala de date și anume cea corespunzătoare adresei ce se află în acel moment pe magistrala de adrese. Numărul de biți care se poate memora într-o locație de memorie reprezintă lungimea cuvântului de memorie. Numărul total de locații de memorie reprezintă capacitatea memoriei și se exprimă în octeți. 

Din punct de vedere logic, în memoria RAM există mai multe tipuri de zone de memorie:

 Memoria convențională - este formată din primii 640 Kb ai memoriei calculatorului, fiind zona în care se execută toate programele care rulează sub sistemul de operare MS-DOS.

 Memoria superioară - este formată din următorii 384 Kb, rămași disponibili până la 1Mb. Această zonă de memorie este împărțită în felul următor: primii 128 Kb sunt rezervați pentru a fi utilizați de adaptoarele video pentru memorarea informației afișate pe ecran, următorii 128 Kb sunt pentru a fi folosiți de diferite adaptoare ce se pot conecta la sistem cum ar fi placa video, placa de rețea, etc, și ultimii 128 Kb sunt rezervați pentru a fi utilizați de componenta BIOS a sistemului.

 Memoria extinsă - este cuprinsă între 1 Mb și 4 Gb,  aceasta poate fi accesată doar dacă procesorul lucrează în mod protejat.

 Memoria expandată - aceasta nu poate fi accesată direct de către procesor, ci prin intermediul unei ferestre de 64 Kb stabilită în zona de memorie superioară. Acest tip de memorie este împarțit din punct de vedere logic în segmente de 64 Kb care sunt comutate în această fereastră.

Clasificare 
Dupa modul de functionare, există două tipuri principale de RAM:
 Memorie statică, Static RAM (SRAM)
 Memorie dinamică, Dynamic RAM (DRAM),

diferențele constând în stabilitatea informațiilor.

Memorie SRAM

Memoria statică  păstrează datele pentru o perioadă de timp nelimitată, până în momentul în care ea este rescrisă, asemănător memorării pe un mediu magnetic. Memoriile SRAM pot fi bipolare sau de tip MOS. Memoria de tip SRAM este folosită cel mai adesea ca memorie intermediară cache, în bufferele hard disk-urilor, și routerelor.  Avantajele memoriei SRAM sunt utilitatea crescută datorită modului de funcționare și viteza foarte mare, iar ca dezavantaj prețul mult peste DRAM.

Memorie DRAM

Memoria dinamică necesită rescrierea periodică permanentă la fiecare câteva fracțiuni de secundă, (tipic 2 ms), chiar dacă se menține tensiunea de alimentare, altfel informațiile se pierd. DRAM-ul este utilizat în PC-urile moderne, în primul rând ca memorie principală „de lucru”.

Avantajul memoriei DRAM este simplitatea structurii: doar un tranzistor și un condensator sunt necesare pe bit, spre deosebire de memoria SRAM care necesită șase tranzistoare. 

Tipurile uzuale de DRAM folosite de-a lungul istoriei informaticii, toate concepute în scopul creșterii performanței DRAM-ului standard:

 Fast Page Mode DRAM (FPM DRAM)
 Extended Data Out DRAM (EDO DRAM)
 Burst EDO DRAM (BEDO RAM)
Syncronous DRAM SDRAM ("Synchronous Dynamic Random Access Memory") - este sincronă cu ciclul de tact al magistralei principale a calculatorului ("front side bus" - FSB), transferul de date se face o singură dată pe ciclu de tact. Memoria SDRAM este cea folosită în prezent în calculatoarele personale.
 Rambus DRAM (RDRAM) -  utilizată pe Nintendo 64 și PlayStation 2, împreună cu unele modele timpurii de Pentium 4. 
XDR DRAM (eXtreme Data Rate Dynamic Random Access Memory) - succesorul acesteia, este utilizată în PlayStation 3.
SDR SDRAM (Single Data Rate Synchronous Dynamic Random-Access Memory)

 Double Data Rate SDRAM (DDR SDRAM) și variantele:
DDR2 SDRAM
 DDR3 SDRAM
 DDR4 SDRAM
DDR5 SDRAM
DDR6 SDRAM
LPDDR pentru dispozitive mobile.

De asemenea, au fost concepute mai multe tipuri de memorie și pentru plăcile grafice, printre care Video RAM (VRAM), Windows RAM (WRAM), Synchronous Graphics RAM (SGRAM) în domeniul graficii 3D și GDDR SDRAM  (GDDR2, GDDR3, GDDR4, GDDR5, GDDR5X, GDDR6), HBM,  acestea fiind variante de DRAM optimizate drept memorie video.

Modele constructive ale modulelor RAM 

Memoria RAM se prezintă ca o placă mică (modul sau factor de formă) pe care se află mai multe cipuri de memorie, și care se fixează într-un locaș special numit slot de memorie. Pe placa de bază se găsesc mai multe sloturi (2-4) pentru module RAM,  având capacități diferite. Modulele au un sistem integrat care permite identificarea lor prin intermediul protocolului de comunicare Serial Presence Detect (SPD).

Modulele de memorie RAM sunt în principal două dimensiuni: DIMM (Dual In-Line Memory Module), aflate în computere personale, stații de lucru și servere, și SO-DIMM (Small Outline DIMM), pentru laptop, notebook, routere și alte dispozitive cu factor de formă mic. 

Responsabil pentru dezvoltarea, și verificarea standardelor de module de memorie, incluzând diverse tipuri de DIMM, și SODIMM, este  JEDEC (Joint Electron Device Engineering Council) JC-45 pentru module de memorie. 

DIP (Dual In-line Package), pachet dublu în linie sau pachet cu pin dublu în linie - modulul este de forma unei carcase dreptunghiulare cu două rânduri paralele de pini electrici de conectare. Poate fi montat prin orificiu pe o placă de circuit imprimat (PCB) sau introdus într-o priză. Carcasele DIP au fost utilizate pe scară largă în industria microelectronică în anii 1970 și 1980. 

SIPP (Single In-line Pin Package) - are un total de 30 de pini de-a lungul marginii circuitului, care se potrivesc în sloturile de conectare ale plăcii de bază și oferă 8 biți pe modul. SIPP a fost utilizat în sistemele Intel 80286 și 80386 fiind înlocuit cu SIMM, mai ușor de instalat.

RIMM (Rambus In-line Memory Module) - module produse de Rambus care utilizează o tehnologie numită RDRAM, la mijlocul anilor '90. Modulele RIMM au 184 de pini pe 16 biți și, datorită frecvențelor de lucru ridicate, necesită difuzoare de căldură constând dintr-o placă metalică care acoperă jetoanele modulului. Modulele RIMM au fost prezente doar în primele serii Pentium 4, sunt acum utilizate în stații de lucru și servere de înaltă performanță. 

SIMM (Single In-line Memory Module) - după perioada de început, când cipurile de memorie se fixau direct în placa de bază, primul model răspândit a fost (SIMM)  pe 30 pini, urmat de cel pe 72 pini. Modulul SIMM prezintă o lățime de bandă de 8 biți pentru prima versiune, și de 32 biți pentru cea de-a doua; dimensiunea fizică pe 30 de pini este de două ori mai mică decât în cazul celeilalte variante. Diferențele de viteză dintre ele corespund perfect evoluției procesoarelor: dacă prima versiune era uzuală pe timpul procesoarelor Intel 80286 și 80386, SIMM pe 72 de pini a stat la baza generației Intel 80486, Pentium și Pentium Pro. Cipurile folosite au fost de tip DRAM, FPM și, mai târziu, EDO DRAM.

DIMM (Dual In-line Memory Module) - urmașul lui SIMM, oferă o lățime de bandă de 64 biți, dublă față de SIMM pe 72 pini, având la bază dual-channel intern. Numărul de pini a fost de 168 sau de 184, în funcție de tip: SDRAM sau DDR SDRAM. A existat și un număr limitat de modele de DIMM bazate pe EDO DRAM, dar ele nu au avut succes pentru că trecerea de la SIMM la DIMM a coincis cu cea de la EDO la SDRAM.

 
SO-DIMM (Small Outline Dual In-line Memory Module) - versiune compactă a modulelor de DIMM utilizate în laptopuri, PDA-uri și sisteme all-in-one. SO-DIMM-urile dețin un număr diferit de pini: 100 și 144 pentru SDRAM și 200, 204 și 260 pentru DDR SDRAM. 

MicroDIMM (Micro Dual In-Line Memory Module) - Mai mici decât un SO-DIMM, modulele MicroDIMM sunt disponibile în 144 pini SDRAM și 172 pini DDR, și utilizate în principal în subnotebook.

Arhitectura de realizare a memoriilor RAM
Pentru ca viteza de transfer de date a memoriei RAM să crească, plăcile de bază actuale sunt prevăzute cu mai multe sloturi prin care modulele să comunice prin mai multe canale simultan pentru a accesa o bancă de memorie combinată. Acest regim de lucru al memoriei RAM poartă denumirea de arhitectură multi-channel.

Există controlere de memorie construite cu un canal, două canale, patru canale, șase canale și opt canale. Arhitectura cu șase și opt canale este de obicei concepută pentru servere.

Producători de module RAM
Samsung (45,7 %) 
SK Hynix (28,7 %) 
Micron Technology (20,5 %) 
Nanya (2,7 %) 
Winbond (1,0 %)
Powerchip (0,6 %).

Alte tehnologii RAM
Tehnologiile viitoare includ câteva tipuri noi de memorie RAM precum Z-RAM (Zero-capacitor Random Access Memory), T-RAM (Thyristor RAM), TTRAM (Twin-transistor Random Access Memory),  A-RAM (Advanced-Random Access Memory) și ETA-RAM. Acestea oferă o nouă abordare pentru construcția dinamică a celulelor de memorie care are nevoie doar de un tranzistor (1T-DRAM) pentru a stoca date pe 1 bit și pentru a oferi viteze echivalente cu memoria RAM statică.

NVRAM
Non-volatile random-access memory (NVRAM) este o memorie cu acces aleatoriu care păstrează informațiile atunci când este oprită alimentarea cu energie.

Tehnologii de memorie NVRAM emergente cum ar fi MRAM (Magnetic Random-Access Memory), STT-RAM (Spin-transfer Torque Random-access Memory), FeRAM 
(Ferroelectric Random-access Memory), PCM (Phase-change Memory), și RRAM (Resistive Random-access Memory) combină memoria statică SRAM, memoria dinamică DRAM și nevolatilitatea memoriei flash.

Vezi și
Acces direct
Circuit imprimat
Circuit integrat
Double data rate
High Bandwidth Memory
Hybrid Memory Cube
Memorie DRAM
Memorie ROM
Memorie cache
Placă de bază
VRAM

Referințe și note

Legături externe 

 Ce este memoria RAM?
RAM HISTORY & EVOLUTION
 A Quick and Dirty Guide to RAM: What You Need to Know
What You Need to Know about RAM Speeds – Is Faster RAM Worth It?
How RAM Works
The Best Memory Makers

Bibliografie

Memorii
Memorii volatile
Tipuri de memorii RAM