RAM: COS'È E COME FUNZIONA? [GUIDA COMPLETA]

1 luglio 2021

Un tuffo profondo nel mondo delle RAM, dalla composizione delle parti elettroniche fino all'effettivo funzionamento in coesione con altre componenti.

Ads

Nel complicato mondo delle componenti, la RAM ha di sicuro un posto d’onore nell’olimpo delle parti più sottovalutate in assoluto. Se non volessimo informarci riguardo il funzionamento esatto, ma solo fare overclock o comprarne dei banchi, qui sotto troviamo una guida all’acquisto e un tutorial su come fare (per Ryzen)

Guida: Le migliori RAM per gaming e lavoro

Articolo: Come fare overclock usando Ryzen DRAM Calculator

 

Partiamo dal presupposto che le RAM, come anticipato, siano alcune delle componenti più difficili da comprendere a pieno tra tutte quelle che popolano il nostro PC.

Per quanto possibile, in questo articolo cercheremo di dare una spiegazione semplice e diretta a questo piccolo microcosmo.

 

#COSA SONO

RAM è l'acronimo di “Random Access Memory”, ovvero in italiano “memoria ad accesso casuale”, ed è un tipo di memoria volatile (ovvero che in mancanza di corrente non è in grado di mantenere i dati) che permette l'accesso diretto a qualunque indirizzo di memoria con lo stesso tempo di accesso.
A cosa serve la RAM? Ad esempio quando si esegue un programma sul proprio PC la CPU necessita di uno spazio della memoria libera per caricarlo.
E perché non usiamo un SSD o un HDD per farlo? Si potrebbe. Però in un disco rigido la scrittura dei dati è sequenziale, quindi questi vengono memorizzati uno dietro l’altro, e ciò comporta un tempo di elaborazione (latenza) nettamente maggiore rispetto allo sfruttare le RAM.
La RAM è una memoria pensata proprio per questa lavoro: è veloce e sempre “disponibile”. Questo è anche uno dei motivi per cui la RAM è volatile, ovvero che quando spegniamo il nostro PC si va a svuotare e non è in grado di mantenere i dati in assenza di alimentazione.

 

#COME FUNZIONANO

Per spiegarne il lato Bus, faremo riferimento alle RAM DDR (Double Data Rate) SDRAM visto che sono le più utilizzate al giorno d’oggi (sia lato consumer che enterprise/server).
Il Bus di indirizzo è un bus single-clock (come il bus di comando) con la funzione di selezionare quali celle della RAM vengano scritte o lette (parliamo di celle nei chip DRAM in questo caso). I valori di bit sul Bus servono per determinare la banca, la riga e la colonna da scrivere o leggere della celle del chip DRAM. Visto che il Bus ha un’interfaccia di tipo bidirezionale (a due direzioni), i dati vengono trasferiti in bursts tra la memoria e il memory controller della CPU (IMC). Il segnale di strobe (DQS) è un clock bursted differenziale che funziona solo durante le operazioni di lettura e scrittura (avviene un’operazione di lettura quando i dati devono passare dalla cella DRAM al controller, mentre di scrittura quando i dati devono passa dal controller alla cella DRAM). Per far trasportare i dati da una cella DRAM al controller o viceversa, ogni chip DRAM ha più linee dati parallele (DQ0, DQ1, ecc.) che lo permettono. I segnali di dati sono veri segnali a doppia velocità che funzionano alla stessa velocità del clock/strobo (due trasferimenti per ciclo di clock).

Qui una rappresentazione delle linee dati parallele e del Bus (la seconda immagine è una comparazione tra lo strobo delle DDR e i segnali dei dati che sono differenti per le scritture e letture):

Fonte della foto - Fonte della foto

Con “Controller” si intende il memory controller della CPU (IMC), in blu i tre tipi di Bus e in rosso i segnali.
Il Bus di natura deve avere un’interfaccia di tipo bidirezionale, visto che i dati possono andare sia dal controller alla cella DRAM (operazione di scrittura) che dalla cella DRAM al controller (operazione di lettura).

 

#DIFFERENZA TRA DDR E SDR

