# DDR3

DDR3 è un tipo di memoria RAM specificata dallo standard JEDEC Semiconductor Memory, successore del DDR2. L'arrivo sul mercato è avvenuto nel corso del 2007 ad opera di Intel che ne ha offerto pieno supporto con il proprio chipset Bearlake. AMD lo ha adottato solo nel febbraio 2009.

## Caratteristiche tecniche

Come anche il nome lascia intendere, le memorie DDR3 sono un'evoluzione delle precedenti DDR2. Ancora una volta i dati vengono trasferiti su entrambi i fronti del segnale di clock (salita e discesa) ottenendo così una duplicazione della velocità di trasferimento che nelle DDR3 dovrebbe variare tra gli 800 Mbit/s e gli 1,5 Gbit/s, anche se con le nuove memorie si è arrivati a risultati di circa 1,7 Gbit/s.
Nella versione DIMM un modulo ha 240 pin, in quella SO-DIMM (usata principalmente nei notebook) solo 204 pin e i rispettivi connettori hanno una forma che ne impedisce l'inserimento al contrario.

### Principi di funzionamento di una memoria "Double Data Rate"

È importante ricordare che una memoria di tipo DDR lavora con i cosiddetti prefetch buffer, che sono utilizzati per collezionare i dati prima di fornirli a un'interfaccia più veloce. Mentre la prima generazione di memoria a doppio fronte, la DDR appunto, utilizzava un prefetch di 2 bit (DDR mode, no buffering), la successiva DDR2 e ne utilizzava uno di 4 bit, come è possibile immaginare, la DDR3 è basata su un prefetch di 8 bit. È proprio questa caratteristica che determina la differenza di prestazioni tra le varie generazioni, e spiega anche perché le latenze si dilatino nel susseguirsi delle generazioni suddette. A questo proposito è utile osservare che le DDR1 lavoravano con CAS (Column Address Select) di 2, 2.5 o 3 cicli di clock; le DDR2 arrivano a CAS 3, 4 o 5, mentre le DDR3 ora arrivano a CAS da 5 a 8. Questi numeri indicano il numero di cicli di clock che servono alla RAM per "riempire" il proprio prefetch buffer. A causa di questa dilatazione nelle frequenze, i primi esponenti di un nuovo standard di memoria DDR non riescono quasi mai a superare le prestazioni di uno della precedente generazione. I vantaggi intrinseci della nuova tecnologia, come per esempio la frequenza di funzionamento, vengono praticamente compensati dalle superiori latenze. Il vero vantaggio di un nuovo standard di memoria emerge quindi dopo un certo tempo di sviluppo, dopo cioè che i progettisti riescono a ridurre i tempi di latenza e innalzare ulteriormente la frequenza di funzionamento.

### Evoluzione delle prestazioni

Il susseguirsi delle generazioni di memoria DDR ha visto proprio un progressivo aumento del clock di funzionamento unito ad una diminuzione della tensione di alimentazione in modo da poter contenere il consumo massimo e la conseguente dissipazione termica. Secondo Intel, che è stata la prima ad adottare memorie DDR3 la memoria DDR3-1333 necessiterà della stessa potenza di funzionamento della memoria DDR2-800, mentre a parità di clock il risparmio dovrebbe assestarsi sul 25% circa.
Ogni generazione DDR utilizza una densità di memoria superiore, e ciò significa che la capacità si espande con i processi costruttivi più avanzati. La media per i moduli DDR di prima generazione era 512 MB per modulo. Le DDR2 hanno raggiunto la loro maturità con una capacità di 1 GB per modulo, quindi ci si aspetta che le DDR3 possano in futuro trovare la loro collocazione definitiva in configurazioni da 4 GB totali per un intero sistema, vale a dire utilizzando 2 moduli da 2 GB ciascuno in configurazione dual channel.
Il JEDEC ha specificato che la tensione predefinita delle DDR3 deve essere pari a 1.5 V (per le DDR2 è di 1.8 V, mentre per le DDR1 era pari a 2.5 V). Questo ovviamente non significa che i produttori non possano aumentare questa tensione a valori superiori in modo da garantire maggior stabilità operativa per funzionamenti fuori specifica a clock più elevati di quelli standardizzati dal JEDEC stesso.
Intel si aspetta che le memorie DDR3 possano arrivare agilmente a velocità DDR3-2133, che dovrebbero chiamarsi PC3-17000 a 266 MHz di clock e 1066 MHz di I/O clock.

