Cosa c'è di nuovo?
HWReload

Registrati e partecipa alle attività del forum

GUIDA Guida alle RAM

R3d3x

Utente
Iscritto dal:
23 Dicembre 2017
Messaggi
82
Guida alle RAM



Indice:
  1. Differenza tra RAM DDR e SDR
  2. Differenza tra Single Channel, Dual Channel, Triple Channel, Quad Channel
  3. Differenza tra RAM ECC e RAM non ECC
  4. Differenza tra RAMM DIMM, SO-DIMM, SIMM, UniDIMM
  5. Differenza tra RAM Single Rank e Dual Rank, e tra Single Side e Dual Side
  6. Differenza tra i Timings delle RAM
  7. Sub-Timings delle RAM e parametri di OC avanzato


1. Differenza tra RAM DDR e SDR


L'acronimo DDR sta per Double Data Rate e indica la capacità di queste memorie di lavorare al doppio della loro frequenza nominale, più precisamente si parla di DDR SDRAM (acronimo per "memoria dinamica ad accesso casuale sincrona a doppia velocità") ovvero un byte viene trasmesso sul fronte di salita di clock (anche detto Posedge) e un altro sul fronte di discesa dell'clock (anche detto Negedge). Il Clock funziona a metà della velocità di trasmissione dei dati e viene distribuito a tutti i chip di memoria. Poiché i dati possono andare sia dal controller alla DRAM (operazione di scrittura) che dalla DRAM al controller (operazione di lettura), queste linee digitali sono di natura bidirezionale.Queste RAM sono un evoluzione rispetto alle SDR (acronimo di Single Data Rate) utilizzano solo il fronte di salita.



Il bus address seleziona quali celle della DRAM vengono scritte o lette. Come il bus di comando (Command Bus), il bus di indirizzo (Address Bus) è single-clock. I valori di bit sul bus determinano la banca, la riga e la colonna da scrivere o leggere. A causa della natura bidirezionale dell'interfaccia, i dati vengono trasferiti in bursts tra la memoria e il controller. A tal fine, il segnale di strobe (DQS) è un "clock bursted" differenziale che funziona solo durante le operazioni di lettura e scrittura. Infine, ogni chip DRAM ha più linee dati parallele (DQ0, DQ1 e così via) che trasportano i dati dal controller alla DRAM per le operazioni di scrittura e viceversa per le operazioni di lettura. I segnali di dati sono veri segnali a doppia velocità che passano alla stessa velocità dell'clock/strobo (due trasferimenti per ciclo di clock).




La frequenza equivale a dire quanti bit vengono trasferiti al secondo su una linea di dati. Come possiamo vedere sull'applicazione CPU-Z, nella scheda Memory, alla voce DRAM Frequency possiamo controllare a quali valori sono impostate le nostre memorie. In questo caso su CPU-Z verrà mostrata una frequenza operativa del bus di I/O di circa 1600MHz (1596.2MHz) sebbene le mie RAM funzionino a una velocità di 3200 MHz**. Questo poiché 3200 non è in MHz ma in MT/s, le RAM vengono listate dai produttori nel loro siti online come DDR4-3200 e non DDR4 3200 MHz (quelli che lo fanno sbagliano), non si sottintende MHz quando scrivono DDR4-3200 ma si sottintende MT/s (Poche aziende mettono questa unità di misura nell'inserzione durante la vendita, come ad esempio G.Skill e Corsair che sono soliti usare la dicitura MHz mentre Crucial è solito utilizzare l'unità corretta, ovvero MT/s).

NOTA BENE: che seppur la dicitura corretta sia 3200 MT/s è ormai usato in modo incorretto e più diffuso dire 3200 MHz. Gli MT/s corrispondono ai megatransfer al secondo ed è subentrato qualche anno fa questa dicitura poiché da quando nacquero le DDR si è sempre sbagliato. Questo semplicemente per motivi di marketing per cercare di mettere in evidenza questo vantaggio rispetto alle SDR (acronimo per Single Data Rate) alle quali si sostituivano. La nuova dicitura MT/s non è altro che la corrispondenza: 1 MHz = 2 MT/s questo poiché un modulo di RAM DDR (di qualsiasi generazione) funzionante a 1 Hz (1 ciclo al secondo), genera due trasferimenti di dati al secondo (2 MT/s) rispetto ad un modulo di RAM SDR funzionante a 1 Hz (1 ciclo al secondo), che invece genera un solo trasferimento di dati al secondo quindi 1 MT/s.


1600 MHz → Frequenza di lavoro del bus I/O delle RAM
(1600 · 2) = 3200 MT/s → Velocità di trasferimento dei dati effettivo delle RAM (Dovuto alle due operazioni per ciclo delle DDR)


Questo poiché nelle memorie DDR i dati vengono trasmessi sia sul fronte di salita che sul fronte di discesa del segnale di clock; è possibile quindi raddoppiare la velocità di trasferimento rispetto alle SDR (Single Data Rate) senza per questo aumentare la frequenza del clock interno alla memoria né quella del bus.
Il data bus è un bus parallelo a 64 bit di larghezza (considerato che 8 bit formano 1 Byte, quindi 64 bit sono un trasferimento di 8 Byte). Una memoria DDR consente un bit rate (o transfer rate o velocità di trasmissione) traducibile con una formula che è la risultante di una variabile moltiplicata per le due costanti:
1) La variabile è la frequenza del bus di memoria​
2) 2 è una costante basata sul numero di invii per ciclo di clock​
3) 8 è una costante ovvero il numero di byte trasferiti ad ogni invio (dato dal bus a 64 bit)​