Attualmente sul mercato esistono due tipi distinti di RAM: quelle che di tipo DDR (Double Data Rate) e quelle SDR (Single Data Rate).
Le RAM di tipo DDR sono ad oggi molto più diffuse delle SDR perché sono una loro evoluzione e nettamente più performanti, visto che l'acronimo “DDR” corrisponde a “Double Data Rate” e indica il fatto che questo tipo di RAM siano in grado di lavorare ad una frequenza doppia di quella nominale. Possono trasferire un byte sia sul fronte di salita che di discesa del clock (quelli di salita sul clock è detto “Posedge” e quello di discesa è detto ”Negedge”). La differenza con le SDR è che le SDR trasmettono il byte solo sul fronte di salita del clock (quindi sul Posedge), quindi delle SDR se sono da 1600 MHz rimangono a tutti gli effetti da 1600 MHz. D’altro canto, se per esempio le nostre RAM DDR hanno una frequenza nominale di 1600 MHz, vuol dire che lavoreranno a 3200 MT/s. Il clock in questo caso funziona a metà della velocità di trasmissione dei dati e viene distribuito a tutti i chip di memoria.
Pressoché ignote, esistono anche le QDR. Dedicate al mondo server, il loro acronimo corrisponde a “Quad Data Rate”. Non sono molto diverse dalle DDR come funzionamento visto che anche loro trasportano i byte sul fronte di salita e discesa del clock, ma lo lo scopo principale di questo tipo di RAM è consentire letture e scritture a frequenze di clock elevate senza la perdita di larghezza di banda dovuta ai cicli di inversione del bus che ci sono nelle DDR. Quindi, le QDR non sono il doppio più veloci rispetto alle DDR come lo sono quest’ultime rispetto alle SDR, ma sono molto più efficienti durante l’interleaving di scrittura e lettura e perciò diffuse nei server.
Esistono anche le TDR (“Triple Data Rate”), ma sono ancora meno usate.

Qui una foto che mostra la trasmissione dei byte per clock delle SDR, DDR e QDR:

Fonte della foto

 

#GENERAZIONI (DDR, DDR2, DDR3, DDR4)