## Retrocompatibiltà

I moduli di memoria DDR3 sono identici sia per forma che per dimensioni ai DDR2, sia per il formato DIMM (pc fissi) che per quello SO-DIMM (computer portatili), tuttavia moduli appartenenti ai due standard non sono intercambiabili: ciò è dovuto a differenze nell'alimentazione, poiché, come detto, le DDR3 funzionano a tensione inferiore. Proprio per evitare errori di compatibilità, sebbene il numero e la posizione dei pin dei moduli di memoria DDR2 e DDR3 siano identici, la tacca è stata riposizionata, introducendo anche un'incompatibilità meccanica, e rendendo le memorie "pin-incompatibili".

## Standard DDR3

Di seguito sono riportati i valori standard e le prestazioni che i moduli DDR3 sono in grado di fornire:
| Standard | Modulo | Frequenza di clock (MHz) | Frequenza bus I/O (MHz) | Velocità di trasferimento (MT/s) | Banda massima | Banda massima | Temporizzazioni | Temporizzazioni | Temporizzazioni | Temporizzazioni |
| Standard | Modulo | Frequenza di clock (MHz) | Frequenza bus I/O (MHz) | Velocità di trasferimento (MT/s) | per canale (GB/s) | dual channel (GB/s) | nCL-nRCD-nRP (cicli di clock) | CAS Latency (tCL) (ns) | RAS to CAS Delay (tRCD) (ns) | RAS Precharge Time (tRP) (ns) |
| DDR3-800D | PC3-6400 | 100 | 400 | 800 | 6,40 | 12,80 | 5-5-5 | 12$^1$⁄$_2$ | 12$^1$⁄$_2$ | 12$^1$⁄$_2$ |
| DDR3-800E | PC3-6400 | 100 | 400 | 800 | 6,40 | 12,80 | 6-6-6 | 15 | 15 | 15 |
| DDR3-1066E | PC3-8500 | 133$^1$⁄$_3$ | 533$^1$⁄$_3$ | 1066$^2$⁄$_3$ | 8,53 | 17,07 | 6-6-6 | 11$^1$⁄$_4$ | 11$^1$⁄$_4$ | 11$^1$⁄$_4$ |
| DDR3-1066F | PC3-8500 | 133$^1$⁄$_3$ | 533$^1$⁄$_3$ | 1066$^2$⁄$_3$ | 8,53 | 17,07 | 7-7-7 | 13$^1$⁄$_8$ | 13$^1$⁄$_8$ | 13$^1$⁄$_8$ |
| DDR3-1066G | PC3-8500 | 133$^1$⁄$_3$ | 533$^1$⁄$_3$ | 1066$^2$⁄$_3$ | 8,53 | 17,07 | 8-8-8 | 15 | 15 | 15 |
| DDR3-1333F | PC3-10600 | 166$^2$⁄$_3$ | 666$^2$⁄$_3$ | 1333$^1$⁄$_3$ | 10,67 | 21,33 | 7-7-7 | 10$^1$⁄$_2$ | 10$^1$⁄$_2$ | 10$^1$⁄$_2$ |
| DDR3-1333G | PC3-10600 | 166$^2$⁄$_3$ | 666$^2$⁄$_3$ | 1333$^1$⁄$_3$ | 10,67 | 21,33 | 8-8-8 | 12 | 12 | 12 |
| DDR3-1333H | PC3-10600 | 166$^2$⁄$_3$ | 666$^2$⁄$_3$ | 1333$^1$⁄$_3$ | 10,67 | 21,33 | 9-9-9 | 13$^1$⁄$_2$ | 13$^1$⁄$_2$ | 13$^1$⁄$_2$ |
| DDR3-1333J | PC3-10600 | 166$^2$⁄$_3$ | 666$^2$⁄$_3$ | 1333$^1$⁄$_3$ | 10,67 | 21,33 | 10-10-10 | 15 | 15 | 15 |
| DDR3-1600G | PC3-12800 | 200 | 800 | 1600 | 12,80 | 25,60 | 8-8-8 | 10 | 10 | 10 |
| DDR3-1600H | PC3-12800 | 200 | 800 | 1600 | 12,80 | 25,60 | 9-9-9 | 11$^1$⁄$_4$ | 11$^1$⁄$_4$ | 11$^1$⁄$_4$ |
| DDR3-1600J | PC3-12800 | 200 | 800 | 1600 | 12,80 | 25,60 | 10-10-10 | 12$^1$⁄$_2$ | 12$^1$⁄$_2$ | 12$^1$⁄$_2$ |
| DDR3-1600K | PC3-12800 | 200 | 800 | 1600 | 12,80 | 25,60 | 11-11-11 | 13$^3$⁄$_4$ | 13$^3$⁄$_4$ | 13$^3$⁄$_4$ |
| DDR3-1866J | PC3-14900 | 233$^1$⁄$_3$ | 933$^1$⁄$_3$ | 1866$^2$⁄$_3$ | 14,93 | 29,87 | 10-10-10 | 10$^5$⁄$_7$ | 10$^5$⁄$_7$ | 10$^5$⁄$_7$ |
| DDR3-1866K | PC3-14900 | 233$^1$⁄$_3$ | 933$^1$⁄$_3$ | 1866$^2$⁄$_3$ | 14,93 | 29,87 | 11-11-11 | 11$^{11}$⁄$_4$ | 11$^{11}$⁄$_4$ | 11$^{11}$⁄$_4$ |
| DDR3-1866L | PC3-14900 | 233$^1$⁄$_3$ | 933$^1$⁄$_3$ | 1866$^2$⁄$_3$ | 14,93 | 29,87 | 12-12-12 | 12$^6$⁄$_7$ | 12$^6$⁄$_7$ | 12$^6$⁄$_7$ |
| DDR3-1866M | PC3-14900 | 233$^1$⁄$_3$ | 933$^1$⁄$_3$ | 1866$^2$⁄$_3$ | 14,93 | 29,87 | 13-13-13 | 13$^{13}$⁄$_{14}$ | 13$^{13}$⁄$_{14}$ | 13$^{13}$⁄$_{14}$ |
| DDR3-2133K | PC3-17000 | 266$^2$⁄$_3$ | 1066$^2$⁄$_3$ | 2133$^1$⁄$_3$ | 17,07 | 34,13 | 11-11-11 | 10$^5$⁄$_{16}$ | 10$^5$⁄$_{16}$ | 10$^5$⁄$_{16}$ |
| DDR3-2133L | PC3-17000 | 266$^2$⁄$_3$ | 1066$^2$⁄$_3$ | 2133$^1$⁄$_3$ | 17,07 | 34,13 | 12-12-12 | 11$^1$⁄$_4$ | 11$^1$⁄$_4$ | 11$^1$⁄$_4$ |
| DDR3-2133M | PC3-17000 | 266$^2$⁄$_3$ | 1066$^2$⁄$_3$ | 2133$^1$⁄$_3$ | 17,07 | 34,13 | 13-13-13 | 12$^3$⁄$_{16}$ | 12$^3$⁄$_{16}$ | 12$^3$⁄$_{16}$ |
| DDR3-2133N | PC3-17000 | 266$^2$⁄$_3$ | 1066$^2$⁄$_3$ | 2133$^1$⁄$_3$ | 17,07 | 34,13 | 14-14-14 | 13$^1$⁄$_8$ | 13$^1$⁄$_8$ | 13$^1$⁄$_8$ |
CAS Latency (CL): indica il ritardo tra l'inoltro di una richiesta in lettura e l'istante in cui il dato è pronto per l'uscita; valori minori indicano prestazioni migliori.
RAS to CAS Delay (RCD): indica il ritardo tra il segnale di RAS e quello di CAS; valori minori indicano prestazioni migliori.
RAS Precharge Time (RP): indica l'intervallo di tempo tra un comando RAS e il successivo; valori minori indicano prestazioni migliori.