Negli oscuri tempi in cui ogni modulo RAM aveva un PCB verde e nessun dissipatore, potreste aver notato che sulle etichette di quei moduli c’erano informazioni extra del tipo “1Rx8, 2Rx8, 1Rx4” e via discorrendo. Tale informazone è nel tempo scomparsa dai kit orientati ai consumatori (e non al lato server) grazie a memory controller di qualità superiore che supportavano un range supoeriore di configurazioni RAM. Purtroppo, con Ryzen, quelli che vorranno utilizzare 4 moduli di memoria dovranno “fare i compiti”.
Ciò è spiegabile facilmente grazie a questa tabella:
Channels | Rank memorie | Numero di moduli | Frequenza |
Dual | Dual | 4 | 1866 MHz |
Dual | Single | 4 | 2133 MHz |
Dual | Dual | 2 | 2400 MHz |
Dual | Single | 2 | 2666 MHz |
Il punto chiave qui è il RANK, che è un modo semplice di indicare quanti chip di memoria sono raggruppati insieme per formare un’interfaccia da 64 bit su un modulo di memoria. Raggiungere un bus da 64 bit è importante perché i moderni processori mainstream hanno due (o quattro, nel caso della piattaforma X79 e X99) bus di memoria da 64 bit, meglio noti anche come dual channels, un canale per ogni gruppo di due slot.
Al momento, la configurazione rank più comune è formata da 8 chip di memoria (ognuno connesso tramite 8 bit) collegati insieme in un rank, e tipicamente (ma non sempre) posizionati su un solo sato del PCB di un modulo. Ma cosa fare se serve creare moduli dalla capacità superiore quando si hanno solo chip di memoria a 8 bit? Bisogna separare i chip di memoria in due gruppi/rank, ognuno dei quali è largo 64 bit e che richiede un accesso asincrono (ovvero, non si può accedere contemporaneamente a tutti i ranks). In questo modo, avete creato un modulo di memoria dual rank.
Per i consumers, il rank è un termine che crea a volte confusione, specialmente quando un modulo è etichettato come 1Rx8 o 2Rx8. Il numero prima di R indica il numero di rank – single, dual o addirittura quad – e il numero dopo la x indica l’ampiezza del bus che collega ogni chip, che può essere x4, x8 o x16. Per i nostri scopi, possiamo tranquillamente escludere sia i quad rank che l’ampiezza x4 visto che sono elementi che troviamo solo su memorie registered ECC indirizzate ad ambienti server o workstation. Inoltre, possiamo anche escludere i chip x16, visto che è praticamente impossibile trovare produttori noti che li utilizzino.
Quindi essenzialmente, un modulo di memoria con un’etichetta riportante 1Rx8 ha un single rank e usa 8 chip di memoria x8, laddove uno con 2Rx8 sull’etichetta è dual rank e usa comunque chip di memoria da 8 bit. Lo svantaggio di utilizzare moduli dal rank superiore è che le CPU moderne hanno memory controllers che possono gestire un numero massimo di rank.
Aumentare il numero di rank che necessitano di essere gestiti aumenta di conseguenza il carico sul memory controller e di conseguenza diminuisce la frequenza a cui riesce a gestirle… e questo è quel che vediamo nella tabella qui sopra. Chiaramente, Ryzen ha un memory controller più debole rispetto a quello che troviamo nei processori Intel Kaby Lake. Come paragone, tali CPU Intel supportano nativamente quattro moduli dual rank ad una frequenza DDR4-2400, e visto che Intel è estremamente conservativa sul fronte delle memorie, può in realtà gestire tali moduli a velocità fino a 3600 MHz. Forse anche AMD vuole avere un approccio conservativo, ma stando a quanto riportato nell’ultimo mese, c’è una vera e propria silicon lottery riguardo ai memory controller di Ryzen 7, con la maggior parte dei processori che ha difficoltà a gestire kit dual rank con frequenze superiori a 2400 / 2666 MHz.
Come si evitano kit di memorie dual rank? Be, innanzitutto, molti produttori di memorie sta lanciando kit specifici per AMD. Tuttavia, ci sono anche altri modi per determinare se abbiamo memorie single rank o dual rank, e tale informazione è accessibile a chiunque abbia memorie DDR4.
Una cosa che si può fare è aprire AIDA64, espandere la sezione “Scheda Madre” e cliccare su SPD:
Come vedete, il nostro kit (da notare, lo screenshot è stato catturato su piattaforma X99, per questo trovate 4 canali, A1 – B1 – C1 – D1) presenta moduli dual rank da 8 GB, e infatti, nei nostri test, non siamo riusciti ad andare oltre i 2666 MHz, visto che abbiamo utilizzato due moduli da 8 GB in configurazione dual rank/dual channel.
Un altro modo è semplicemente interpretare i ranks come “sides”. Sebbene i due termini non siano collegati da un punto di vista teorico, in realtà essi quasi coincidono. Dando un’occhiata a questa memory support list (.PDF) di una qualsiasi scheda madre Gigabyte Z270, potete notare che la quasi totalità di kit single rank è anche single side. Ci sono ovviamente eccezioni, ma sono rare e perlopiù trovate in kit OEM, insomma, nei kit col PCB verde venduti a pochi soldi.
Dal punto di vista del consumatore, non c’è motivo di acquistare moduli dual rank, a meno che non si necessiti di moduli da 16GB; in tal caso, non avrete altre opzioni. Qualcuno potrebbe dire che qualche volta i moduli dual rank sono in qualche modo più veloci (bandwidth leggermente superiore grazie ad interconnessioni migliori, al prezzo di latenze superiori), ma il fatto che essi siano più difficili da trovare e che possano fare da collo di bottiglia in OC li rende un’opzione poco attraente.
Ciò lascia purtroppo chi compra Ryzen nella sfortunata situazione di dover andare “a tentativi” durante l’assemblaggio del proprio sistema. Per andare sul sicuro, vi consigliamo kit da 16GB dual channel fino ad un massimo di 2666 MHz o da 32 GB dual channel che non eccedano una frequenza di 2400 MHz. Memorie a velocità superiori possono (e lo faranno) causare problemi di boot.