Potremmo aver notato un numero che segue l’acronimo di "Double Data Rate”: DDR, DDR2, DDR3 e DDR4, tra poco DDR5.
Il funzionamento è sempre lo stesso, molto semplicemente corrispondono alla generazione della RAM. La prima differenza che sorge tra queste generazioni è la piedinatura da alloggiare nello slot della scheda madre (Diversa per ogni generazione). Questo rende impossibile alloggiare ram DDR4 su una scheda madre pensata per DDR3, 2, 1 o varie combinazioni. Sia perché il memory controller delle CPU non sarebbe in grado di gestirle entrambe e sia perché è fisicamente impossibile, ad ogni generazione corrisponde un numero esatto di pin e una determinata forma per inserire le RAM negli slot.
Più “saliamo” con le nuove generazioni e più aumenta la velocità in frequenza, la latenza generale (strettamente legata alla frequenza e  migliora l’efficienza grazie al processo produttivo ridotto e alla maggiore densità dei chip, quella espressa in Gigabit. DDR 2 avrà un tetto di maggiore capacità di DDR, DDR3 di DDR2 e via dicendo.
Le latenze vengono aumentate visto che aumentano i prefetch buffer (utilizzati per “collezionare” i dati prima di fornirli a un'interfaccia più veloce), tant’è che ogni generazione ha un CAS (Column Address Select) diverso: le DDR lavorano a  2, 2.5 o 3 cicli di clock, le DDR2  3, 4 o 5, le DDR3  5 a 8. Il vero vantaggio di un nuovo standard di memoria (inteso come una nuova generazione) arriva dopo un certo tempo di sviluppo, dopo che i progettisti riescono a ridurre i tempi di latenza e aumentare ancora di più la frequenza di funzionamento dei banchi.

Qui una foto che compara le diverse generazioni:

Fonte della foto

 

#MHZ O MT/S?

Arriviamo a uno dei punti cruciali della guida: la differenza tra i MHz e i MT/s.
C’è parecchia confusione sotto questo punto di vista, perciò ci teniamo a fare chiarezza visto che anche noi usiamo i MT/s e soprattutto perché abbiamo parlato poco fa delle RAM di tipo DDR.

MHz (megahertz) e MT/s (megatransfer/secondo) sono due unità di misura diverse. Come abbiamo già detto in precedenza, le RAM di tipologia DDR hanno come caratteristica il fatto di poter gestire due dati per ogni ciclo di clock, uno in discesa e l’altro in salita, in modo da raddoppiare la banda (per questo bisogna moltiplicare per 2 la frequenza che viene mostrata su programmi come CPU-Z); mentre le SDR gestiscono solo un dato per ogni ciclo di clock. Quando le RAM DDR arrivarono sul mercato con la prima generazione (ci troviamo negli anni 2000 e stiamo parlando delle DDR1), i produttori pensarono a come mettere in evidenza questa caratteristica rispetto alla precedente generazione di RAM, la SDR. Decisero quindi di denominare le RAM secondo una frequenza “equivalente” la quale è il doppio della frequenza reale; ancora oggi, quando ormai si utilizza la quarta e quinta generazione (ma anche la sesta per le memorie delle schede video, per esempio le GDDR6 e GDDR6X) di questo tipo di RAM (quindi le DDR4 e le DDR5), la denominazione della RAM rappresenta il doppio della sua frequenza reale di funzionamento: un modulo DDR4 3000 MT/s in realtà funziona a 1500 MHz e non a 3000 MHz come in molti sbagliano e come i produttori - non solo di RAM ma anche di schede madri e altri componenti - scrivono (questo vale per tutti i modelli a tutte le frequenze). Quando noi diciamo “DDR4 3000 MHz” in realtà non ci riferiamo alla frequenza reale, anzi, lo facciamo ma sbagliamo, però ci rifacciamo ancora all’abitudine da più di 15 anni (o meglio, introdotta dal primo giorno che arrivarono sul mercato e furono creato le DDR) di raddoppiare la frequenza (reale), per rappresentare il fatto che la RAM DDR gestisce due dati per ciclo di clock (sempre uno in discesa e uno in salita). L'utilizzo della misura “MHz” è quindi del tutto sbagliata in casi come questi, perché il modulo dell’esempio di prima funziona a 1500 MHz, quindi a 3000 MT/s (1 MHz = 2 MT/s). Alcune aziende e produttrici di RAM si resero conto dell’errore che stavano facendo e quindi incominciarono a denominare la frequenza delle RAM in MT/s invece di MHz ( per esempio le Crucial Ballistix Sport LT/AT, sono denominate in MT/s e non in MHz come tutte le nuove e scorse RAM DDR). Il modulo di DDR4 che abbiamo citato prima come esempio, funzionante a 1500 MHz, genera 3000 MT/s: ecco che quindi, quando diciamo “DDR4 3000”, intendiamo sempre che funziona a 3000 MT/s, perché questa è la misura e la frequenza “reale”.

Quindi, tirando le somme, abbiamo capito che in questo caso 1500 MHz intende la frequenza di lavoro del bus I/O delle RAM e 1500 moltiplicato per  2 = 3200 MT/s indica la velocità di trasferimento dei dati effettivo delle RAM. MT/s è solo una denominazione più corretta per esprimere che X banco RAM va a Y frequenza reale, tenendo conto del doppio clock. Se si hanno delle RAM a 3000 MT/s, si può dire che vanno a 1500 MHz per ogni ciclo di clock, sia discesa che salita; proprio per questo si moltiplica (in questo caso) 1500 per 2 ottenendo i MT/s.
Se andiamo a vedere CPU-Z nella categoria “Memory” possiamo notare che ci dimostra la frequenza dimezzata e non quella reale.

Per ottenere quella reale ci basta moltiplicare quel determinato numero per 2, qui un esempio:

In questo caso dobbiamo fare 1799.6 (1800) x 2 = 3600 MT/s. CPU-Z mostra la frequenza dimezzata in MHz e non quella reale in MT/s per via del funzionamento delle RAM DDR.

 

#FREQUENZA E TIMING

La frequenza è considerata come indice della rapidità con cui la RAM lavora. Generalmente più è alta la frequenza è meglio è, perché la RAM sarà in grado di gestire i byte in entrata e in uscita dalle RAM in modo più veloce, ma la frequenza è un parametro che dipende anche dalle latenze (timing); tant’è che a volte è preferibile avere una frequenza più bassa con timing più bassi invece di una frequenza più alta con timing più alti.
Come abbiamo già detto prima, la frequenza nella maggior parti dei casi è espressa erroneamente in MHz.

La latenza (o timing), solitamente, specifica il numero di cicli di clock necessario ad eseguire un’operazione. Quindi, più bassi i valori di latenza, e meno tempo sarà necessario ad eseguire un’operazione.
In questo caso, più la latenza è bassa e meglio è (corrisponde a una velocità generale maggiore), ma dipende sempre di che “tipo” di latenza si parla, visto che ne esistono parecchi nelle RAM.
I più diffusi (o meglio, pubblicizzati) sono quelli che “compongono” il profilo XMP:

- Cas Latency Time (tCL): quando la RAM esegue un'operazione di lettura, il tCL rappresenta l'intervallo di tempo tra l'istante in cui il comando di lettura arriva a una determinata cella DRAM e quello in cui inizia il trasferimento dei dati; in questo caso l'indirizzo di colonna viene selezionato sempre per ultimo (tramite il segnale CAS), ed è per questo che si chiama “Cas Latency Time (tCL)”;

- RAS to CAS Delay Time (tRCD): la latenza del segnale CAS rispetto al segnale RAS; quindi il tempo che ci passa tra l'attivazione della riga e della colonna che identifica la cella DRAM in cui si vuole leggere o scrivere i dati;

- RAS Precharge Time (tRP): latenza tra il momento in cui un comando di selezione riga viene dato e il prossimo comando;

- Active-to-Precharge Delay (tRAS): latenza che riguarda i diversi procedimenti in cui può essere suddiviso il processo di accesso alla memoria. Il suo numero indica il numero minimo di cicli che intercorrono fra il comando "active" e "precharge". Questa latenza è la somma totale del tCL, tRCD e del tRP.

Fonte della foto

Rispondiamo a una domanda che viene fatta di frequente:

Meglio una frequenza più alta con una latenze più alta o una frequenza più bassa ma con latenze più bassa?

Si può calcolare l’effettiva velocità dei banchi con un calcolo ottenendola in nanosecondi (ns):
1000/Frequenza dimezzata*CL.

Dove con “Frequenza dimezzata” non si intende quella in MT/s ma in MHz (per esempio se abbiamo delle RAM da 3600 MT/s dobbiamo fare 3600/2 = 1800 MHz, quindi utilizzare 1800 in questa formula in questo caso) e “CL” è il primo timing. Facendo questo calcolo riusciamo ad ottenere la latenza complessiva delle RAM. Un esempio con delle RAM 3600 MT/s CL16 e 3200 MT/s CL16:

1000/1800*16 = 9.6 ns

1000/1600*16 = 10 ns

In generale, più è bassa la latenza in nanosecondi e meglio è.

 

#XMP E AMP

Quando mettiamo le RAM per la prima volta nel nostro PC, possiamo notare una cosa: se i kit che abbiamo acquistato hanno una frequenza maggiore di 2666 MT/s, senza attivare un determinato profilo di nome “XMP” (o “AMP”) pre impostato dall’azienda produttrice, potrebbero non andare a quella frequenza ma a 2666 MT/s. Questo perché le RAM devono rispettare degli standard di velocità stabiliti dal JEDEC (Joint Electron Device Engineering Council).

L’XMP è quindi, come detto già prima, un profilo creato dall’azienda che permette di fare un overclock automatico, tant’è che “XMP” sta per “Extreme Memory Profile”. L’XMP è una tecnologia studiata e creata da Intel, mentre AMD creò in seguito “AMP” che è la stessa cosa, ma è ormai in disuso. Alcuni produttori come Asus possono anche usare i termini DOCP o OCP, ma la solfa è la stessa.

Per attivare l’XMP/AMP bisogna farlo tramite il BIOS.

Guida: come attivare l’XMP su qualsiasi scheda madre

 

#RAM ECC E NON-ECC

Sicuramente un altro tipo di RAM molto diffuso in ambito server è quello ECC (Error Correction Code). Questo tipo di RAM ha degli algoritmi - appunto di tipo ECC - che servono 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. Per fare tutto ciò, le memorie di tipo ECC necessitano della presenza di chip ECC e di un’area di rank maggiore del solito: se un’area di rank è normalmente da 64 bit, le ECC ce l’hanno da 72 bit (quindi hanno sostanzialmente 8 bit in più). Solitamente il sistema operativo effettua un log degli errori per dare possibilità di analisi ai tecnici e le RAM da lì sono in grado di risolvere questi errori senza influire più di troppo sulle performance generali del sistema. Nel caso in cui l'errore persista e non sia possibile risolverlo è opportuno spegnere l’intero PC per sostituire il banco molto probabilmente guasto. Quindi, le memorie ECC sono utili per evitare eventuali schermate blu di errore o BSoD (Blue Screen Of Death) che equivalgono in genere ad un errore critico del sistema, sono presenti solo in ambito server e con il codice ECC di Hamming, quello più usato attualmente, 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. Le Memorie RAM non-ECC invece vengono solitamente utilizzate per le normali configurazioni di PC fissi e portatili. Le memorie di tipo ECC richiedono un processore che le supporti per poter funzionare. (Per esempio, Intel Xeon)

Fonte della foto

 

#SINGLE-CHANNEL E DUAL-CHANNEL

Prima di tutto c’è da specificare una cosa molto importante: non esistono né RAM single-channel e né RAM dual-channel, dual-channel e single-channel sono delle “modalità” in cui lavorano le RAM, quindi è sbagliato dire che X kit di RAM è single-channel o dual-channel. In questo caso andrebbe detto “X kit di RAM è in single-channel o dual-channel” o “X kit di RAM lavora in single-channel o dual-channel”.
I canali di comunicazione tra RAM e memory controller esistono a livello di piattaforma. Spetta alla scheda madre (e al memory controller della CPU o, nel caso di un sistema sensibilmente più vecchio, sempre alla scheda madre) di gestire le RAM con un tot. di canali, non alle RAM. Infatti non esistono RAM con chip “speciali” per essere single-channel o dual-channel ed è per questo che è sbagliato dirlo.

Qui una rappresentazione di comunicazione tramite il memory controller della CPU e la memoria RAM. Quello che vediamo nel mezzo sono i Bus che abbiamo spiegato all’inizio.

Fonte della foto

In questo articolo non andremo a parlare della configurazione quad-channel perché non è per niente diffusa in ambito consumer - per avere una piattaforma quad-channel serve una scheda madre con almeno otto slot di RAM e una CPU opportuna (se si va a vedere le CPU che supportano questa modalità sono tutte pensate per i server e hanno due memory controller da 128-bit - Intel Xeon e Skylake-X sono degli esempi) -. Ci basti sapere che il quad-channel ha un impatto sulle performance davvero maggiore rispetto a dual-channel e single-channel perché c’è un aumento della densità, arrivano a 64 gigabit.


Il concetto non è per niente difficile: per quello che riguarda la modalità single-channel, un singolo banco di RAM funziona su un singolo canale di dati a 64-bit, ciò significa che i dati vengono trasmessi su una singola pipe con una larghezza totale di 64-bit. Il canale funziona a tutti gli effetti tra il memory controller della CPU e la memoria RAM stessa.

Qui una rappresentazione del single-channel:

Fonte della foto

Nel caso del dual-channel i bit totali vengono raddoppiati ottenendo due canali da 64-bit e, quindi, ciò significa che abbiamo raddoppiato le tracce dati in esecuzione sul Bus di memoria e abbiamo in totale 128-bit di larghezza totale tra il memory controller e la memoria RAM. Nel caso del quad-channel abbiamo 256-bit di larghezza totale. Naturalmente, raddoppiando la larghezza totale tra il memory controller e la RAM si ottengono maggiori performance.

Qui una rappresentazione del dual-channel:

Fonte della foto

Al contrario dell’immagine single-channel, possiamo notare che tra i due canali c’è un leggere spazio.

In questo caso D0-D63 rappresenta il primo canale mentre D64-D127 rappresenta il secondo canale. I moduli possono elaborare 64 bit di dati in qualsiasi momento, quindi le piattaforme a doppio canale leggeranno e scriveranno su due moduli contemporaneamente (saturando il Bus a 128 bit).

Da qui in poi entreremo nell’hardware, in ciò che compone le RAM. È molto importante parlarne visto che nelle guide abbiamo sempre elencato dati tecnici e oggettivi dei banchi.

 

#FORMATO: DIMM, SO-DIMM, ECC.

Prima di capire da che cosa è composta la RAM e come ogni componente svolge il proprio lavoro, dobbiamo dire che le RAM possono avere diversi “formati” e che ognuno di questi si differenzia per la dimensione.

Per evitare di fare confusione, meglio elencarli:

- DIMM: la memoria che vediamo quotidianamente nei PC fissi. Questa si differenzia dalla SIMM in quanto dispone di prestazioni maggiori dovute ad un Bus di dati maggiore, 64-bit;

- SIMM: è un formato di RAM caratterizzato dall'avere tutti i moduli di memoria interconnessi con contatti di uscita condivisi, con l'eccezione del modulo di correzione errori (ECC) che presenta una serie di contatti aggiuntiva per il solo input/output. Queste furono sostituite dalla DIMM e non sono retrocompatibili. In questo caso, il Bus dati è di 32-bit e non 64, quindi le memorie DIMM rispetto a queste riescono a fornire il doppio delle performance. Normalmente sono leggermente più piccole delle DIMM;

- SO-DIMM: il formato SO-DIMM è molto diffuso nei computer a circuito integrato, i quali: portatili, mini-PC, router e stampanti di ufficio di fascia alta;

- UniDIMM: questo tipo di formato è disponibile in due versioni: una grande quanto le SO-DIMM e una più piccola;

- RDIMM: questo non è proprio un tipo di formato visto che le dimensioni sono identiche a quelle delle memorie DIMM, ma lo inseriamo perché capita di trovare RAM di questo tipo nel mercato. Semplicemente sono delle memorie DIMM con dei registri hardware che permettono di usare la tecnologia ECC. Ma attenzione, nonostante usino la tecnologia ECC non sono la stessa cosa delle memorie ECC, perché le memorie RDIMM hanno i registri hardware tra i chip DRAM e il memory controller, permettendo quindi di applicare un carico elettrico minore al memory controller e rendere il sistema il più stabile possibile.

Fonte della fotoFonte della foto

 

#HIGH E LOW PROFILE

Come suggerisce il nome stesso, le RAM high profile hanno un “profilo” fisico maggiore, ciò equivale al fatto che le RAM sono più alte avendo un dissipatore più grande fisicamente, portando a temperature minori. Inoltre, le RAM high profile sono molto diffuse nei banchi con un’elevata frequenza e che necessitano di tensioni più alte del solito (sia a stock e sia con l’XMP). Le RAM Low profile invece sono più basse, con un dissipatore meno grande e pensate per sistemi più compatti, dove il dissipatore è molto voluminoso

Fonte della foto

C’è da dire che il dissipatore impatta veramente tanto sulla temperatura quando si alza una tensione della dram da 1.6V in su. Al di sotto la differenza è pressoché irrilevante, i chip DRAM DDR4 non scaldano così tanto, con delle tensioni del genere (1.6V in giù) anche senza dissipatore le RAM se la cavano bene (dipende anche dal chip: come abbiamo già spiegato nell’articolo su come overcloccare le RAM su Ryzen con DRAM Calculator, alcuni chip riescono a sopportare delle tensioni più elevate rispetto ad altri con delle temperature nella norma).

 

#SINGLE SIDE E DUAL SIDE

Sotto la scocca di metallo (dissipatore) troviamo subito il PCB con sopra i chip DRAM. Come possiamo ben notare, i chip DRAM son sempre più di uno. I chip possono essere presenti su entrambe le facciate del PCB o solo su una. Le RAM Single Side hanno i chip DRAM disposti solo su una facciata del PCB, mentre le RAM Dual Side hanno i chip DRAM disposti su entrambe.

Qui un esempio di RAM Single Side con delle Crucial Ballistix:

 

#SINGLE RANK E DUAL RANK

Capita spesso di fare confusione tra Single Rank, Dual Rank e Single Side e Dual Side, perché i nomi sono molto simili, ma sono cose completamente diverse.

Se i termini “Single Side” e “Dual Side” c'entrano con la disposizione dei chip, i termini “Single Rank” e “Dual Rank” indicano invece la distribuzione dei dati nei vari chip DRAM.

Il termine "rank" è stato creato e definito dal JEDEC. Un rank di memoria è un'area di dati indipendente da 64-bit di un modulo di memoria raggiunta ramite chip montati ed interconnessi tra di loro.
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 un’area aggiuntiva ECC da 8-bit ottenendo un'ampiezza totale di 72-bit. Dei moduli con più rank consentono diverse pagine aperte per ogni rank (8 pagine per rank), ciò aumenta la possibilità di trovare un indirizzo di riga già aperto. Escludendo alcune limitazioni, ai rank ci si può accedere indipendentemente, anche se non contemporaneamente, poiché le righe di dati sono ancora condivise tra le posizioni di un canale. Ad esempio, il memory 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. Una volta che il Bus CA è privo di rumore della precedente lettura, il chip DRAM può disattivare i dati di lettura.
I moduli a più rank hanno un carico superiore sul Bus dati (e su DIMM non bufferizzati - non-RDIMM - e sul bus CA), quindi se più delle Dual Rank DIMM sono collegati in un canale, la velocità potrebbe essere ridotta (Quad Rank, ecc.).
Il guadagno di prestazioni che si può ottenere è fortemente dipendente dall'applicazione e dalla capacità del memory controller di sfruttare le pagine aperte, ma generalmente le memorie RAM Single Rank riescono ad avere un margine di overclock superiore rispetto alle Dual Rank.

Visto che parliamo di rank, ci teniamo a sfatare un mito che si è creato dopo il video di Gamers Nexus sul fatto che i Ryzen più recenti (5000, Zen 3); non è vero che i Ryzen 5000 vanno meglio con 4 banchi rispetto a 2 banchi. O meglio, può esserlo ma detto così non è del tutto corretto, poiché ciò che aumenta le performance è la possibilità di indirizzare i dati a due rank diversi per canale dal memory controller, ergo se un rank è impegnato - per esempio - in lettura, l’altro è impegnato per la scrittura, o viceversa. Ciò non significa che ti serve per forza avere 4 banchi di RAM (anche perché il memory controller con 4 banchi - parlando di CPU consumer - fatica di più) per avere maggiori performance, ma si può avere lo stesso risultato con due banchi, al netto che questi due banchi siano entrambi Dual Rank. Allo stesso tempo è sbagliato dire che questa cosa accade solamente con i Ryzen 5000, perché avviene anche con CPU meno recenti, per esempio Zen 2 (Ryzen 3000) o Skylake.

Qui una foto che mette in chiaro la differenza tra Single Rank Single Side, Single Rank Dual Side e Dual Rank Dual Side:

Fonte della foto

 

#Chip

Arriviamo sicuramente al punto più “importante” dell’articolo: i chip.
Come abbiamo già detto svariate volte, quando si parla di chip si parla automaticamente di binning, ovvero una lotteria del silicio.

Articolo: Cos'è il binning e come influenza le nostre CPU, GPU e RAM?

I chip (chiamati anche “IC” ovvero “Integrated Circuits” dall’inglese) sono dei circuiti integrati fatti di silicio e sono sicuramente una delle parti - se non la più importante - più importanti delle RAM, perché vanno ad archiviare i nostri dati sotto forma di bit caricati direttamente dalla CPU. Sono diversi i produttori e i modello di chip: i maggiori produttori di chip DRAM DDR4 sono Samsung, Micron, SK Hynix e Nanya, anche se quest’ultimo meno diffuso rispetto ai primi tre. I modelli sono davvero davvero tanti per qualsiasi produttore: solitamente hanno una lettera prima di “-die”, ma ci sono alcuni che gli hanno dato nomi completamente diversi, per esempio i C-die di SK Hynix sono in realtà chiamati “CJR”, gli A-die di Micron “rev.A”, ecc.

Conoscere il proprio chip al fine di farci overclock è abbastanza importante: seppure tutti quanti siano diversi data la lotteria al silicio, si può avere un’idea, visto che esistono chip rinomati lato overclock (per esempio i Samsung B-die) e altri che non lo sono (per esempio gli SK Hynix MFR). 

Ci sono diversi metodi per riconoscere il chip delle proprie RAM: per esempio, uno è usare Thaiphoon Burner, un software specializzato per questo; un altro è vedere un codice (o una versione nel caso di RAM Corsair) sul retro dei banchi, aprirle togliendo il dissipatore ma allo stesso tempo togliendo la garanzia, ecc., tutti questi metodi son validi, specialmente il secondo e il terzo poiché Thaiphoon Burner può sbagliare ed essere inaffidabile.

Fare una classifica dal migliore al peggiore chip ci risulta impossibile dato che ogni chip è diverso per il binning, ma vedendo le recensioni ci si può fare un’idea ancora più accurata sul binning dell’azienda. Per esempio, si sa che le Samsung B-die nelle G.Skill TridentZ Neo RGB solitamente sono di buona fattura con un buon margine di overclock, per cui se si volesse un Samsung B-die si potrebbe andare di RAM di quel tipo, soprattutto perché non avrebbe senso prendere delle Samsung B-die e lasciarle a stock (si avrebbe comunque maggiori performance nel caso il CL fosse più basso in confronto a RAM con chip diversi, ma come abbiamo già detto svariate volte, il CL non fa per forza la differenza). 

Insomma, abbiamo capito che ci si interessa principalmente del chip quando si vuole fare overclock, perché la differenza tra loro è proprio in quello.

I chip sono questi, in questo caso sono prodotti da Micron:

 

#PCB

Ovviamente per montare i chip serve una “base”, e questa “base” è il PCB. 

Il PCB (acronimo di ”Printed Circuit Board” tradotto in italiano come ”circuito stampato”) è l'unione di vari layer (strati) di materiale posti a più livelli, per questo viene anche chiamato “Multi-Layer PCB”. Un PCB presenta quindi un top layer e un bottom layer, ovvero uno strato superficiale superiore e uno strato superficiale inferiore, quelli che riusciamo a vedere solitamente; per esempio le piste che ci sono sulla scheda madre che si diramano all'interno del PCB vengono chiamate PCB Tracks.

Il PCB serve per collegare elettricamente diversi componenti attraverso delle piste conduttive, dei pad e altre caratteristiche.

Rappresentazione del PCB:

Il PCB è un altro componente che va ad impattare sull’overclock, e a volte nemmeno poco: dipende dalla qualità del materiale con cui è realizzato, il materiale delle piste, il numero di layer, e tanti altri fattori; per esempio più è alto il numero dei layer (I più comuni sono da 8, mentre quelli più “raffinati” da 10) e meglio è, e anche la qualità costruttiva in sé e i materiali usati: Per esempio delle tracce di piste, realizzate con un design piuttosto che un altro alterano la loro resistenza e la schermatura per evitare interferenze che fungono da ostacoli. Stessa cosa per il materiale con cui è realizzato, perché non sono tutti uguali, soprattutto dato il fatto che la circuiteria è ancora presente lì e non nei moduli DRAM a differenza delle DDR5.

Esistono diversi revisioni del PCB, ognuno indica aspetti diversi:

- A0: la revisione A0 sembra esser la prima revisione mai creata e indica i PCB Single Rank Single Side con velocità JEDEC di massimo 2133 MT/s. Viene riconosciuto perché ha 8 chip approssimativamente equidistanti su un lato con il chip SPD nel mezzo. Il PCB A0 viene usato anche nei kit di G.Skill non-RGB fino a 4266 MT/s (e anche di più nei kit fuori produzione e non recenti). Questa revisione di PCB è la migliore su banchi di RAM con Samsung B-die estremi, per esempio quelli 4000-4133 12-12-12 or 12-11-11. È la migliore non come qualità in sé ma come compatibilità con schede madri con 2 slot. Molto spesso si fa confusione chiamandolo “A1”, quanto in realtà non lo è;

- A1: la revisione A1 è progettata per velocità JEDEC fino a 2400 MT7s ed è condivisa con il PCB ECC D1. Ciò significa che sui moduli non-ECC c’è una mancanza del pad per il nono chip. Questo è normale e fa parte nella progettazione, non significa che il PCB venga utilizzato in modo improprio. La compatibilità è un po' sconosciuta in quanto i fornitori popolari non usano molto questo PCB, ma è stato testato svariate volte con chip Samsung E-die da 4Gb, dei kit OEM e alcune Crucial Ballistix, ed è in grado di supportare almeno 4266 MT/s CL19;

- A2: la revisione A2, nota anche come "PCB RGB" poiché G.Skill lo utilizza sui propri kit RGB e sui kit più recenti non-RGB maggiori 4266 MT/s, è l'ultima revisione del PCB standard Single Rank, ed è destinata a velocità JEDEC fino a 2666 MT/s. Solitamente è un PCB molto buono, tristemente noto per i problemi di compatibilità con le schede madri con socket 1151 con due slot, in particolare la serie ASUS APEX, su cui richiede un CL di 19 o superiore per una frequenza di almeno 3866 MT/s. Va sottolineato che i problemi con tempi stretti sul PCB A2 riguardano la compatibilità e non la qualità: su schede madri con socket 1151 e quattro slot funziona benissimo.
A2 è identificabile avendo tutti i circuiti integrati stampati in due “gruppi”, uno su ciascun lato del PCB. Il divario tra i “gruppi” è molto, grande circa quanto la larghezza di un “gruppo”;

- B0, B1, B2: queste revisioni esistono per la frequenza JEDEC minore o uguale a 2133, 2400 0 2666 MT/s. B0 è la versione Dual Rank di A0, B1 la versione Dual Rank di A2 e B2 la versione Dual Rank di A3;

- C0: la revisione C0 è poca diffusa ed è progettata per la frequenza JEDEC minore o uguale di 2400 MT/s;

- F0: la revisione F0 è un PCB progettato da Avant Technology per JEDEC con velocità fino a 2666 MT/s con un numero di chip totali di 16 in Dual Rank. È un PCB a Dual Side ed è stato visto testando un kit Corsair "ver4.14", ovvero con chip Samsung D-die da 4Gb (256 Mx16).

 

#… E LE DRR5?

La nuova generazione delle RAM DDR a quanto pare sta per sbarcare nel mercato e si pensa che arriveranno verso il Q3 del 2021 (luglio, agosto e settembre). Seguendo i leak hanno delle performance nettamente superiori rispetto alle DDR4 - visto l’incremento della frequenza ma anche della latenza - e sembra che arriveranno da Zen 4 e Intel Alder Lake (12th). L'incremento prestazionale per la larghezza di banda è stato ottenuto grazie ad una nuova struttura, che prevede due canali per ogni DIMM e un aumento del numero di bank group. Abbiamo quindi due canali indipendenti in grado di trasmettere per singolo modulo 40 bit totali, di cui 32 bit per il ottimo flusso dati e 8 bit per l'ECC (Error Correcting Code), con in totale 32 banchi (4 per gruppo) di memoria totali 8 bank group. La cosa sicura è che saranno più efficienti e avranno un consumo inferiore, visto che la tensione operativa da 1.2V diventa 1.1V, con un processo produttivo dei chip da 10nm (per Samsung) e una densità attuale di 16Gb.

Teoricamente si avrà la possibilità di comprare e usare questi banchi di RAM da ottobre del 2021 per Intel e metà/fine del 2022 per AMD (date in cui verranno rilasciati gli Intel Core 12th e i Ryzen 7000).

Fonte della foto