Sunteți pe pagina 1din 4

TEHNOLOGII

MEMORII

Tehnologii de memorii DRAM


n prima parte a acestei serii de trei articole au fost prezentate memoriile FPM, EDO, BEDO, SDRAM i FCRAM. n aceast a doua parte sunt descrise memoriile HSDRAM, ESDRAM, Virtual Channel SDRAM i DDR SDRAM.
Baruch Zoltan

HSDRAM
Memoria HSDRAM (High Speed DRAM) utilizeaz circuite de calitate ridicat n scopul creterii frecvenei peste cea a memoriei SDRAM convenionale. Anumite circuite de memorie HSDRAM pot funciona mai fiabil i cu ntrzieri mai reduse la 133 MHz, iar altele pot funciona la frecvene de 150 MHz sau 166 MHz. Memoria HSDRAM este compatibil cu memoria SDRAM convenional, mbuntind n acelai timp performana i stabilitatea sistemelor. Aceast memorie era destinat iniial sistemelor cu performane ridicate, cuprinznd calculatoare personale, staii de lucru, servere, sisteme DSP i sisteme grafice 3D. Ulterior, circuitele de memorie HSDRAM au fost incluse i n alte arhitecturi de memorii, ca ESDRAM i DDR SDRAM.

coninutul liniei precedente este transferat n bufferele de ieire. Principiul este c, n loc de a se ncerca reducerea ntrzierilor prin utilizarea unor componente mai rapide, aceste ntrzieri sunt ascunse prin suprapunerea anumitor operaii. ntr-o memorie SDRAM convenional, datele trebuie refcute prin rescrierea coninutului unei linii nainte de a putea activa o alt linie. Memoria ESDRAM suprapune transferul n mod exploziv al datelor din memoria cache de linie n bufferele de ieire cu

Figura 1. Arhitectura memoriei cu canale virtuale (VCM)

ESDRAM
n scopul mbuntirii performanei modulelor de memorie SDRAM convenionale, unii productori au inclus n circuitele de memorie o memorie static SRAM, aceasta avnd rolul unei memorii cache. O asemenea memorie este ESDRAM (Enhanced SDRAM), dezvoltat n 1997 de firma Enhanced Memory Systems, o filial a firmei Ramtron Internationa. Memoria ESDRAM const dintr-o memorie SDRAM i o memorie cache de linie. Aceast memorie cache cu mapare direct pstreaz coninutul liniei active, elibernd astfel matricea de memorie DRAM, care poate accesa o alt linie n timp ce 6 NET REPORT august 2002

Matrice DRAM Magistral intern Registre statice (canale virtuale) Buffere de I/E

Magistrala memoriei

operaia de prencrcare (refacerea coninutului unei linii pentru a activa o alt linie). Aceasta se numete auto-prencrcare ascuns. Astfel, timpul de prencrcare RAS (tRP) este eliminat. De obicei, o memorie ESDRAM permite activarea simultan a mai multor linii (pagini). Activarea unei noi linii, care implic prezena datelor pe liniile de bit i amplificatoarele de detecie, poate fi de asemenea suprapus cu transferul datelor din memoria cache de linie n bufferele de ieire. Rezultatul este c ntrzierea ntre semnalele RAS i CAS (tRCD) este eliminat sau redus. Latena semnalului CAS (tCL) este de asemenea redus, deoarece citirea se efectueaz din memoria cache de linie, cu un timp de acces la coloan substanial mai redus. Spre deosebire de memoria SDRAM convenional, mprosptarea matricei de memorie DRAM poate fi executat n timpul unei operaii de citire n mod exploziv. Coninutul memoriei cache de linie nu este pierdut n timpul ciclurilor de remprosptare. Memoriile ESDRAM utilizeaz tehnica pipeline pentru a funciona n mod exploziv cu latene reduse la frecvene de pn la 166 MHz sau 200 MHz. Pentru a funciona la aceste frecvene, modulele de memorie ESDRAM conin circuite de memorie cu performane ridicate (HSDRAM). Memoriile ESDRAM sunt compatibile la nivel de pini i funcii cu memoriile SDRAM conforme cu standardul JEDEC, utiliznd aceleai module DIMM (Dual Inline Memory Module) cu 168 de pini. Astfel,

