Dynamic random access memory (DRAM) este un tip de memorie cu acces direct care stochează fiecare bit de date într-un condensator separat, într-un circuit integrat. Deoarece condensatoarele se descarcă, informația se poate șterge în cazul în care prin semnalele de comandă nu se specifică reîncărcarea celulelor cu un anumit conținut. Această operație se numește „reîmprospătarea memoriei” (refreshing memory). Avantajul memoriei DRAM este simplitatea structurii: doar un tranzistor si un condensator sunt necesare pe bit, spre deosebire de memoria SRAM care are nevoie de șase tranzistoare. Acest lucru permite memoriei DRAM să atingă o densitate de stocare foarte înaltă. Spre deosebire de memoria flash, este o memorie volatilă, pentru că își pierde datele atunci când nu mai este alimentată. Tranzistoarele si condensatoarele folosite sunt extrem de mici astfel încat pe un singur chip de memorie pot încăpea milioane.

Principiu de operareModificare

 
Principiul de operare al citirii DRAM, pentru o matrice de 4×4.
 
Principiul de operare al scrierii DRAM, pentru o matrice de 4×4.

Memoria DRAM reprezintă o memorie dinamică cu acces aleatoriu compusă dintr-o mulțime de celule. Fiecare celulă este creată dintr-un tranzistor și un condensator, reprezentând un bit de memorie care poate lua valoarea 1 sau 0. Tranzistorul funcționează ca un comutator, care permite cipului de memorie să citească și să modifice starea condensatorului. Condensatorul se folosește pentru a stoca electroni. Atunci când acesta se încarcă cu electroni stochează valoarea 1 în bitul de memorie, respectiv 0 în cazul în care acesta este gol. Celulele de memorie RAM sunt așezate ca elementele unei matrice. Localizarea unui bit se face prin intersectarea liniei și coloanei pe care se regăsesșe, aceasta reprezentând adresa bitului.

Memoria DRAM funcționează prin trimiterea electronilor celei mai apropiate coloane pentru activarea tranzistorilor fiecărei coloane. Atunci când se execută scrieri de memorie, conținutul de electroni din condensatori se modifică. Când se citește o zonă de memorie, un senzor de amplificare citește nivelul de electroni din condensatoare. Dacă acesta este de peste 50% returnează valoarea 1, respectiv 0 pentru un nivel mai mic de 50%. Apoi un contor aplică o rată de reîmprospătare peste celulele utilizate, în ordinea în care acestea au fost accesate. Timpul în care se produc aceste operațiuni se măsoară în nanosecunde.

Liniile lungi care conectează fiecare linie sunt cunoscute ca linii de cuvinte. Fiecare coloană este compusă din două linii de bit, fiecare conectată la fiecare celulă din coloană. (Ilustrația din dreapta nu include acest detaliu important.) Sunt cunoscute în general ca și liniile de bit de + și -. Un amplificator de sens este o pereche de legatură - inversoare conectate între liniile de bit. Primul inversor este conectat de la linia bitul de + la linia bitului de -, și al doilea este conectat de la linia de bit de - la linia bitului de +. Acest exemplu este un feedback pozitiv, și aranjametul este stabil doar cu o linie de bit high și una de bit low.

Pentru a citi un bit dintr-o coloană, următoarele operații au loc:

  1. Un amplificator de direcție este închis și liniile de bit sunt preîncarcate la voltajul care se potrivește cu voltajul care este intermediar între nivelele logice high și low. Liniile de bit sunt construite simetric pentru a le păstra echilibrate cât mai precis probabil.
  2. Circuitul preîncarcat este închis . Pentru că liniile de bit sunt foarte lungi, condensatoarele lor vor ține voltajul preîncărcat pentru o scurtă perioadă de timp. Acesta este un exemplu de logică dinamică.
  3. Linia selectată de linii de cuvinte este acționată sus. Aceasta conectează un condensator de stocare la una sau doua linii de bit. Încărcarea este împărțită între celulele de stocare selectate și lina de bit apropiată, alterând puțin voltajul de pe linie. Chiar dacă se face efort pentru a păstra capacitanța celulelor de stocare mare și capacitanța liniei de bit joasă, capacitanța este proporțională cu marimea fizică, și lungimea liniei de bit înseamnă că efectul net este o perturbație foarte mică a voltajului unei linii de bit.
  4. Amplificatorul de direcție este deschis. Feedback-ul pozitiv preia controlul și amplifică diferența mică de voltaj până când o linie de bit este complet low și cealaltă este complet high. În acest punct, linia este "deschisă" și coloana poate fi selectată.
  5. Citirea datelor din DRAM este luată de la amplificatorul de direcție, selectat de coloana de adrese. Multe citiri pot avea loc cât timp linia este deschisă în acest sens.
  6. Cât timp citirea are loc, curentul curge înapoi la liniile de bit de la amplificatorul de direcție la celulele de stocare. Așa are loc refresh-ul de încărcare al celulelor de stocare. Datorită lungimii liniilor de bit, ia destul timp de dincolo de sfârșitul amplificatorului de sens, și coincide parțial cu una sau mai multe citiri de coloane.
  7. Când se sfârșește cu linia de curent, linia de cuvânt este inchisă pentru a deconecta condensatoarele de stocare (linia este "închisă"), amplificatorul de direcție este închis, și liniile de bit sunt preîncarcate iar.