Frequenza del bus di memoria in Hz (I/O Bus Clock) · 2 Cicli · 8 Byte = Velocità di trasmissione in MegaByte al secondo


Esempio. Con un singolo banco di DDR 200 con una frequenza del bus di I/O 100MHz si avrebbe una velocità di trasferimento di 200 MT/s ovvero una velocità di trasmissione* di: (100.000.000 · 2 · 8) = 1600 MB/s (o 1,6 GB/s) infatti le DDR 200 hanno come module name: PC-1600**

Esempio. Con un singolo banco di DDR2 800 con una frequenza del bus di I/O 400MHz si avrebbe una velocità di trasferimento di 800 MT/s ovvero una velocità di trasmissione* di: (400.000.000 · 2 · 8) = 6400 MB/s (o 6,4 GB/s) infatti le DDR2 800 hanno come module name: PC2-6400**

Esempio. Con un singolo banco di DDR3 1600 con una frequenza del bus di I/O 800MHz si avrebbe una velocità di trasferimento di 1600 MT/s ovvero una velocità di trasmissione* di: (800.000.000 · 2 · 8) = 12800 MB/s (o 12,8 GB/s) infatti le DDR3 1600 hanno come module name: PC3-12800**

Esempio. Con un singolo banco di DDR4 3200 con una frequenza del bus di I/O a 1600MHz si avrebbe una velocità di trasferimento di 3200 MT/s ovvero una velocità di trasmissione* di: (1.600.000.000 · 2 · 8) = 25.600 MB/s (o 25,6 GB/s), le DDR4 hanno come module name: PC4-25600**

