3. Evoluzione delle SDRAM: dalle DDR3 alle DDR4 - Parte seconda


I/O Interface

Le DDR4 utilizzano una interfaccia di I/O che fa uso di una nuova connessione di tipo Pseudo-Open Drain 1,2V (POD12) rispetto a quella standard, di tipo Push-Pull, adottata nelle DDR3.

Questa interfaccia, facente parte delle specifiche JEDEC, pur essendo nuova alla famiglia delle SDRAM, è già stata brillantemente collaudata sulle GDDR5, le quali operano spesso a frequenze più elevate rispetto a quanto previsto per le DDR4.

Uno schema di I/O così evoluto aiuta a mantenere l'integrità del segnale, permettendo, al contempo, velocità di trasmissione più elevate e consentendo l'adozione di tanto innovative quanto efficaci modalità di risparmio energetico.

Nei seguenti diagrammi si possono intravedere le differenze a livello elettrico del segnale utilizzato nelle DDR3 (a sinistra) comparato a quello adottato nelle DDR4.


HyperX Predator DDR4 3000MHz 16GB kit 3. Evoluzione delle SDRAM: dalle DDR3 alle DDR4 - Parte seconda 1

Fig.5 Schema segnale elettrico DDR3 vs DDR4


Come possiamo notare, il segnale elettrico dell'interfaccia di I/O cambia dal Series-Stub Terminated Logic (SSTL) utilizzato sulle DDR3, allo Pseudo-Open Drain (POD) delle DDR4.

Nel circuito SSTL15 delle DDR3, che opera in modalità Push-Pull, si veniva a creare la necessità di utilizzo di due distinte correnti elettriche: la prima (l1), fungente da corrente di terminazione, mentre la seconda (l2), atta a pilotare il segnale "high" attraverso il circuito stesso.


HyperX Predator DDR4 3000MHz 16GB kit 3. Evoluzione delle SDRAM: dalle DDR3 alle DDR4 - Parte seconda 2

Fig.6 Modalità Push-Pull DDR3


Nella tipologia di circuito POD del quale usufruiscono le DDR4, non è invece necessaria alcuna energia al fine di pilotare il segnale "high" all'interno dello stesso circuito, permettendo così a questa nuova generazione di SDRAM di ridurre in misura sensibile i requisiti di alimentazione.


HyperX Predator DDR4 3000MHz 16GB kit 3. Evoluzione delle SDRAM: dalle DDR3 alle DDR4 - Parte seconda 3

Fig.7 Modalità Pseudo Open Drain DDR4


Error Detection

I dispositivi che operano ad una più alta frequenza di clock rendono tipicamente possibile la trasmissione di una maggiore quantità di dati in un dato periodo di tempo.

Utilizzare però frequenze più elevate dà luogo, al contempo, ad una maggiore complessità nelle operazioni di trasmissione e ricezione delle informazioni veicolate che, a loro volta, possono generare disturbi indesiderati e deleteri nel segnale.

A volte i disturbi sono tali da portare, sostanzialmente, alla variazione del tutto spontanea di alcuni bit nelle fasi di scrittura.

Per risolvere questi possibili inconvenienti le DDR4, in particolare, offrono due modalità di rilevazione degli errori, ovvero il controllo della ridondanza (CRC) durante il trasferimento dei dati ed il controllo di parità nelle operazioni relative ai comandi e l'indirizzamento dei bit, nonché il Data Bus Inversion (DBI), per gestire in maniera efficiente il mantenimento dell'integrità del segnale e, nel contempo, conseguire una drastica riduzione del consumo energetico.


CRC Error Detection

Tramite il CRC, adottato in seno allo standard nelle specifiche primarie DDR4 (sulle DDR3 era data la possibilità di implementarlo, invece, opzionalmente), vengono fornite capacità di individuazione in tempo reale degli errori verificati sul bus di comunicazione dei dati, migliorando in maniera sostanziale l'affidabilità dell'intero sistema di trasferimento delle informazioni in memoria durante le fasi di scrittura.

Le DDR4 presentano un sistema di controllo degli errori strutturato ad 8 bit e funzionante secondo lo schema sottostante.


HyperX Predator DDR4 3000MHz 16GB kit 3. Evoluzione delle SDRAM: dalle DDR3 alle DDR4 - Parte seconda 4

Fig.8 Schema funzionamento CRC Error Detection


In breve, all'interno dello stesso DRAM controller, il motore CRC, a seguito della richiesta di trasmissione dei dati, genera una stringa di bit di controllo (CRC code) strettamente relativa a quei dati da trasmettere, spedendo insieme il tutto, dati e bit di controllo, ad ogni burst in scrittura.

Una volta che i dati giungono a destinazione all'interno dei chip di memoria DDR4, viene prodotta una seconda stringa CRC: a questo punto, quindi, i due insiemi di bit di controllo vengono comparati e, qualora non dovessero corrispondere, verrà imposto uno stato di errore.

