Le memorie DDR3 hanno da tempo sostituito le precedenti DDR2 e sono ormai talmente diffuse che il loro prezzo continua a diminuire. Il prossimo standard DDR4 non arriverà sul mercato prima del 2014, quindi la tecnologia attuale durerà almeno per altri tre o quattro anni. Vediamo dunque come funzionano e quali parametri bisogna considerare prima di acquistare un modulo di memoria DDR3.
Il nome completo è DDR3 SDRAM, abbreviazione di Double Data Rate ‘type three’ Synchronous Dynamic Random Access Memory, dove la parola Double Data Rate significa che il trasferimento dei dati avviene sia sul fronte di discesa sia sul fronte di salita dell’onda quadra che rappresenta il segnale di clock. Nelle memorie DDR3 è presente un buffer I/O (o prefetch buffer) in cui vengono memorizzate otto word da 64 bit adiacenti ad ogni operazione di accesso. Questo buffer opera ad una frequenza 4 volte quella base, per cui se la frequenza di clock “interna” è pari a 166 MHz, il buffer ha una frequenza “esterna” di 666 MHz e quindi il trasferimento dati (con double rate) avverrà ad una frequenza di 1.333 MHz, anche se in realtà sarebbe più corretto parlare di 1.333 MT/s (Milioni di trasferimenti al secondo).
Un modulo DDR3-1333 è indicato come PC3-10600, dove 10.600 sono i MB trasferiti in un secondo: 166x4x2x64/8=10.624 MB/s. Il JEDEC ha approvato moduli di memoria da DDR3-800 a DDR3-2133. I moduli DIMM DDR3 hanno 240 pin e funzionano a 1,5 Volt. Il JEDEC ha specificato anche i cosiddetti timings, ovvero i valori numerici che rappresentano (in cicli di clock) il tempo minimo richiesto alla memoria per effettuare le operazioni interne. I timings principali sono quattro:
- tCL o tCAS (Column Address Strobe Latency Time): Intervallo di tempo tra l’invio alla memoria dell’indirizzo di colonna e l’effettiva disponibilità dei dati;
- tRCD (RAS to CAS Delay Time): Intervallo di tempo tra l’attivazione di una riga e l’accesso alla colonna all’interno di essa;
- tRP (RAS Precharge Time): Intervallo di tempo durante il quale il dato rimane disponibile prima dell’attivazione della riga successiva;
- tRAS (Row Active Strobe Time): Intervallo di tempo minimo che deve trascorrere tra la selezione di due righe consecutive.
Più bassi sono questi valori, più le memorie saranno veloci. La maggior parte degli accessi però è di tipo sequenziale, quindi il tempo più importante è tCAS perché cambia solo l’indirizzo della colonna all’interno della stessa riga. Per questo motivo memorie con timings bassi e frequenza inferiore possono essere più veloci di memorie a frequenza elevata e timings più alti. I timings però sono espressi in cicli di clock, per cui è necessario convertirli in nanosecondi per conoscere le reali prestazioni della memoria. Ad esempio, una DDR3-1333 con tempo di latenza pari a 7 cicli di clock ha un timing effettivo pari a (1.000/666)x7=10,5 nanosecondi, mentre una DDR3-1600 con latenza 9 ha un timing reale pari a (1.000/800)x9=11,25 nanosecondi. Quindi una DDR3-1600 con timings 9-9-9-24 è più lenta di una DDR3-1333 con timings 7-7-7-21, ma probabilmente avrà un prezzo maggiore.
All’avvio del PC, la scheda madre legge questi valori memorizzati all’interno del chip SPD (Serial Presence Detect) e configura automaticamente i moduli di memoria in base alle specifiche tecniche dei produttori. In caso di overclock è necessario impostare manualmente i parametri nel BIOS oppure utilizzare moduli con profili XMP per avere frequenze di funzionamento più elevate con un innalzamento della tensione, solitamente da 1,5 a 1,65 Volt. Per conoscere le specifiche dei moduli installati sul proprio sistema può essere utilizzato il software CPU-Z.