*La velocità di trasmissione viene anche definita come la massima banda passante per quel canale.
**Questi valori sono standard, e sono stabiliti dalla JEDEC (acronimo Joint Electron Device Engineering Council, è l'organismo di standardizzazione dei semiconduttori).

Nella realtà la situazione è più complessa, poiché la velocità di trasferimento è notevolmente influenzata dai fenomeni di latenza, che si verificano durante le operazioni di lettura/scrittura e che dipendono strettamente dal tipo e dalla qualità del chip, nonché dalla frequenza di funzionamento. Per quantificare tali fenomeni, ad ogni banco di memoria vengono associati dei tempi caratteristici detti timing, misurati in unità di cicli di clock: a valori più bassi di latenze corrispondono prestazioni migliori, a parità di frequenza. C'è inoltre da dire che questa è la velocità massima (teorica) di trasferimento di un singolo banco in Single Channel che corrisponde nel caso della DDR 200MHz a 1600 MB/s ma se utilizziamo due banchi di RAM in Dual Channel questi avranno una velocità massima (teorica) di trasferimento dati che corrisponde (sempre in teoria) al doppio, quindi a 3200 MB/s o nel caso di DDR4 3200MHz si parlerà non più di 25,6 GB/s ma del doppio ovvero di 51,2 GB/s.
Naturalmente come accennato poco fa, il tutto è influenzato soprattutto dai timing (e non solo) quindi non sono velocità reali ma teoriche



Differenze tra DDR, DDR2, DDR3, DDR4 e DDR5?



maxresdefault.jpg


Semplicemente identificano la generazione delle RAM e il nuovo standard di memorie. Ovviamente i moduli DDR saranno differenti a seconda che si tratti di memorie DDR2, DDR3 oppure DDR4 in quanto in ognuna di esse ha la piedinatura da alloggiare nello slot della scheda madre che sarà differente, infatti va vista la compatibilità con la generazione di RAM. Di conseguenza non si potranno inserire memorie DDR2 in una motherboard (scheda madre) con supporto per memorie DDR, DDR3, DDR4 e così via anche per le future DDR5.
Con le nuove generazioni si è andati man mano aumentando e ↑ raddoppiando di volta in volta la frequenza massima, ↓ riducendo le tensioni applicate grazie al processo produttivo ridotto ↓, e ↑ aumentando la densità di memoria (man mano che si va avanti passiamo a memorie sempre più grandi DDR 521MB, DDR2 1GB, DDR3 16GB, DDR4 128GB) ma purtroppo si riscontra un ↑ aumento delle latenze (latenze più basse danno migliori prestazioni). Sono stati inoltre aumentati i prefetch buffer, che sono utilizzati per collezionare i dati prima di fornirli a un'interfaccia più veloce: Questo spiega anche perché le latenze si dilatino nel susseguirsi delle generazioni. A questo proposito è utile osservare che le DDR 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 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.



Nel 2000 sono uscite le DDR. Funzionavano a 2,5V, avevano 2 moduli prefetch, avevano 184 pin le DIMM, 200 le SO-DIMM e 172 MicroDIMM.
Nel 2003 sono uscite le DDR2. Funzionavano a 1,8V, avevano 4 moduli prefetch, avevano 240 pin le DIMM, 200 le SO-DIMM e 214 MicroDIMM.
Nel 2007 sono uscite le DDR3. Funzionavano a 1,5V - 1,35V (DDRL3), avevano 8 moduli prefetch, avevano 240 pin le DIMM, 204 le SO-DIMM e 214 MicroDIMM.
Nel 2014 sono uscite le DDR4. Funzionano a 1,2V - 1,05V (DDRL4), hanno 8 moduli prefetch, hanno 288 pin le DIMM, 256 le SO-DIMM.
Nel 2020 usciranno le DDR5, di cui sappiamo ancora poco al momento.

2. Differenza tra Dual Channel, Triple Channel, Quad Channel.


(Slot Dual Channel ↑)

Multi-Channel Memory Architecture
La Multi-Channel Memory Architecure (o Architettura di memoria multi-canale) è una tecnologia che aumenta la velocità di trasferimento dei dati tra la memoria DRAM e il controller di memoria aggiungendo più canali di comunicazione tra di loro. Teoricamente questo moltiplica la velocità dei dati per il numero di canali presenti.
L'architettura Dual-channel per DDR/DDR2/DDR3/DDR4 è una tecnologia utilizzata per raddoppiare la velocità di trasferimento dei dati dalla RAM al northbridge.
I controller di memoria che la supportano utilizzano due canali di dati a 64 bit, che forniscono una larghezza di banda totale di 128 bit per spostare i dati dalla RAM al processore.
La tecnologia dual channel è stata introdotta per risolvere i colli di bottiglia. Velocità dei processori sempre maggiori richiedono componenti dalle prestazioni sempre più elevate per funzionare a dovere, in quanto processori veloci devono continuamente attendere il trasferimento di dati per/dalla memoria.

dualwith2.jpg

(Dual Channel ↑)​

In genere il Dual Channel garantisce migliori risultati rispetto a RAM a frequenze maggiori, questo significa che se ho 2 x 4GB da 2400MHz C14 e 1 x 8GB da 3000MHz C15, le prime avranno prestazioni superiori sebbene la seconda scelta abbia una frequenza maggiore. Questo è vero in particolar modo sulle piattaforme Ryzen con Infinity Fabric.
In genere si differenziano sul nostro manuale della scheda madre in Slot A1, B1, A2, B2.
Slot dello stesso colore sono configurabili per il Dual Channel in questo caso A1 e A2 (rispettivamente 1° e 3° Slot dove posizionare le RAM), B1 e B2 (rispettivamente 2° e 4° Slot dove posizionare le RAM). Naturalmente l'uso di 4 banchi con una scheda madre dual channel comporta l'utilizzo di 2 banchi in Dual Channel e altri 2 banchi in Dual Channel, non di certo di un Quad Channel.

singlewith1.jpg

(Single Channel ↑)
Il Single Channel è dato invece dall'utilizzo di uno solo dei quattro Slot, non configurando così il dual channel (Figura a sinitra) oppure da un non corretto utilizzo dei canali, ad esempio posizionare le RAM negli slot A1 e B1 (rispettivamente 1° e 2° Slot) che non configura quindi una situazione di dual channel, lo stesso vale per le RAM in posizione A2 e B2 (rispettivamente 3° e 4° Slot) che non configurano una situazione di Dual Channel.

flex.jpg

(Flex Mode ↑)​

L'utilizzo di RAM a capacità, frequenza e latenza differenti è possibile ma questo comporterà una possibile instabilità nel sistema con frequenti e possibili BSoD (acronimo per Blue Screen of Death). Quando si passa alla modalità dual channel, e utilizziamo ad esempio due banchi uno da 8GB e uno da 4GB; il sistema si comporterà come se avesse due banchi da 4GB; i rimanenti 4 GB funzioneranno in modalità Single Channel. Non è veloce come usare due banchi delle stesse dimensioni, ma è comunque più veloce di quella che si aveva prima. Questa opzione viene chiamata Flex Mode, o anche Intel Flex Memory.
Inoltre nel caso di frequenze e latenze diverse, la RAM più veloce e prestante si deve adeguare alla RAM più lenta; almeno che non riuscite tramite BIOS ad impostarle con un po' di overclock alle stesse frequenze, latenze, e voltaggi.



(Slot Triple Channel ↑)
Il Triple Channel viene utilizzato per la descrizione tecnica della memorizzazione dei dati e rappresenta un ulteriore sviluppo della tecnologia di memoria Dual Channel.
Con tre canali, insieme ai banchi di RAM, che dovranno essere almeno tre per operare come moduli paralleli, con un conseguente aumento della velocità di trasferimento di dati e quindi un ulteriore aumento di prestazioni. Ciò richiede tre bus separati dal controller di memoria ai singoli moduli.
I tre moduli (come per il Dual Channel) dovranno essere identici e funzionare alle stessa frequenza e latenza, oltre ad avere la stessa capacità. In caso contrario si può avere instabilità del sistema, inoltre devono essere posizionati negli slot dello stesso colore altrimenti nel caso in cui fossero posizionati 2 negli slot corretti e uno nello slot sbagliato, funzionerebbe in Dual Channel invece che in Triple Channel.


triple1.jpg

(Triple Channel ↑)
Il Triple Channel è ormai caduto in disuso, ed era possibile principalmente in fascia consumer per:

Intel Core i7:
  • Intel Core i7-9xx Bloomfield, Gulftown
  • Intel Core i7-9x0x Gulftown
Intel Xeon:
  • Alcuni Intel Xeon Nehalem
  • Alcuni Intel Xeon Westmere
  • Alcuni Intel Xeon Bloomfield


(Slot Quad Channel ↑)
Il Quad Channel è invece per 4 o multipli di 4, rappresenta un ulteriore sviluppo della tecnologia di memoria Triple Channel.
Ciò richiede quattro bus separati dal controller di memoria ai singoli moduli.
Se utilizziamo soltanto 2 canali, andranno in Dual Channel, se ne utilizziamo 3 andranno in Triple Channel.
Attualmente il Quad Channel è utilizzato esclusivamente su piattaforme HEDT, come Intel Extreme o i9, e i Threadripper.

quadwith4.jpg

(Quad Channel ↑)
Esistono in realtà anche le architetture Six-Channel e Eight-Channel, ma quest'ultime sono utilizzate solamente in ambito server.


3. Differenza tra RAM ECC e non-ECC


Le RAM con ECC (acronimo di Error Correction Code) hanno dei sistemi utili a rintracciare eventuali errori contenuti nell'informazione memorizzata e dei meccanismi capaci di correggere l'errore riscontrato. Questo è possibile registrando informazioni aggiuntive che rendono queste memorie più costose e poco più lente delle rispettive RAM non dotate di ECC. Le memorie ECC sono quindi facilmente identificabili dalla presenza del Chip ECC.

Gli eventuali bit che presentano errori vengono individuati e corretti all'istante senza influire con le applicazioni in esecuzione; generalmente il sistema operativo effettua un log degli errori per dare possibilità di analisi ai tecnici. Nel caso in cui l'errore persista e non sia possibile risolverlo è opportuno pianificare lo spegnimento della macchina per sostituire il banco probabilmente guasto. Il meccanismo di ricerca e riparazione dell'errore è conosciuto come EEC (acronimo di Extended Error Correction).
Sono utilissime per evitare eventuali schermate blu di errore o BSoD (acronimo per Blue Screen Of Death) che equivalgono in genere ad un errore critico del sistema.

Le Memorie RAM ECC vengono solitamente utilizzate in ambito server e comunicazioni.

Le Memorie RAM Non-ECC vengono solitamente utilizzate per le normali configurazioni di PC fissi.

Il codice ECC di Hamming, quello più frequentemente usato, permette di correggere errori su di un singolo bit per quadword (64 bit) e di rilevare errori doppi. Solitamente in una memoria RAM con ECC ogni quadword (64 bit) è dotata di 8 bit addizionali di ECC.

I primi personal computer fino ai primi anni novanta usavano memorie con bit di parità (rilevazione errori singoli, ma senza correzione)
Un buon sistema operativo può bypassare pagine con errori temporanei (soft error) o permanenti (hard error) marcandole come inutilizzabili.


Ma cosa può causare questi errori?
Interferenze elettriche o magnetiche all'interno del computer possono causare uno spontaneo cambiamento allo stato opposto di un singolo bit delle DRAM.
La ricerca ha infatti dimostrato che la maggior parte degli errori soft nei singoli chip DRAM si verificano come risultato delle radiazioni di fondo, principalmente neutroni dai raggi cosmici secondari, i quali possono modificare il contenuto di una o più celle di memoria o interferire con i circuiti utilizzati per leggere o scrivere su di essi.
Quindi, i tassi di errore aumentano rapidamente con l'aumentare dell'altitudine; ad esempio, rispetto al livello del mare, il tasso di flusso di neutroni è 3,5 volte più alto a 1,5 km e 300 volte più alto a 10-12 km (l'altitudine di crociera degli aerei commerciali). Di conseguenza, i sistemi che operano ad altitudini elevate richiedono disposizioni speciali per l'affidabilità.

4. Differenza tra RAM DIMM, SO-DIMM, SIMM e UniDIMM



(Memoria DIMM sopra, Memoria SO-DIMM sotto ↑)

La RAM DIMM (Dual in-line Memory Module) è la classica RAM che vediamo quotidianamente montata in PC fissi e Workstation.

La RAM SO-DIMM (Small Outline Dual In-line Memory Module) è la RAM che vediamo installata nei Notebook e nei Mini-PC, ma anche in stampanti d'ufficio di fascia alta o per router.

La RAM UniDIMM (Universal Dual in-line Memory Module) sono delle SO-DIMM disponibili in due versioni una grande quanto le SO-DIMM e una più piccola.


(Memorie UniDIMM ↑)​

La RAM SIMM (Single In-Line Memory Module) è un modello di RAM caratterizzata dall'avere tutti i moduli di memoria interconnessi con contatti di uscita condivisi, con l'eccezione del modulo di correzione errori che presenta una serie di contatti aggiuntiva per il solo input/output. Tempo fa le Memorie SIMM furono sostituite dalle più prestanti e recenti Memorie DIMM che utilizzano due bordi del connettore fisico.


(Memorie SIMM ↑)

La variazione principale tra le DIMM e SO-DIMM è dovuta al supporto degli Slot per RAM DDR, DDR2, DDR3 e DDR4.
In base alla generazione è infatti dovuto anche il numero di PIN.

Da 70 a 200 pin
  • 72-pin SO-DIMM (non le stesse dei 72-pin delle SIMM), usate per FPM DRAM e EDO DRAM
  • 100-pin DIMM, usate per SDRAM
  • 144-pin SO-DIMM, usate per SDR SDRAM (meno frequentemente per DDR2 SDRAM)
  • 168-pin DIMM, usate per SDR SDRAM (meno frequentemente per FPM/EDO DRAM in workstations/servers)
  • 172-pin MicroDIMM, usate per DDR SDRAM
  • 184-pin DIMM, usate per DDR SDRAM
  • 200-pin SO-DIMM, usate per DDR SDRAM and DDR2 SDRAM
  • 200-pin DIMM, usate per FPM/EDO DRAM in alcune workstation e server.

I differenti tipi di SO-DIMM possono essere riconosciuti con un'occhiata dalle caratteristiche tacche usato per "adattarle" per diverse applicazioni: quelle a 100 pin hanno due tacche, quelle a 144 pin hanno una singola tacca vicino al centro, e quelle a 200 pin hanno una singola tacca spostata verso un'estremità.
Le memorie a 200 pin si distinguono poi per montare RAM di classe DDR o DDR2, tipologie non intercambiabili.

Da 201 a 300 pin
  • 204-pin SO-DIMM,usate per DDR3 SDRAM
  • 214-pin MicroDIMM, usate per DDR2 SDRAM
  • 240-pin DIMM, usate per DDR2 SDRAM, DDR3 SDRAM e per FB-DIMM DRAM
  • 244-pin MiniDIMM, usate per DDR2 SDRAM
  • 260-pin SO-DIMM, usate per DDR4 SDRAM
  • 260-pin SO-DIMM, con una differente posizione della tacca per DDR4 SO-DIMMs, usate per UniDIMMs che possono portare DDR3 o DDR4 SDRAM
  • 278-pin DIMM, usate per HP sono SDRAM ad alta densità.
  • 288-pin DIMM, usate per DDR4 SDRAM

Differenza tra R-DIMM e U-DIMM

R-DIMM è l'acronimo di Registered DIMM (più spesso dette Buffered), e indica i moduli di memoria registered, noti anche come buffered (letteralmente munita di tampone), che dispongono di un registro interposto tra i moduli SDRAM e il controllore della memoria della macchina. Lo scopo di tale registro è quello di ridurre il carico elettrico sul controllore della memoria e consentono a un singolo sistema con più moduli di memoria di restare stabile più di quanto non sarebbe altrimenti.
Il modulo R-DIMM è sensibilmente più costoso del corrispondente DIMM in quanto è dotato di componenti hardware aggiuntivi. Per tale ragione i moduli R-DIMM si trovano di solito solo nelle applicazioni in cui le esigenze di scalabilità e di stabilità (server, per esempio) sono superiori a quelle di mantenere basso il costo hardware.
Sebbene la maggior parte dei moduli di memoria ECC di classe server siano di questo tipo, ne esistono anche non-ECC. Questo tipo di memoria in genere è usata sui server.

L'uso di memoria registered determina, a parità di condizioni, un degrado della prestazioni. Infatti, ogni ciclo di lettura o di scrittura è registrato tra il bus e la memoria DRAM. Consegue che può dirsi che la R-DRAM può essere considerata più lenta di un ciclo di clock dell'equivalente DRAM.

Hanno un buffer dove memorizzare l'indirizzo, aspettando di riceverne il resto al ciclo di clock successivo prima di rilasciare o scrivere i dati. Ciò permette di avere indirizzi più lunghi e quindi di poter avere più ram, ma ha l'inconveniente di essere più lenta rispetto alle comuni U-DIMM (Unbuffered o Unregistered DIMM).

La memoria registrata funziona su schede madri progettate per quest'ultime, quindi non funzioneranno su motherboard non adatte e viceversa.

I moduli Fully Buffered DIMM (FB-DIMM) sono utilizzati in alcuni sistemi con grandi capacità di memoria massima. Nella memoria normale registrata / bufferizzata solo le linee di controllo sono bufferizzate, mentre nella memoria completamente bufferizzata le linee dati sono anche bufferizzate con tutti i trasferimenti eseguiti in modo seriale; la logica aggiuntiva presente su ciascun modulo FB-DIMM trasforma l'ingresso seriale in segnali paralleli necessari per pilotare chip di memoria.

I moduli Load Reduced DIMM (LR-DIMM) sono simili alla memoria registrata / bufferizzata, in modo tale che i moduli LRDIMM bufferano sia il controllo che le linee dati mantenendo la natura parallela di tutti i segnali. Di conseguenza, la memoria LRDIMM offre grandi capacità di memoria complessive, mentre risolve alcuni dei problemi di prestazioni e consumo energetico della memoria FB-DIMM indotta dalla conversione richiesta tra le forme di segnale seriale e parallelo.

Entrambi i tipi di memoria FB-DIMM e LR-DIMM sono progettati principalmente per controllare la quantità di corrente elettrica che fluisce da e verso i chip di memoria in qualsiasi momento. Non sono compatibili con la memoria registrata / buffer, e le schede madri che li richiedono di solito non accetteranno nessun altro tipo di memoria.


5. Differenza tra RAM Single Rank e Dual Rank, e tra Single Side e Dual Side


Spesso si confondono le RAM Single/Dual Rank o con Single/Dual Channel (che sono due cose completamente diverse, si tratta di una tecnologia che aumenta la quantità di dati e il loro trasferimento aggiungendo più canali di comunicazione) o con RAM Single/Dual Side (che invece rappresenta il posizionamento dei chip di memoria su di uno o due lati del PCB)


1) Single Rank - Single Side (64 bit)
2) Single Rank - Dual Side (64 bit)
3) Dual Rank - Dual Side (64bit+64bit)​