A quel punto, i dati errati già memorizzati in memoria verranno corretti dal controller tramite la ricostruzione ottenuta a partire dalla prima stringa CRC, generata in fase di trasmissione, permettendo di risolvere l'errore.


Parity Error Detection

Lo schema logico funzionale del sistema di controllo della parità è del tutto simile a quello relativo al CRC visto in precedenza, con la sostanziale differenza di operare esclusivamente sul bus dei comandi/indirizzamento.


HyperX Predator DDR4 3000MHz 16GB kit 3. Evoluzione delle SDRAM: dalle DDR3 alle DDR4 - Parte seconda 5

Fig.9 Schema funzionamento Parity Error Detection


Data Bus Inversion

La funzionalità di Data Bus Inversion (DBI) è supportata unicamente sulle configurazioni DDR4 SDRAM in modalità x8 e x16: essa condivide il pin per il Data Mask (DM) nonché le funzionalità TDQS e può essere applicata in entrambe le operazioni di lettura e scrittura.

L'unico limite imposto al DBI è relativo alla fase di scrittura, specificatamente nella circostanza per cui tale funzionalità può essere applicata al TDQS, ma non contemporaneamente al Data Mask, ovvero qualora quest'ultimo risulti abilitato.


Funzionalità DBI:

  • inversione opportuna dei data-bit:
  • trasferimento di un minor numero di bit con valore pari a 0 (al massimo quattro bit di ogni byte, incluso quello relativo al pin DBI);
  • minor consumo di energia (è necessaria solo quella dei bit con valore pari a 0);
  • minore commutazione dei bit, a tutto vantaggio della pulizia del segnale in particolar modo alle alte frequenze;
  • abilitazione separata delle operazioni di lettura e scrittura.


Esempio

Lettura
Scrittura
Se più di quattro bit facenti parte del byte da trasmettere hanno valore pari a 0 (low)
  • Inverte il dato in uscita
  • Commuta il pin DBI in 0 (low)
Se il DBI ha valore 0 (low), la scrittura dei dati viene invertita
  • L'inversione dei dati viene eseguita internamente prima della memorizzazione
Se quattro o meno bit facenti parte del byte da trasmettere hanno valore pari a 0 (low)
  • Non inverte il dato in uscita
  • Commuta il pin DBI in 1 (high)
Se il DBI ha valore 1 (high), i dati non vengono invertiti


HyperX Predator DDR4 3000MHz 16GB kit 3. Evoluzione delle SDRAM: dalle DDR3 alle DDR4 - Parte seconda 6

Fig.10 Esempio applicazione Data Bus Inversion


Tabella riepilogativa DDR4 vs DDR3

Feature/Option
DDR3
DDR4
Vantaggi DDR4
Tensione
1,5V
1,2V
Minor esigenza di energia della memoria
Input Vref
2 - DQs and CMD/ADDR
1 - CMD/ADDR
Vrefdq interno
Standard "Low Voltage"
 DDR3L a 1,35V
1,05V
Minor consumo energetico della memoria
Velocità dati
Da 800MB/s a 2133MB/s
Da 1600MB/s a 3200MB/s
Migrazione a I/O più veloci
Densità chip
512MB-8GB
2GB-16GB
Capacità DIMM maggiorate
Banchi interni
8
16
Più banchi
Gruppi di banchi (BG)
0
4
Accessi di trasferimento più rapidi
tCK - DLL Enabled
Da 300MHz a 800MHz
Da 667MHz a 1.6GHz
Maggiore velocità dei dati
tCK - DLL Disabled
Da 10MHz a 125MHz
Da indefinita a 125MHz
Supporto completo DLL-off
Latenza di lettura
AL + CL
AL + CL
Valori estesi
Latenza di scrittura
AL + CWL 
AL + CWL
Valori estesi
DQ Driver (ALT)
40 ohm
48 ohm
Ottimizzato per applicazioni PtP
Bud DQ
SSTL15
POD12
Minor consumo e rumore I/O
Valori RTT in ohm
120, 60, 40, 30, 20
240, 120. 80, 60, 48, 40, 34
Supporto per maggiore velocità dei dati
Rtt non consentito
READ bursts
 disattivato durante READ bursts
Facilità d'uso
Modalità ODT
Nominale, Dinamica
Nominale, Dinamica, Park
Modalità di controllo aggiuntiva; modalità valori OTF
Controllo ODT
Signaling ODT necessario
Signaling ODT non necessario
Controllo ODT semplificato; supporto Non-ODT routing, PtP App
Registro multifunzione
(MPR)
Quattro registri - 1 definito, 3 RFU
Quattro registri - 3 definiti, 1 RFU
Ulteriori opzioni di readout
Tipi DIMM
RDIMM, LRDIMM, UDIMM, SODIMM
RDIMM, LRDIMM, UDIMM, SODIMM

Pin DIMM
240 (R, LR, U); 204 (SODIMM)
288 (R, LR, U); 260 (SODIMM)

RAS
ECC
CRC, Parity, Addressability, GDM
Ulteriori funzioni RAS; maggiore integrità di dati