TEHNOLOGII
MEMORII
este posibil realizarea unui singur controler pentru ambele tipuri de memorii, care poate funciona n dou moduri. Totui, trebuie schimbate anumite setri n sistemul BIOS al calculatorului, pentru ca acesta s recunoasc ntrzierea mai redus ntre semnalele RAS i CAS i latena mai redus a semnalului CAS pe care o ofer memoria ESDRAM. Pe baza timpului de acces la coloan (tCA Column Access time) indicat n specificaiile memoriei, utilizatorul poate calcula latena semnalului CAS pentru orice frecven de funcionare. n concluzie, memoria ESDRAM poate asigura o modernizare simpl pentru sistemele cu memorie SDRAM, dac sistemul BIOS poate recunoate ntrzierile mai reduse. Arhitectura ESDRAM este compatibil i cu alte standarde de memorie, ca DDR i DDR II. Astfel, memoria ESDRAM poate fi utilizat pentru a mbunti performanele memoriilor DDR i DDR II. Arhitectura ESDRAM a fost aprobat n 1998 de comitetul JEDEC ca un superset al standardelor SDRAM i DDR SDRAM. Dezavantajul memoriei ESDRAM este costul mai ridicat, deoarece utilizeaz circuite de calitate ridicat i o memorie SRAM, ca i datorit faptului c nu este fabricat n cantiti foarte mari. Aceasta limiteaz utilizarea memoriei ESDRAM la calculatoarele personale, dar ofer o alternativ cu un cost mai redus dect al memoriilor SRAM sincrone pentru procesoare de semnal, controlere i alte aplicaii. Firma Enhanced Memory Systems a propus i o versiune cu costuri reduse a arhitecturii ESDRAM, care este numit ESDRAMlite. n aceast arhitectur mai simpl, mai multe linii ale matricei de memorie DRAM partajeaz aceeai memorie cache de linie, utiliznd 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. Creterea spaiului ocupat n cadrul capsulei fa de memoria SDRAM convenional a fost calculat la aproximativ 1,4%, creterea performanei fiind n jur de 12%. Memoria ESDRAM-lite este de asemenea compatibil cu standardele DDR i DDR II. i bufferele de I/E (Figura 1). Aceste registre sunt cu porturi duale i formeaz mai multe canale virtuale, care pot fi utilizate de dispozitive diferite pentru accesul la memorie. Registrele comunic cu matricea DRAM printr-o magistral cu lime foarte mare, ceea ce asigur o rat de transfer ridicat pentru transferurile interne de date. Dei arhitectura ESDRAM utilizeaz de asemenea o memorie cache, n cazul memoriei VCM implementarea memoriei cache este diferit. Arhitectura ESDRAM utilizeaz o memorie cache cu mapare direct, n timp ce arhitectura VCM utilizeaz o memorie cache complet asociativ sau asociativ pe seturi. n cazul unei memorii cache complet asociative, oricare linie DRAM dintr-un banc poate fi ncrcat n oricare canal virtual. Se utilizeaz un algoritm write-back, astfel nct datele sunt scrise ntr-un canal virtual nainte de salvarea lor n matricea DRAM. Spre deosebire de memoria ESDRAM, nu memoria nsi, ci controlerul memoriei sistemului este cel care implementeaz algoritmii de gestiune a memoriei cache i funciile acestei memorii. Controlerul memoriei sistemului poate asigna canale virtuale multiple unor poriuni ale aceluiai banc de memorie (Figura 2). Fiecare canal virtual poate conine date din mai multe bancuri ale memoriei DRAM. Prin pstrarea datelor n mai multe canale virtuale ntre matricea DRAM i terminalele de I/E, memoria poate pregti alte cereri de date ntr-un canal separat n timpul citirii sau scrierii datelor curente. Memoria VCM poate mbunti performanele n sistemele multitasking, unde memoria este accesat de ctre diferite dispozitive: una sau mai multe uniti centrale, un accelerator grafic, un adaptor de reea, o plac de reea i alte dispozitive de I/E. Fiecare din aceste dispozitive are acces la memorie pe baza adresei, a dimensiunii blocului i a numrului de accesuri n zone contigue. Memoria VCM asigur un canal independent cu propriile resurse pentru accesul la matricea de memorie. Rezult astfel ntrzieri reduse, rate de transfer ridicate i o eficien mbuntit a magistralei de memorie. Circuitele de memorie VCM ale firmei NEC conin 16 canale virtuale, fiecare de cte 1 Kbit, care pot fi alocate unui banc de memorie DRAM. Astfel, memoria cache este un set asociativ cu 16 ci. Operaiile de citire i scriere se execut utiliznd aceste canale. Operaiile interne, cum sunt transferurile de date ntre celulele de memorie i bufferele canalelor (prencrcare i refacere), ca i operaia de remprosptare a celulelor de memorie, sunt executate n paralel cu cele de citire i scriere (Figura 3). Operaiile de prencrcare (prefetch) i refacere (restore) sunt executate utiliznd un bloc numit segment. Exist cte patru segmente n fiecare linie a memoriei. Operaiile de prencrcare sunt executate de la un segment de memorie la un canal virtual, n timp ce operaiile de refacere sunt executate de la un canal virtual la un segment de memorie. Comparativ cu memoria cache cu mapare direct a memoriei ESDRAM, memoria cache cu seturi asociative a memoriei VCM ofer o eficien mai ridicat, avnd ns i dou dezavantaje importante. Primul dezavantaj este c memorarea datelor ntr-un buffer de canal crete ntrzierea iniial cu un ciclu de ceas. De asemenea, n cazul n care datele nu se afl ntr-o pagin deschis, un canal trebuie evacuat, deci datele trebuie rescrise n celulele de memorie. Evacuarea unui canal necesit cel puin trei comenzi, deci 6-9 cicluri de ceas. Totui, aceste ntrzieri sunt compensate de utilizarea memoriei cache. Al doilea dezavantaj este c implementarea controlerului memoriei VCM