Il termine rank è stato creato e definito dal JEDEC, l'associazione preposta al controllo degli standard nel settore delle memorie. Un rank di memoria è semplicemente un area dati indipendente a 64 bit di un modulo di memoria. Ogni rank deve avere un ampiezza dati di 64 bit, tranne che sui moduli di memoria che supportano la funzionalità Error Correction Code (ECC), dove l area dati da 64 bit richiede anche un area ECC da 8 bit per un'ampiezza totale di 72 bit.
  • I moduli a più Rank consentono diverse pagine aperte per ogni Rank (8 pages per Rank), ciò aumenta la possibilità di beccare un indirizzo di riga già aperto. Il guadagno di prestazioni che si può ottenere è fortemente dipendente dall'applicazione e dalla capacità del controller di memoria di sfruttare le pagine aperte.
  • I moduli a più Rank hanno un carico superiore sul bus dati (e su DIMM non bufferizzati e sul bus CA), quindi se più delle Dual Rank DIMMS sono collegati in un canale, la velocità potrebbe essere ridotta (Quad Rank, etc.).
  • Escludendo alcune limitazioni, i Rank possono essere raggiunti indipendentemente, anche se non contemporaneamente, poiché le righe di dati sono ancora condivise tra le posizioni di un canale. Ad esempio, il controller può inviare dati di scrittura a un Rank mentre attende dati di lettura precedentemente selezionati da un altro Rank. Mentre i dati di scrittura vengono utilizzati dal bus di dati, l'altro Rank potrebbe eseguire operazioni legate alla lettura, ad esempio l'attivazione di una riga o il trasferimento interno dei dati ai driver di output. Una volta che il bus CA è privo di rumore della precedente lettura, la DRAM può disattivare i dati di lettura.