Pentru a scrie memoriei, linia este deschisă și un amplificator de direcție al unei anumite coloane este forțat temporar la starea dorită, asa că este condus la linia de bit, care incarcă condensatorul la valoarea dorită. Datorită feedback-ului pozitiv, amplificatorul il va ține stabil chiar și după ce forțarea nu mai are loc. În timpul scrierii unei anumite celule, întreaga linie este citită, o valoare schimbată, și apoi întreaga linie este scrisă înapoi, asa cum este ilustrat în poza din dreapta. De obicei, producătorii specifică că fiecarei linii trebuie să i se facă refresh la fiecare 64 de milisecunde sau mai puțin, potrivit fundației JEDEC(Foundation for developing Semiconductor Standards). Logica refresh-lui este folosită des cu DRAM-uri pentru a face refresh automat periodic. Acest lucru face circuitul mai complicat, dar acestă deficiență este de obicei prelevată de faptul că DRAM este mult mai ieftină și de capacitate mai mare decat memoria SRAM. Unele sisteme fac refresh la fiecare linie într-o mică buclă la fiecare 64 de milisecunde. Alte sisteme fac refresh pe rând la câte o linie. De exemplu, un sitem cu 213=8192 linii va avea nevoie de o rată de refresh a unei linii la fiecare 7.8 µs. Câteva sisteme real-time fac refresh la o porțiune de memorie la un timp bazat pe un timer extern care guvernează operația restului de sistem, ca și intervalul de mascare vertical care are loc la fiecare 10-20 de milisecunde în echipamentul video. Toate metodele au nevoie de un fel de counter care să țină evindeța pentru ce linie urmează să se facă refresh. Cele mai multe chip-uri DRAM includ acel counter. Tipurile mai vechi au nevoie de refresh logic extern pentru a ține counterul. (În unele condiții, majoritatea datelor din DRAM pot fi recuperate chiar dacă DRAM-ului nu i s-a mai făcut refresh de câteva minute.)

Memorii DRAM asincroneModificare

Aceste memorii au performanțe limitate deoarece fiecărei operații interne i se asociază un timp minim pentru a fi executată. Operația este considerată terminată doar dupa trecerea acestei perioade de timp. În cazul în care un impuls de ceas apare înainte de terminarea intervalului minim, „trebuie să apară un nou impuls de ceas înainte ca următoarea operație să poată începe”.[1]

FPM (Fast Page Mode)Modificare

Memoriile FPM sunt mai rapide decât memoriile DRAM standard deoarece ele nu necesită transmiterea adreselor de linie și de coloană pentru fiecare acces al memoriei; adresa de linie este suficientă pentru mai multe accesări ale memoriei la locații apropiate. În ciuda numelui („fast”), FPM sunt cele mai lente memorii utilizate în computerele moderne. Ele nu sunt potrivite pentru funcționarea la frecvențe mai mari de 66 MHz a magistralei de memorie și sunt recomandate numai atunci când sistemul nu permite utilizarea altor tipuri de memorii (cum ar fi sistemele bazate pe procesorul 80486).

 
Module 32 MB EDO-DRAM cu 72 pini

EDO (Extended Data Out)Modificare

Memoria EDO mai este cunoscută și sub numele de HyperPage Mode deoarece este asemănătoare cu memoria FPM, dar prezintă o îmbunătățire: o operație de citire poate începe înainte de terminarea operației precedente. Creșterea performanțelor față de FPM este de aproximativ 5%, iar costul de producție este similar. Memoria EDO poate fi utilizată cu magistrale de memorie care să nu depășească 83 MHz și, la fel ca memoria FPM, nu necesită măsuri speciale de compatibilitate. Totuși, memoria EDO nu prezintă performanțe ridicate și de aceea este utilizată foarte rar în prezent.

