DDR3? Migliori delle DDR2 ma perchè?
Il titolo sembra quasi uno slogan ed in effetti sancisce quella che dovrebbe essere la superiorità di una nuova tecnologia rispetto ad una appena passata. Ma quali sono i fondamenti teorici che stanno dietro alla tecnologia DDR3 che la rendono migliore, almeno in teoria (saranno i test fatti nel seguito della recensione a dare un indicazione reale misurata sul campo), rispetto alla tecnologia DDR2 ormai affermata e matura?
Questo paragrafo riassumerà brevemente le principali differenze tra DDR3 e DDR2 al fine di mettere in evidenza, dal punto di vista teorico, le migliorie tecnologiche apportate ai nuovi moduli DDR3.
Le differenze introdotte dalla tecnologia DDR3 sono veramente tante, e nella maggior parte dei casi veramente difficili da comprendere a chi non è addentro a concetti di elettronica digitale, quindi saranno riportate per completezza tutte le differenze introdotte, ma ci si soffermerà solo su alcune che sono quelle che rappresentano le novità maggiori e che forse sono di maggior interesse per gli appassionati.
Sostanzialmente le principali differenze tra DDR2 e DDR3 si possono raggruppare nelle seguenti classi:
-
modifica dell?architettura di prefetch (da prefetch 4n a prefetch 8n) con miglioramento della banda passante interna al chip;
-
riduzione del consumo;
-
miglioramento dell'integrità , a livello elettrico, dei segnali dati e comandi che viaggiano sui bus;
-
riduzione delle latenze interne;
-
miglioramento dell?efficienza del bus dati e del bus comandi;
-
funzionalità aggiuntive (come per esempio il reset delle memorie).
Di seguito una tabella che riporta tutte le differenze tra le memorie RAM DDR2 con quelle DDR3, a seguire saranno riprese alcune delle funzionalità fondamentali che caratterizzano maggiormente le soluzioni tecnologiche impiegate.
Caratteristiche/Funzionalità | DDR2 | DDR3 | Commenti |
Pin-out/Package | 60-ball; x4, x8 84-ball; x16 FBGA only | 78-ball; x4, x8 96-ball; x16 FBGA only | pin-out indipendenti per chip con I/0 x4/x8 e x16 (semplifica la progettazione dei moduli) |
Voltaggio | 1.8V 1.8V I/O | 1.5V 1.5V I/O | Riduce il consumo delle memorie |
Densità | 256Mb?4Gb | 512Mb?8Gb | Possibilità di avere dei moduli di memoria con maggiore capacità |
Internal banks | 4 (256Mb, 512Mb) 8 (1Gb, 2Gb, 4Gb) | 8 (512Mb, 1Gb, 2Gb, 4Gb, 8Gb) | Densità più grande per ogni modulo, lo standard 8 banchi |
Prefetch (MIN READ burst) | 4-bit (2 clocks) | 8-bit (4 clocks) | Riduce la dipendenza dalla velocità del core core aumentando l?efficienza del data rate |
tCK?DLL enabled | Da 125 MHz a 400 MHz | Da 300 MHz a 800 MHz | Più alte velocità di trasferimento dati |
Burst length (BL) | BL4, BL8 | BC4, BL8 | BC4 sta per Burst Chop 4 ed è l'equivalente del BL4 per le DDR3 |
Burst type | fisso, via LMR | (1) Fisso, via MRS (2) OTF, ?on-the-fly? | OTF permette lo switching tra BC4 e BL8 senza comando di MRS |
Speed (data pin) | 400, 533, 667, 800 Mb/s | 800, 1066, 1333, 1600 Mb/s | Velocità maggiore di I/O |
Additive Latency (AL) (Posted CAS) | AL options (0, 1, 2, 3, 4) | AL options 0, CL - 1, CL -2 | Principalmente utilizzata in server applications per migliorare l?efficienza del bus comandi |
READ Latency | AL + CL CL = 3, 4, 5, 6 | AL + CL CL = 5, 6, 7, 8, 9, 10 | 800(-25E) 5-5-5 1333(-15F) 8-8-8 800(-25) 6-6-6 1333(-15E) 9-9-9 1066(-187E) 7-7-7 1600(-125E) 9-9-9 1066(-187) 8-8-8 1600(-125) 10-10-10 |
WRITE Latency | RL - 1 | AL + CWL CWL = 5, 6, 7, 8 | Riduce la somma di più latenze una sola latenza per ogni intervallo tCK |
Data strobes | Single-ended o differenziale | Unicamente differenziale | Riduce il crosstalk dei segnali di sincronizzazione dei dati (data strobe) |
Data bus termination Rtt | On die termination (ODT) opzionale su MB | On die termination (ODT) opzionale su  MB | Ottimizzato per data rates più alti |
Valori di Rtt  | 50, 75, 150 ohm | 120, 60, 40, 30, 20 ohm | Supporta data rates più alti |
Validità Rtt  | Read, writes, standby | Writes, standby | DDR3 non permette Rtt durante i cicli di lettura |
ODT Dinamico | Nessuno | 120, 60 ohm | Supporta 2-slot; solo per i cicli di scrittura |
DQ driver impedance  | 18 ohm | 34 ohm  | Ottimizzato per 2-slot and sistemi punto-punto |
Driver/ODT calibration | Nessuno | Resistenza esterna | Migliora l?accuratezza in funzione del voltaggio e della temperature di esercizio |
Multi-purpose register (MPR) | Nessuno | quattro registers ?2 definiti, 2 RFU | Consente di effettuare cicli di lettura agevolati |
Write leveling  | Nessuno | DQS captures CK, DQ drives out CK?s state | De-skews fly-by layout usati dai moduli |
RESET# | Nessuno | Input dedicato | Disabilita l?output e resetta le RAM |
Moduli  | 240-pin UDIMM, RDIMM, FBDIMM; 200-pin SODIMM | 240-pin UDIMM; RDIMM and FBDIMM TBD; 204-pin SODIMM | Dimensioni simili alle DDR2 |
La principale differenza tra le due tecnologie è il prefetch da cui prende il nome anche la tipologia di memorie. Le memorie DDR2 hanno un architettura con un prefetch 4n, mentre quelle DDR3 hanno un architettura con un prefetch 8n.
A seguire si cercherà di spiegare il concetto facendo riferimento al seguente schema di principio:
Dalla figura precedente si vede come nelle DDR3 dall?array delle celle di memoria viene trasferita una quantità di bit doppia rispetto a quella che viene trasferita nelle DDR2.
Questo consente di ottenere un data rate doppio delle DDR3 rispetto alle DDR2 a parità di frequenza di funzionamento dell'array delle celle di memoria.
Altra nuova funzionalità è il READ/WRITE leveling che consente di leggere i dati per ogni singola linea e di scriverli ovvero mandarli in output su ogni singola linea in maniera asincrona. Questa modalità di funzionamento ha un effetto benefico sul riconoscimento dei segnali aumentando l?intervallo temporale entro il quale il livello elettrico del dato è riconoscibile (è l?area disegnata all?interno dell??occhio rosso? che da rettangolare diventa trapezoidale che corrisponde ad una maggiore capacità di riconoscimento del livello dei segnali).
Questa possibilità di leggere e scrivere i dati in maniera asincrona è merito dell?architettura fly-by per i segnali dati, segnali di clock, e segnali dei comandi, che, come già detto, consente di migliorare l?integrità dei segnali alle alte velocità . Di seguito una rappresentazione di tale architettura che ha come caratteristica quella di consentire di pilotare i singoli chip di memoria sequenzialmente visto che sono connessi in serie con un singolo comando da parte del controller.
Di seguito un tracciato di uno strumento che consente di misurare il jitter di un segnale in ingresso ad un modulo di memoria. Si percepisce ad occhio quello che è l?effetto benefico del meccanismo dell?ODT dinamico implementato nelle DDR3. L?effetto finale è quello di una maggiore pulizia e stabilità del segnale.
Come si sarà capito da questa rapida e sintetica carrellata (è chiesta indulgenza ai più puristi che storceranno il naso, ma lo scopo non era quello di fare un trattato di elettronica digitale), nelle memorie DDR3 vengono implementate tutta una serie di features che consentono il loro funzionamento a frequenze doppie rispetto a quelle delle DDR2. L?effetto globale è quello di una maggiore pulizia dei segnali, una maggiore stabilità e quindi una maggiore tolleranza alle elevate frequenze di esercizio.
Chi avrà tempo e voglia potrà approfondire i concetti sinteticamente esposti in questa sede facendo uso del materiale sull'argomento facilmente reperibile sulla rete.