6. Differenza tra i Timings delle RAM


I timing più importanti sono:
  • CAS Latency Time (tCl) : durante un'operazione di lettura, rappresenta l'intervallo di tempo tra l'istante in cui il comando di lettura giunge ad una certa cella di memoria e quello in cui inizia il trasferimento dei dati; la denominazione è dovuta al fatto che, per individuare la cella di memoria, l'indirizzo di colonna viene selezionato sempre per ultimo (tramite il segnale CAS), successivamente a quello di riga.
  • RAS to CAS Delay Time (tRCD): costituisce l'intervallo di tempo che passa tra l'attivazione della riga e della colonna che identificano la cella di memoria in cui si vuole leggere o scrivere il dato, cioè il ritardo del segnale CAS rispetto al segnale RAS.
  • RAS Precharge Time (tRP): La pre-carica RAS è il ritardo tra il momento in cui un comando di selezione riga viene dato e il prossimo comando.
  • Active-to-Precharge Delay (tRAS) - questo tipo di latenza riguarda in realtà i diversi passi in cui può essere suddiviso il processo di accesso alla memoria, ed il suo numero indica il numero minimo di cicli che intercorrono fra il comando "active" e "precharge".
  • Row Cycle Time (tRC): è l'intervallo di tempo che passa tra l'attivazione consecutiva di 2 righe di memoria dello stesso banco.