Figura 2. Canale virtuale ale memoriei VCM

DRAM
Unitate central Canal virtual Banc 0

Memoria Virtual Channel


Memoria cu canale virtuale (VCM Virtual Channel Memory) a fost proiectat de firma NEC ca o arhitectur deschis. A fost introdus n 1997 i a fost standardizat de comitetul JEDEC n 1998. Similar cu memoria ESDRAM, memoria VCM utilizeaz o memorie cache SRAM pentru a mbunti timpul de acces mediu. Memoria cache este implementat ca un set de registre statice rapide plasate ntre matricea DRAM

Accelerator grafic Adaptor de reea Dispozitiv de I/E

Canal virtual

Banc 1

Canal virtual

Banc 2

Canal virtual

Banc 3

august 2002 NET REPORT 7

TEHNOLOGII
MEMORII
necesit n plus un numr de 80.000-110.000 pori (un controler tipic de memorie conine n jur de 50.000 de pori). De exemplu, controlerul de memorie trebuie s conin 16 buffere FIFO n fiecare banc de memorie, cte unul pentru fiecare canal virtual. Controlerul trebuie s in evidena paginilor care sunt deschise n cele 16 canale virtuale ale fiecrui banc de memorie. Este necesar implementarea un algoritm sofisticat de gestiune a paginilor pentru a optimiza numrul operaiilor de deschidere i nchidere a paginilor, ca i pentru deschiderea paginilor pe baza unei predicii. Arhitectura VCM poate fi ncorporat n oricare tehnologie sau interfa de memorie, existent sau viitoare, ca SDRAM, DDR SDRAM sau Rambus DRAM. Atunci cnd se utilizeaz cu o interfa SDRAM, modulele de memorie VCM utilizeaz aceleai configuraii de pini, capsule i interfee ca i

DDR SDRAM
Prezentare general Numele memoriei DDR (Double Data Rate) SDRAM provine de la tehnica transferrii datelor att pe frontul cresctor, ct i pe cel descresctor al semnalului de ceas. Aceast tehnic crete semnificativ eficiena magistralei de memorie pentru transferurile de date. Un modul de memorie DDR SDRAM cu un ceas de 133 MHz ofer o rat de transfer la vrf de 2100 MB/s, comparativ cu o rat de transfer la vrf de 1066 MB/s pentru un modul de memorie SDRAM cu aceeai frecven de ceas. Totui, acesta nu nseamn c rata de transfer medie este dublat i ea. DDR nu este o tehnologie complet nou. Variante ale memoriei DDR au nceput s apar n 1997, iar mai trziu tehnica DDR a fost utilizat pentru diferite plci video cu