BEDO (Burst Extended Data Out)Modificare

Acest tip de memorie combină tehnologia pipeline cu circuitele latch speciale pentru a reduce timpul de acces. BEDO permite o temporizare de 4-1-1-1 la 66 MHz și permite utilizarea unor frecvențe de până la 100 MHz a magistralei de memorie. Cu toate acestea, memoria BEDO nu este utilizată în prezent, în principal din cauza faptului că Intel nu a implementat suportul necesar pentru aceasta în seturile de circuite.

Memorii DRAM sincroneModificare

Toate memoriile DRAM sincrone sunt cunoscute sub numele SDRAM (Synchronous Dynamic Random Access Memory). Aceste memorii elimină timpul de așteptare al procesorului și prezintă avantaje suplimentare. De exemplu, circuitele latch memorează adresele, datele și semnalele de control preluate de la procesor, sub controlul ceasului sistem. Acest lucru permite ca procesorul să poată executa alte operații. Informațiile din circuitul latch devin disponibile după un număr specific de cicluri de ceas, iar procesorul le poate folosi de pe liniile de ieșire. Un alt avantaj al memoriilor DRAM sincrone este acela că există un singur semnal de sincronizare, și anume ceasul sistem. Acest lucru „elimină necesitatea propagării semnalelor multiple de sincronizare. Intrările sunt de asemenea simplificate, deoarece semnalele de control, adresele și datele pot fi memorate fără temporizările de setare și menținere monitorizate de procesor. Avantaje similare se obțin și pentru operațiile de ieșire”.[2]

SDRAMModificare

Tipul de memorie care se numește SDRAM este cel elaborat conform standardului JEDEC (Joint Electron Device Engineering Council). Modulele memoriei SDRAM au o arhitectură cu 2 sau 4 bancuri pe modul, ceea ce face posibil ca un banc să fie preîncărcat, în timp ce altele sunt citite sau scrise. Acest lucru permite ca diferite linii din fiecare banc să fie accesate simultan. Cele mai utilizate module SDRAM au 4 linii de ceas, ceea ce duce la obținerea unor timpi mai reduși de creștere și descreștere a tensiunilor.

Memoriile SDRAM conțin un circuit de memorie EEPROM care se întâlnește sub denumirea SPD (Serial Presence Detect). Acesta conține informații despre viteza și design-ul modulului. Un avantaj al utilizării circuitului EEPROM este acela că modulul SDRAM poate funcționa mai fiabil pe un număr mai mare de plăci de bază.

O altă caracteristică este aceea că „memoria SDRAM poate funcționa în mod exploziv pentru 1 bit, 2 biți, 4 biți, 8 biți, sau o pagină completă. În mod exploziv, la fiecare tranzacție cu memoria se transferă mai multe locații cu adrese consecutive. Modul exploziv este avantajos deoarece instrucțiunile și datele sunt citite în ordine secvențială în majoritatea timpului. De exemplu, atunci când este prezentă o memorie cache L2, sunt transferate blocuri de memorie de dimensiune fixă, conținând cuvinte cu adrese consecutive”. [3]

Tipuri de memorii SDRAM sunt PC100, PC133, PC150. Acestea au fost introduse de Intel ca o soluție la faptul că memoriile SDRAM originale nu erau fiabile la frecvențe mai mari de 83 MHz. Prima dintre ele atinge o temporizare de 4-1-1-1, iar la o frecvență de 100 MHz există 100*106 cicluri de ceas pe secundă. În fiecare ciclu se poate transfera cel mult un cuvânt (8 octeți), deci rata de transfer maximă este de 800 MB/s.

HSDRAM (High Speed SDRAM)Modificare

Această memorie a fost destinată inițial pentru sisteme cu performanțe ridicate si este compatibilă cu memoria SDRAM convențională. Memoriile HSDRAM pot funcționa la frecvențe de 133 MHz, 150 MHz sau chiar 166 MHz. Circuitele de memorie HSDRAM au fost incluse și în alte arhitecturi de memorii, precum ESDRAM și DDR SDRAM.

ESDRAM (Enhanced SDRAM)Modificare