A questi parametri, che sono impostati dal costruttore e memorizzati nel SPD (acronimo per Serial Presence Detect*), se ne aggiungono altri, che riguardano le latenze dipendenti dalle operazioni di interfaccia tra le memorie ed il resto del sistema; tra questi ultimi citiamo:
  • Command Rate : è l'intervallo di tempo che intercorre tra 2 comandi consecutivi impartiti al chip di memoria; tipicamente esso può valere 1 o 2 cicli di clock. Viene anche definito come il tempo che deve trascorrere fra il segnale di selezione del chip e l'inizio dei comandi di selezione (riga e colonna)/lettura/scrittura.
  • Dram Idle Timer : costituisce il tempo che la memoria deve attendere prima di iniziare ad eseguire il comando impartito.


* Il Serial Presence Detect (SPD) è una funzione utilizzata nei PC per supportare la configurazione automatica dei banchi di memoria RAM installati. Come possiamo vedere dallo screen delle mie RAM di CPU-Z c'è una sezione dedicata proprio all'SPD.
La funzione SPD è implementata tramite uno specifico chip (una EEPROM di 1024 bit o, più spesso, di 2048 bit) aggiunto dal costruttore nei moduli di memoria RAM (es. i DIMM). In tale chip, secondo una codifica precisamente specificata, sono raccolti i dati dei vari parametri necessari al buon funzionamento di quel modulo di memoria (per esempio, il voltaggio d'alimentazione e la frequenza di clock). All'avvio del computer, durante l'iniziale fase del POST, tali dati possono essere letti dal BIOS per automatizzare la configurazione del sistema, permettendo la gestione ottimale della memoria installata e la successiva stabilità operativa.
Le caratteristiche e il protocollo di codifica dei dati usati per il SPD sono specificati in standard tecnici (es. la serie SPD4_01_x), elaborati dall'organismo di standardizzazione JEDEC.
Storicamente, il SPD costituisce il miglioramento evolutivo del Parallel Presence Detect (PPD), un precedente metodo di configurazione automatica della memoria RAM. Tale precedente metodo, adottato principalmente per i moduli di tipo SIMM, non forniva una flessibilità sufficiente a supportare le nuove tecnologie di memoria (come le SDRAM), finendo quindi per essere sostituito dal SPD.

Tecnologie XMP e AMP

La RAM deve rispettare degli standard di velocità stabilite dalla JEDEC, la Joint Electron Device Engineering Council. Anche se acquisti RAM pubblicizzate con specifiche che le rendono più veloci dello standard medio delle RAM, una volte inserite nella scheda madre, non funzionerà immediatamente a quelle velocità pubblicizzate. Funzionerà invece alle velocità standard. L'XMP è un profilo già configurato che garantisce le massime prestazione delle RAM senza effettuare overclock manuali, ma tramite un overclock già accertato di fabbrica. Queste opzioni vanno attivate dal BIOS.
L' XMP (acronimo per Extreme Memory Profile) è una tecnologia studiata da Intel che consente di “spremere” le memorie per avere migliori prestazioni. La controparte AMD che, svolge la medesima funzione, porta il nome di AMP (acronimo per AMD Memory Profile ed è ormai in disuso, si parla infatti di XMP anche per CPU AMD).

Prima cosa da fare è quindi controllare a che frequenza funzionano le RAM, in genere se non avete mai toccato i valori o attivato l'XMP dovrebbe essere impostato su di un valore base di 2133MHz. Per controllarlo aprite CPU-Z nella scheda Memory, alla voce DRAM Frequency troverete 1066 MHz ovvero la metà di 2133MHz, se fosse in XMP ad esempio a 3200MHz trovereste circa 1600MHz, o un XMP a 3000MHz trovereste circa 1500MHz
1) Assodato che non avete impostato l'XMP, riavviate il PC e andiamo nel BIOS tramite l'apposito tasto che vi uscirà a schermo (in genere uno tra ESC, DEL, F2, F10 etc.)
2) Bisogna cercare la dicitura XMP, questa in genere risiede nelle opzioni di overclock
3) Quindi impostate l'XMP da Disabled a Profile 1
4) Ora bisogna uscire e salvare le impostazioni scelte. In genere basta premere ESC e selezionare l'opzione per il mantenimento delle impostazioni oppure dovete dirigervi voi verso l'uscita del BIOS.
5) Una volta riavviato (potrebbe fare qualche riavvio in più, questo in genere indica che non è perfettamente funzionante) andate quindi su CPU-Z e controllate nuovamente nella scheda Memory, alla voce DRAM Frequency se questo è salito all'XMP. Da qui possono essere successe due cose:
6a) La prima opzione è che non sia andato a buon fine e che il sistema si sia riavviato più volte poiché non riusciva a bootare con tale impostazione. Potreste anche riprovare ma probabilmente otterreste lo stesso risultato, con lo stesso XMP va quindi diminuita la frequenza e aumentato leggermente il voltaggio (ATTENTI AI VOLTAGGI)
6b) La seconda opzione è che tutto sia andato a buon fine e che il sistema stia funzionando con le RAM ad XMP; ma bisogna assicurarsi che sia sempre stabile quindi si passa al passaggio successivo.
7) Per assicurarsi che l'XMP non sia solo fittizio e che al primo carico pesante la RAM crashi dando BSOD oppure si freeze l'intera schermata, è opportuno testarne la stabilità tramite appositi programmi di stress test come l'Intel Burning Test, AIDA64 oppure Prime95. Questi programmi hanno in genere uno stress test apposito per le sole RAM, quindi si carica le RAM con uno stress test pesante e si fa continuare lo stress test 20-30 min almeno per testarne la bontà.
8a) Se regge non abbiamo alcun problema di stabilità, e possiamo restare così.
8b) Se non regge come per il passaggio 6a) bisogna riprovare ma con frequenze più basse o con voltaggi più alti o con latenze più alte. In genere si cerca di bilanciarle partendo sempre da un buon voltaggio e abbassando la frequenza e pian piano vanno quindi aggiustati i vari valori finché non si trova la combinazione Frequenza - Latenza - Voltaggi che resiste allo stress test.