Figura 3. Suprapunerea operaiilor de prencrcare i refacere cu operaiile de citire i scriere la memoria VCM
Operaie de prencrcare

16 canale Operaie de citire

Banc 1 Banc 0
Segment Segment Segment Segment

Segment

DQ

Decodificator de linie

Operaie de refacere

Operaie de scriere

modulele SDRAM convenionale. Aceste module sunt compatibile cu modulele DIMM cu 168 de pini. Modulele VCM SDRAM pot fi utilizate ns doar pe o plac de baz cu un set de circuite adecvat. Se estimeaz c performana modulelor VCM SDRAM este mai ridicat cu 2-5% fa de cea modulelor SDRAM convenionale. n 1999, firmele NEC i Hyundai Microelectronics au semnat un acord pentru a promova utilizarea tehnologiei VCM. Un acord similar a fost semnat ntre firmele NEC i Hitachi la sfritul aceluiai an, formndu-se noua companie NEC Hitachi Memory. Proiectarea i dezvoltarea circuitelor de memorie a nceput n anul 2000. Firma NEC i-a asigurat seturi de circuite pentru memoria VCM de la productorii Silicon Integrated Systems, Via Technologies i Acer Laboratories. 8 NET REPORT august 2002

performane ridicate. Aceast tehnic a fost utilizat i pentru alte tipuri de memorii, ca MDRAM (Multi-bank DRAM sau MoSys DRAM), SLDRAM (SyncLink DRAM) i DRDRAM (Direct Rambus DRAM). Pornind de la aceste variante, au fost elaborate specificaii deschise, care nu sunt protejate de licene. Aceste specificaii au fost standardizate de comitetul JEDEC n anul 2000. Primele module de memorie DDR SDRAM bazate pe aceste specificaii, funcionnd cu un ceas de 133 MHz, au fost disponibile n cantiti limitate la sfritul anului 2000, dar distribuia pe scar mai larg a nceput n anul 2001. Un acces de citire sau scriere la memoria DDR SDRAM const dintr-un singur transfer de date de 2n bii la/de la matricea intern DRAM pe timpul unui ciclu de ceas, i dou transferuri de date de n bii la/de la

pinii de I/E, fiecare pe timpul unei jumti a ciclului de ceas. Astfel, magistrala intern de date are o lime dubl fa de cea indicat de interfaa extern. Un semnal de strob bidirecional de date (DQS) este transmis extern mpreun cu datele, pentru a fi utilizat de ctre receptorul datelor. Semnalul DQS este transmis de memoria DDR SDRAM n timpul operaiilor de citire i de ctre controlerul de memorie n timpul operaiilor de scriere. Strobul de date permite ajustarea variaiilor datorate nesimetriei de propagare a semnalului de ceas i a lungimii de interconectare n sistemele cu module multiple de memorie. Memoria DDR SDRAM funcioneaz cu dou semnale difereniale de ceas: CK i CK . Intersecia dintre frontul cresctor al semnalului CK cu frontul descresctor al semnalului CK reprezint frontul cresctor al semnalului de ceas. Comenzile (semnalele de adres i control) sunt memorate la fiecare front cresctor al semnalului de ceas. Accesurile de citire i scriere se efectueaz n mod exploziv. Ele ncep de la o locaie selectat i continu pentru un numr programabil de locaii. Lungimea transferului exploziv poate fi programat la 2, 4 sau 8 locaii. Accesurile ncep cu memorarea unei comenzi de activare (Active), urmat apoi de o comand de citire (Read) sau scriere (Write). Biii de adres memorai cu o comand de activare sunt utilizai pentru a selecta bancul i linia care va fi accesat. Biii de adres memorai cu o comand de citire sau scriere sunt utilizai pentru a selecta bancul i coloana de nceput pentru accesul n mod exploziv. Poate fi validat o funcie de prencrcare automat (Auto Precharge) pentru prencrcarea liniei, iniiat la sfritul accesului n mod exploziv. Latena semnalului CAS poate fi setat la 2 sau 2,5 cicluri de ceas; aceasta din urm nseamn 5 fronturi ale semnalului de ceas (cresctoare sau descresctoare). Standardul JEDEC specific de asemenea latene opionale ale semnalului CAS de 1,5 sau 3 cicluri de ceas. Din cauza vitezelor de transfer ridicate, pe o magistral puternic ncrcat nu poate fi utilizat interfaa TTL pentru bufferele de I/E. De aceea, memoria DDR SDRAM utilizeaz o interfa de I/E numit SSTL_2 (Stub-Series Terminated Logic). Aceast interfa a fost dezvoltat pentru circuite care funcioneaz la 2,5 V, existnd i o versiune anterioar dezvoltat pentru circuite care funcioneaz la 3,3 V, numit SSTL_3. Memoria DDR SDRAM utilizeaz de asemenea module DIMM, dar acestea nu sunt compatibile cu modulele DIMM utilizate de memoria SDRAM convenional. De aceea, memoria DDR SDRAM poate fi utilizat doar pe plci de baz cu socluri adecvate.

