# DDR4 SDRAM

DDR4 SDRAM (de les sigles en Anglès Double Data Rate type 4, Synchronous Dynamic Random-Access Memory) és un tipus de memòria de la família de les SDRAM, utilitzades des de la dècada dels 70.

## Característiques

Els mòduls de memòria DDR4 SDRAM tenen 288 pins DIMM. La taxa de transferència per pin és d'un mínim d'1,6 GT/s fins a un objectiu inicial de 3,2 GT/s.

## Mode register amb PDA (per DRAM accessibility)

En les generacions anteriors de DDR el controlador de memòria proporcionava una comanda per a programar els diferents mòduls de memòria, anomenat Mode Register Set. S'utilitzava fins a 4 bits per a seleccionar el banc (BA[3:0]) i s'utilitzava el bus d'adreces com a operand que contenia les dades a programar. El problema que hi ha és que tots els mòduls del mateix banc són programats de la mateixa manera, ja sigui utilitzant la topologia en T o en Fly-by. Utilitzant l'anomenat Per DRAM Addressability que requereix tres passos podem programar cada mòdul individualment, els passos són els següents:
* Posar la DRAM en mode PDA
* Programar els mòduls utilitzant les comandes MRS, el bus d'adreces i DQ[0].
* Treure la DRAM del mode PDA
Per tal d'escollir els mòduls que es programen s'utilitza el bus DQ, durant el 2n pas. Per al bus DQ s'envien unes dades en què cada mòdul està representat per 8 bits, aquestes són totes F exceptuant les dels mòduls que vulguem programar en què s'envia una E, que vol dir que el bit més petit està a 0. Quan els mòduls reben aquestes dades saben identificar si han de ser programats o no. D'aquesta manera es permet programar mòduls de manera individual, millorant així l'eficiència de cada xip al màxim.

## Paritat en el bus de comandes / adreces

El problema és que el bus de comandes tot i ser Point-to-Point, internament en cada DIMM necessita travessar tots els xips de cada rank. I la paritat només es mirava en el controlador central del DIMM. Per a solucionar-ho, el que fem és propagar per a cada DRAM no només les comandes i les adreces, sinó també el senyal d'error i el de paritat. El de paritat es calcula de nou per a cada xip on passa, el què comporta un temps afegit en la propagació dels senyals.

## DLL-off mode

Per a posar la memòria de l'estat DLL on, que és l'estat normal, a l'estat DLL off que és el que ens permet reduir el consum gràcies a un canvi en la freqüència i altres paràmetres, hem de seguir els següents passos: Per començar hem d'estar en l'estat Idle que és aquell en què tots els bancs estan precarregats. Tot seguit posem el bit A0 del registre MR1 a “0” per indicar el canvi que volem dur a terme. Llavors haurem d'esperar un temps determinat tMOD, abans d'entrar al Self Refresh Mode. Un cop dins, s'ha d'esperar fins que el temps tCKSRE sigui satisfet. És en aquest punt en què ens permet de modificar la freqüència interna del xip. Després tornem a esperar un temps determinat tCKSRX que és el màxim en què la memòria espera que el senyal de rellotge nou s'estabilitzi. En aquest mode, una de les restriccions, és que la latència de columna en les lectures sigui de 10 cicles i en les escriptures de 9 cicles, tampoc comptem amb el mode de paritat per a controlar les dades enviades, i com que la freqüència és més baixa, l'amplada de banda es redueix, però recordem que la finalitat d'aquest mode és l'estalvi en el consum.

## Canvis en la topologia

Com en el cas de les DDR3, l'alta velocitat a la qual viatgen les dades, adreces i comandes fa necessari un canvi en el tipus de topologia. Anteriorment, en la DDR2, s'utilitzava la topologia en T (o branques). El problema d'aquesta topologia és la càrrega capacitiva. Els senyals són enviats a un node central abans de portar-los als mòduls de memòria individuals així que el senyal viatge per moltes pistes diferents, en què hi ha molts stubs (cantonades), això provoca que el senyal perdi integritat, això si, el senyal arriba al mateix temps per a tots els xips. En canvi, en la topologia Fly-by el senyal de comandes/adreces i rellotge s'envia en sèrie a tots els mòduls, a cada un d'ells els i arriba amb un retard diferent i, per tant, cada un ha de tenir la fase retardada coincidint amb aquest retard.

## Referències

* ↑ «The DRAM Story» (en anglès). http://www.ieee.org/.
* 1 2 «New Memory Module Picture 2013» (en anglès). www.simmtester.com. Arxivat de l'original el 2007-05-15. [Consulta: 9 setembre].
* ↑ «DDR4 Memory DIMM SODIMM Module Development 2013» (en anglès). www.simmtester.com. Arxivat de l'original el 2014-11-12. [Consulta: 9 setembre].
* ↑ «Main Memory: DDR3 & DDR4 SDRAM» (en anglès). www.jedec.org. [Consulta: 9 setembre].
* ↑ «The Evolution of DDR Memory and Overcoming Challenges of DDR3/4 Design» (en anglès).