7. Sub-Timings delle RAM e parametri di OC avanza

Tensioni

Ecco i principali valori di tensione delle RAM spiegati e con i loro limiti per le DDR4:
  • DRAM Voltage : è la tensione (o voltage) applicato alle RAM. Di solito di default per le DDR4 è di 1.2 V.
    AMP/XMP Profile, ovvero profili di overclock preimpostati dalle aziende, utilizzano tensioni di 1.35 V o 1.4 V. Un valore giornaliero massimo di tensione per le DDR4 è di 1.5 V. Un valore giornaliero di tensione sicuro è 1.45 V.
  • SOC Voltage : è la tensione applicata all’uncore, che comprende l’on-die memory controller, il bus (ad esempio il bus PCIE), la Cache. È un parametro che non agisce direttamente sulle RAM, ma che può influire ed aiutare nell’overclock delle RAM. Il massimo “safe” dichiarato è di 1.25V, ma solitamente, per overclock non estremi(azoto liquido), non serve oltrepassare 1.2V. Molto spesso è sufficiente impostare 1.1 V o 1.15 V.
  • CLDO VDDP : Si tratta del voltaggio per il DDR4 PHY sul SOC, spesso è sufficiente lasciarlo impostato su Auto, talvolta può aiutare ad ottenere stabilità impostarlo poco sopra i 900 mV, in ogni caso è sempre meglio non eccedere gli 1,05V.

Sub-Timings