Segment Segment Segment Segment

Buffere de I/E

TEHNOLOGII
MEMORII
Principala diferen este creterea numrului de pini de la 168 la 184. Modulele DDR DIMM au ns aceleai dimensiuni ca i modulele SDRAM DIMM. Circuitele de memorie DDR SDRAM funcioneaz la 2,5 V n loc de 3,3 V. Puterea consumat este redus astfel cu 25%. Operaia de citire O operaie de citire n mod exploziv este iniiat cu o comand Read. Adresa bancului i coloana de nceput sunt furnizate cu aceast comand. Operaia de prencrcare automat poate fi validat sau invalidat pentru accesul curent. La o operaie de citire, cuvntul de la adresa de coloan indicat va fi disponibil dup un timp egal cu latena semnalului CAS de la comanda Read. Fiecare cuvnt urmtor va fi valid la fiecare front cresctor sau descresctor al semnalului de ceas. Semnalul DQS este transmis de memoria DDR SDRAM mpreun cu datele de ieire. Datele citite printr-o comand Read pot fi concatenate cu, sau trunchiate de, datele de la o comand Read ulterioar. n ambele cazuri, poate fi meninut un flux continuu de date. Primul cuvnt al unei noi operaii de citire n mod exploziv urmeaz fie dup ultimul cuvnt al unei operaii terminate, fie dup ultimul cuvnt dorit al unei operaii mai lungi care este trunchiat. Noua comand Read trebuie lansat cu x cicluri dup prima comand Read, unde x este egal cu numrul perechilor de cuvinte dorite. Aceasta se ilustreaz n Figura 4. Dac lungimea transferului exploziv este 4, datele de la dou comenzi Read sunt concatenate. Dac lungimea transferului exploziv este 8, a doua operaie o ntrerupe pe prima. Comenzile Read ilustrate se refer la acelai circuit de memorie. Pentru comenzile Read generice artate n Figura 4, funcia Auto Precharge este invalidat. DQ indic liniile de date, RD indic o comand Read, NOP indic o comand No Operation, iar CL reprezint latena semnalului CAS. Operaia de scriere O operaie de scriere n mod exploziv este iniiat cu o comand Write. Adresa bancului i coloana de nceput sunt furnizate cu comanda Write, iar operaia Auto Precharge poate fi validat sau invalidat. n timpul operaiilor de scriere, cuvntul de intrare valid va fi memorat la primul front cresctor al semnalului

DQS care urmeaz dup comanda Write, iar cuvintele urmtoare vor fi memorate la fronturile succesive ale semnalului DQS. Timpul dintre comanda Write i primul front cresctor al semnalului DQS este specificat cu un domeniu relativ larg (de la 75% la 125% dintr-un ciclu de ceas).
Tipuri de memorii DDR SDRAM De obicei, diferitele tipuri de memorii DDR SDRAM sunt denumite dup rata lor de transfer la vrf. De exemplu, memoria DDR SDRAM care utilizeaz un semnal de ceas de 100 MHz, cu o rat maxim de transfer de 1600 MB/s, este numit PC1600. Similar,