Memoria ESDRAM a fost dezvoltată de firma Enhanced Memory Systems în anul 1997. Ea este formată dintr-o memorie SDRAM și o memorie cache de linie cu mapare directă, care păstrează conținutul liniei active. În acest fel, matricea de memorie DRAM se eliberează și poate accesa o altă linie în timp ce conținutul liniei precedente este transferat în bufferele de ieșire. ESDRAM folosește operația de „auto-preîncărcare ascunsă” prin care suprapune transferul în mod exploziv al datelor din memoria cache de linie în bufferele de ieșire.

Memoriile ESRAM utilizează tehnica pipeline și conțin circuite de memorie cu performanțe ridicate (HSDRAM), ceea ce permit funcționarea în mod exploziv la frecvențe de 166 MHz sau 200 MHz. Din acest motiv, costul memoriei este ridicat, iar producția este limitată. Totuși, firma Enhanced Memory Systems a dezvoltat și o versiune mai ieftină, numită ESDRAM-lite. „În această arhitectură mai simplă, mai multe linii ale matricei de memorie DRAM partajează aceeași memorie cache de linie, utilizând multiplexarea în timp. Memoria cache de linie este plasată central, ceea ce necesită numai rearanjarea matricei de memorie DRAM în cadrul capsulei pentru a face loc memoriei cache de linie. Creșterea spațiului ocupat în cadrul capsulei față de memoria SDRAM convențională a fost calculată la aproximativ 1,4%, creșterea performanței fiind în jur de 12%”.[4]

Memoriile ESDRAM sunt compatibile atât cu memoriile SDRAM convenționale, cât și cu cele DDR și DDR II.

FCRAM (Fast Cycle RAM)Modificare

Este o tehnologie dezvoltată de Fujitsu și Toshiba. Fiecare banc de memorie FCRAM este subdivizat în mini-zone. Această subdiviziune îmbunătățeste timpul de acces aleator și reduce puterea consumată coparativ cu memoria SDRAM convențională. Se utilizează o arhitectură pipeline cu trei etaje, care permite ca următorul acces aleator să înceapă în timp ce data precedentă este transmisă la ieșire. FCRAM are un set de comenzi asemănător DDR SDRAM pentru a permite controlere de memorie care acceptă atât DDR SDRAM, cât și FCRAM.[5]

DDR SDRAM (Double Data Rate SDRAM)Modificare

Acest tip de memorie crește semnificativ eficiența magistralei de memorie prin faptul că datele sunt transferate atât pe frontul crescător, cât și pe cel descrescător al semnalului de ceas. DDR SDRAM dublează unitatea minimă de date care poate fi transferată întrucât pe fiecare ciclu de ceas pot fi scrise sau citite câte două cuvinte. DDR lucrează cu două două semnale de ceas. Frontul crescător al semnalului de ceas reprezintă, de fapt, intersecția dintre frontul crescător al primului semnal cu frontul descrescător al celui de-al doilea semnal. La fiecare front crescător sunt memorate semnalele de adresă și control.

„Accesurile de citire și scriere se efectuează în mod exploziv. Ele încep de la o locație selectată și continuă pentru un număr programabil de locații. Lungimea transferului exploziv poate fi programată la 2, 4 sau 8 locații. Accesurile încep cu memorarea unei comenzi de activare (Active), urmată apoi de o comandă de citire (Read) sau scriere (Write). Biții de adresă memorați cu o comandă de activare sunt utilizați pentru a selecta bancul și linia care va fi accesată. Biții de adresă memorați cu o comandă de citire sau scriere sunt utilizați pentru a selecta bancul și coloana de început pentru accesul în mod exploziv. Poate fi validată o funcție de preîncărcare automată (Auto Precharge) pentru preîncărcarea liniei, inițiată la sfârșitul accesului în mod exploziv”.[6]

Din cauza vitezei de transfer ridicate, DDR a înlocuit interfața TTL pentru bufferele de I/E cu o interfață SSTL_2 (Stub-Series Terminated Logic). Puterea consumată de această memorie a fost redusă cu 25%, astfel încât ea funcționează la 2,5V în loc de 3,3V. Frecvențele de ceas tipice pentru DDR SDRAM sunt 133 MHz, 166 MHz și 200 MHz, prima dintre ele oferind o rată de transfer de vârf de 2100MB/s.

Firmele Micron Technology și Infineon Technologies au propus memoria de tip RLDRAM (Reduced Latency DRAM), o variantă a memoriei DDR SDRAM la care s-au adus îmbunătățiri: rata de transfer susținută este mai ridicată, latența inițială a fost redusă la jumătate, s-au introdus un număr mai mare de bancuri (8 în loc de 4) și sporit gradul de utilizare a magistralei.