Ecco i principali Sub-Timings, spesso l'ideale è lasciare che li calcoli DRAM Calculator per impostarli. Sono molti e non sono presenti tutti:
  • Trc : è un parametro che influisce in modo tangibile sulle performance. Abbassarlo il più possibile è un target importante, ricordando che il suo valore minimo sarà dato da Tras + Trp per motivi di stabilità.
  • Trfc : Solitamente è bene riuscire a abbassarlo intorno ai 300-450, e su alcuni banchi di Ram si riesce a scendere sotto i 300
  • Tfaw : Solitamente viene impostato poco sotto i 40, ma su un buon banco di ram si riesce ad arrivare sotto i 30. Su questo valore si può giocare abbastanza, ma è uno di quelli che potrebbe causare instabilità, quindi va maneggiato con la dovuta considerazione.
  • Twr : Si aggira sopra i 20, un buon banco di RAM può scendere sotto i 20
  • Trtp : Impostato dalla motherboard sopra i 10 normalmente, ed è un buon target tenerlo prossimo ai 10, come per il Tfaw, è un parametro che va attenzionato, soprattutto se si sale abbastanza sulle frequenze.
  • Tcke : normalmente impostato tra 6 e 9, un buon banco riesce a portarlo sino ad 1.
  • TwrwrSD/TwrwrDD : questo è un altro subtiming su cui si può lavorare. Si trova impostato automaticamente sui 6 o 7 generalmente, ma in overclock, su un banco di Ram prestante si riesce a portarlo anche a 3.
  • TrdrdSD/TrdrdDD : come il precedente, è un subtiming su cui si può lavorare. Generalmente si trova impostato in automatico su valori di 4 o 5. Come per il precedente, bisogna però tenere presente, che potrebbe causa instabilità, per guadagni abbastanza piccoli, pertanto se si punta a frequenze superiori ai 3400mhz è consigliabile rimanere sui valori impostati in automatico.
  • Ve ne sono altri, su cui si agisce in quantità minore, come Trrds/Trrdl, Twtrs/Twtrl, o Trdrdscl/Twrwrscl spesso impostati in modo automatico tra 2 e 4 e che potrebbero dare un notevole incremento in test di lettura e scrittura e copia, ma non bisogna esagerare, un valore troppo piccolo potrebbe dare risultati opposti ed essere un motivo di instabilità (su ram con chip samsung b-die ad esempio oltre i 3400mhz portare questi timing da 2 a 3 potrebbe dare risultati positivi).

Altri parametri di OverClock

Ci altri valori, che possono essere modificati per ottenere la stabilità in overclock:
  • ProcODT : Processor On-Die Termination. Si tratta di un parametro fondamentale che agisce direttamente sul segnale in uscita dal processore, diretto alle Ram. Si tratta di un valore di Impedenza, e solitamente può dare ottimi risultati provando ad impostarlo tra 53,3 e 68 ohm, spesso ho ottenuto ottimi risultati con 53,3 o 60 ohm, ad ogni modo, è consigliabile non eccedere gli 80ohm, con metodi di dissipazione tradizionali.
  • On-Die Termination Configuration : in questo gruppo si trovano altri tre parametri che possono aiutare nell’overclock delle Ram. RttNom, RttWr , RttPark. Come suggerisce il nome, si tratta di impedenze che influiscono direttamente sul segnale. Sono molto dipendenti dal Chip e dalla Motherboard. Su alcune configurazioni ho trovato utile disabilitare il Dynamic Odt sotto la voce RttWr, ed ho trovato utile disabilitare il parametro RttNom. Un particolare cenno va all’ultimo, RttPark, questo parametro è uno dei responsabili dei problemi di boot quando si effettua overclock. Un parametro di impedenza troppo elevato, potrebbe impossibilitare il boot, salendo di frequenza ho trovato che valori compresi tra 34 ohm e 60 ohm, possono portare a buoni risultati.
  • CAD BUS Configuration : sotto cad bus drive strenght si trovano quattro parametri, che normalmente vengono impostati automaticamente tra 20ohm e 30ohm. Spesso si possono lasciare tranquillamente su Auto, talvolta invece, potrebbe dare i suoi frutti, abbassarli (ad esempio da 24ohm a 20ohm) oppure alzarli leggermente. Il mio consiglio, è di non esagerare con questi valori, perchè strettamente legati alla risonanza termica, in parole povere la stabilità delle Ram è strettamente legata alla temperatura. Aumentando questo valore si rendono i chip più sensibili alla variazione di temperatura.
  • Command Rate e Gear Down : il Command Rate è la quantità di tempo, in cicli, tra quando viene selezionato un chip di DRAM e quando il comando viene eseguito. Può essere impostato su 1T o su 2T. 1T garantisce maggiori performance ovviamente, 2T invece può aiutare moltissimo sulla stabilità delle Ram. Sarebbe ideale su Piattaforma AM4 rimanere su 1T , dato che rappresenta uno dei timing che influisce maggiormente sulle performance.
    Inoltre è strettamente correlato al Gear Down, che sovrascriverà il Command Rate se impostato su ON, impattando negativamente sulle performance ma positivamente sulla stabilità. Ovviamente, sarebbe l’ideale impostarlo manualmente su OFF, quando si procede con l’overclock.
  • Power Down : consiste in una sorta di risparmio energetico per le Ram, quando il PC resta inattivo per un lasso di tempo. Ad ogni modo, a volte può causare instabilità quando, intervenendo, imposta le Ram in modo da risparmiare energia.
  • Bank Group Swap : in realtà influirà in minima parte, impostato su ON impatterà positivamente su alcune applicazioni, su OFF impatterà positivamente su altre, tra cui il gaming. Diciamo che in termini percentuali, influenzerà le performance in quantità che può essere considerata “trascurabile”.
 
Ultima modifica:
Top