CAS de 2,5 cicluri de ceas. Exist circuite de memorie DDR-266 de calitate mai ridicat (denumite DDR-266A sau PC2100A) cu o laten a semnalului CAS egal cu 2, dar acestea au un pre mai ridicat. Pentru a se utiliza o memorie DDR SDRAM, este necesar un set de circuite corespunztor. Exist mai muli productori de asemenea seturi de circuite care permit utilizarea memoriei DDR SDRAM, cum sunt Via Technologies sau AMD. Pn recent, seturile de circuite Intel nu permiteau utilizarea memoriei DDR SDRAM pentru calculatoarele personale, din cauza unei clauze existente n contractul de licen pentru memoria

Figura 4. Operaii de citire consecutive la memoria DDR SDRAM


CK CK CMD ADR DQS DQ
m m+1 m+2 m+3 n n+1

RD Col. m

NOP

RD Col. n

NOP

NOP

NOP

CL = 2,5

versiunea la 133 MHz este numit PC2100. De fapt, aceste memorii ar fi trebuit denumite PC200 i PC266, care era i intenia iniial. Denumirile au fost schimbate deoarece pentru memoria Rambus s-au utilizat nume similare, de exemplu, PC800 pentru o memorie Rambus care funcioneaz la 800 MHz. n standardul JEDEC sunt utilizate alte denumiri pentru memoria DDR SDRAM, bazate pe frecvena de funcionare a acestora. De exemplu, DDR-200 indic o memorie DDR SDRAM cu transferuri de date la 200 MHz (avnd un semnal de ceas de 100 MHz), memorie care este echivalent cu PC1600. Tabelul 1 indic principalele tipuri de memorii DDR SDRAM, frecvena de ceas i rata de transfer maxim teoretic a acestora. De obicei, memoriile DDR-200 (PC 1600) au o laten a semnalului CAS de 2 cicluri de ceas. Celelalte versiuni au latene mai ridicate. De exemplu, memoriile DDR-266 (PC2100) pot avea o laten a semnalului

Tabelul 1. Tipuri de memorii DDR SDRAM


Tip de memorie DDR-200 (PC1600) DDR-266 (PC2100) DDR-300 (PC2400) DDR-333 (PC2700) Frecvena de ceas 100 MHz 133 MHz 150 MHz 166 MHz Rata de transfer maxim 2 x 100 x 8 = 1600 MB/s 2 x 133 x 8 = 2128 MB/s 2 x 150 x 8 = 2400 MB/s 2 x 166 x 8 = 2656 MB/s

Rambus ncheiat ntre firmele Intel i Rambus Inc. Conform acestei clauze, firma Intel nu putea implementa n seturile de circuite ale acesteia logica pentru alte memorii dect Rambus pn n anul 2003, cu excepia cazului n care rata de transfer era mai mic de 1 GB/s. Aceast clauz nu se referea ns la piaa serverelor i a staiilor de lucru. Intel a cerut eliminarea acestei clauze din contractul de licen. Ca rezultat, la nceputul anului 2002, firma Intel a activat n unele seturi de circuite pentru calculatoarele personale logica pentru utilizarea memoriei DDR SDRAM. O variant cu laten redus a memoriei DDR SDRAM, numit RLDRAM (Reduced Latency DRAM), a fost propus de firmele Micron Technology i Infineon Technologies. Aceast variant ofer o rat de transfer susinut mai ridicat, de pn la 2,4 GB/s. Alte mbuntiri cuprind: o laten iniial redus, care este jumtate din cea a memoriei DDR SDRAM, un grad mai ridicat de utilizare a magistralei i un numr mai mare de bancuri (8 fa de 4). Producia memoriei RLDAM a nceput n primul trimestru al anului 2002. Dr. Baruch Zoltan este confereniar la Catedra de Calculatoare a Universitii Tehnice din Cluj-Napoca i poate fi contactat prin e-mail la adresa: Zoltan.Baruch@cs.utcluj.ro. n 09 august 2002 NET REPORT 9

S-ar putea să vă placă și