DDR II SDRAMModificare

Această memorie este foarte asemănătoare cu DDR SDRAM, dar dublează unitatea minimă de date care poate fi scrisă sau citită la 4 cuvinte consecutive. DDR II conține 4 bancuri, setul de comenzi caracteristic este un superset al comenzilor DDR I, iar numărul de pini a crescut de la 184 (câți are DDR) la 240. Puterea consumată a scăzut, memoria funcționând la 1,8V, ceea ce face DDR II potrivită pentru utilizarea la calculatoarele portabile sau telefoane mobile.

Frecvențe de ceas tipice pentru DDR II SDRAM sunt 200, 266, 333 și 400 MHz. Este de menționat faptul că, din moment ce operațiile interne ale memoriei DDR II funcționează la o frecvență de ceas de două ori mai mică decât cea a memoriei DDR, memoriile DDR II au o latență mai mare decât DDR atunci când ambele funcționează la aceeași frecvență de ceas a datelor externe. De exemplu, memoria DDR2-400 (frecvența de ceas internă 100 MHz) are o latență mai mare decât DDR-400 (frecvența de ceas internă 200 MHz).

DDR III SDRAMModificare

Memoria DDR III mărește, la rândul ei, unitatea minimă care poate fi scrisă sau citită la 8 cuvinte consecutive, dar cu această modificare crește și latența. Frecvențele de ceas inițiale au fost de 400 MHz și 533 MHz, descrise ca DDR3-800 și DDR3-1066 (modulele PC3-6400 și PC3-8500), dar acum sunt comune frecvențele de 667 MHz și 800 MHz, descrise ca DDR3-1333 și DDR3-1600 (modulele PC3-10600 și PC3-12800). DDR III funcționează la 1,5 V.

DDR IV SDRAMModificare

Memoria DDR IV va fi succesoarea memoriei DDR III, ea fiind încă în faza de proiectare. Este preconizat ca lansarea noii memorii să aibă loc în anul 2012 și este probabil ca memoria DDR IV să consume 1,2 V sau chiar mai puțin.

Principalii parametri de timp corespunzători tipurilor de memorie DRAM
Parametrul FPM DRAM EDO DRAM BEDO DRAM SDRAM
Timp de acces (ns) 50 50 52 50
Durata operației (ns) 30 20 15 10
Frecvența magistralei 16 - 66 MHz 33 - 75 MHz 60 - 100 MHz 60 - 100+MHz

Memorii DRAM bazate pe protocoaleModificare

Aceste tipuri de memorii nu au linii separate de date, adrese și control, ci implementeză aceste semnale pe aceeași magistrală.Din această categorie de memorii DRAM, cele mai cunoscute sunt:

 
RAMBUS RDRAM

DRDRAM (Direct Rambus DRAM)Modificare

Intel a susținut firma Rambus pentru a dezvolta RDRAM, creată pentru jocul Nintendo Ultra-64, astfel încât ea să poată fi folosită și pentru calculatoarele personale. Nouă memorie poartă numele de DRDRAM. Aceasta are frecvența de ceas de 400 MHz, iar rata de transfer cel mult de 1,6 GB/s. Magistrala de memorie DRDRAM este de 16 biți, față de magistralele actuale de memorie care sunt de 64 de biți. Acest lucru, dar și latența mare și prețul ridicat au împiedicat DRDRAM să devină principala tehnologie de memorie.[7]

SLDRAM (SyncLink DRAM)Modificare

Această memorie a fost dezvoltată la sfârșit anilor `90 de Consorțiul SLDRAM, formată din 20 de producători de calculatoare. Specificațiile inițiale ale acestei memorii menționau o magistrală de memorie de 64 de biți și de o frecvență de ceas de 200 MHz. La fel ca memoria DDR SDRAM, SLDRAM poate funcționa la o frecvență dublă (400 MHz), ceea ce înseamnă o rată de transfer de 3,2 GB/s, de două ori mai mare decât cea a memoriei DRDRAM. SLDRAM este un standard deschis și nu sunt necesare taxe de licență.[8]

Vezi șiModificare

NoteModificare

Legături externeModificare

Wikimedia Commons conține materiale multimedia legate de Memorie DRAM

BibliografieModificare

  • Betty Prince: High Performance Memories: New Architecture DRAMs and SRAMs - Evolution and Function (Progress in Rural Extension and Community Development), Wiley; Revised edition, 1999, ISBN: 978-0471986102