Indice dei contenuti
Una delle domande che mi vengono rivolte spesso da amici, colleghi e conoscenti quando si parla di memoria RAM (Random-Access Memory) è volta a comprendere il significato delle varie "sigle" che corredano le descrizioni dei vari banchi che si trovano in commercio presso rivenditori come Amazon, ePrice etc., molte delle quali possono influenzare notevolmente il costo del prodotto: mi riferisco ai vari ECC, buffered, CL, e via dicendo. In questo articolo proverò a far luce sul significato delle sigle più comuni, cercando di indicare l'utilizzo maggiormente indicato per ciascuna di esse.
ECC vs NON-ECC
La sigla ECC è l'acronimo di Error Correcting Code: le memorie dotate di questa sigla integrano dei meccanismi che si occupano di rintracciare eventuali errori contenuti nell'informazione memorizzata e di correggere automaticamente l'errore riscontrato: questa correzione automatica, che avviene all'istante e senza quindi influire con le performance delle applicazioni eventualmente in esecuzione, è resa possibile dalla registrazione di informazioni aggiuntive all'interno della memoria stessa: tali informazioni vengono memorizzate in bit addizionali (solitamente 8 bit per ogni quadword di 64-bit) presenti all'interno della memoria stessa.
Il codice ECC più utilizzato nei banchi di memoria attualmente in commercio è il Codice di Hamming, che consente di correggere errori su di un singolo bit per quadword (64 bit) e di rilevare errori doppi. La presenza di questa tecnologia, unita al maggior numero di integrati presenti (di norma 1 ogni 8, come detto sopra) rende queste memorie più costose e leggermente più lente delle loro controparti non-ECC.
Le caratteristiche delle memorie ECC rendono questa tipologia di memoria particolarmente indicata per server, workstation e qualsivoglia sistema dove l'affidabilità costituisca un elemento estremamente importante anche a seguito di un utilizzo prolungato e continuativo. Le loro caratteristiche negative (costo maggiore, performance inferiori) le rendono invece non necessarie per postazioni client e in particolare per sistemi che necessitano di raggiungere elevate prestazioni (es. gaming). E' inoltre importante considerare che le RAM di tipo ECC non sono a tutt'oggi supportate dalla maggior parte delle motherboard in commercio per sistemi desktop: per questo motivo, prima di effettuare l'acquisto, è fondamentale controllare le specifiche tecniche della propria scheda madre (motherboard) per assicurarsi che la tipologia scelta sia effettivamente compatibile con il proprio sistema.
Buffered vs Unbuffered
Le memorie di tipo buffered, dette anche registered o reg, prevedono l'impiego di particolari registri di uscita - anche detti buffer - tra il modulo DRAM e il controller di memoria: questi buffer svolgono principalmente due funzioni: garantire la ripetizione del segnale a massima potenza e assicurare la corretta e continuativa ricezione da parte del chipset. La presenza del buffer garantisce la massima pulizia del segnale e riduce notevolmente la possibilità di errori di trasferimento tra RAM e chipset.
In linea di massima, si può quindi sostenere che le memorie dotate di questa tecnologia siano più robuste e sicure delle loro controparti unbuffered. Inutile dire che sono ovviamente anche più costose. Per questo motivo, similmente a quanto avviene per le ECC, si tratta di prodotti che hanno senso soprattutto all'interno di sistemi che devono garantire un elevato livello di affidabilità anche in situazioni di utilizzo sostenuto e prolungato, ovvero server e workstation. Non è del resto un caso che, nella maggior parte dei casi, la RAM buffered disponga anche delle funzionalità di verifica e controllo errori (ECC): i moduli ECC unbuffered in commercio sono prodotti soprattutto per essere impiegati all'interno di server a basso costo.
Nelle sigle utilizzate per descrivere le memorie RAM di tipo dual in-line (DIMM), le memorie buffered / reg vengono solitamente chiamate RDIMM, mentre quelle unbuffered / unreg vengono definite UDIMM.
CAS Latency (CL)
La sigla CAS è l’abbreviazione di Column Address Strobe. Per comprendere il senso di questo parametro, è utile immaginare alla memoria RAM come a una sorta di matrice, un foglio di calcolo le cui celle ospitano spazi di memoria anziché testi, numeri e formule. Ciascuna cella, come avviene in un foglio di calcolo, ha un indirizzo dato da un numero di riga e un numero di colonna: il CAS rappresenta il numero di colonna, mentre il numero di riga è rappresentato dal RAS (Row Address Strobe).
La CAS Latency è un indice che misura il tempo di ritardo che intercorre tra il momento in cui il controller richiede l'accesso a una particolare colonna interna a un modulo RAM e il momento in cui i dati ivi contenuti vengono resi disponibili: possiamo quindi dire, sintetizzando, che si tratta del "ritardo di risposta" della RAM a seguito di ciascuna interrogazione ricevuta dal sistema. In generale si può affermare che a un CAS Latency più basso corrispondano prestazioni migliori... a parità di data rate della DRAM stessa: è infatti del tutto ovvio che una RAM con frequenza maggiore completerà un maggior numero di cicli nella stessa unità di tempo di una RAM con frequenza minore, rendendo quindi la CAS Latency del singolo ciclo un valore irrilevante per determinarne le prestazioni effettive. Per questo motivo è molto importante confrontare i valori di CL solo a parità di frequenza (clock), che rappresenta l'indicatore primario della velocità di trasmissione della RAM.
XMP, AMP, DOCP, EOCP
In aggiunta a sigle generali come ECC, Reg e CAS/CL, che descrivono caratteristiche comuni a tutte le memorie RAM in commercio, esistono una serie di sigle specifiche, ovvero utilizzate dai produttori di hardware (RAM, motherboard, etc.) per descrivere alcune caratteristiche relative alle modalità di installazione, configurazione e funzionamento del modulo. Queste sigle, se presenti nelle descrizioni dei moduli RAM, indicano il supporto di queste particolari modalità di configurazione.
- XMP sta per Extreme Memory Profile, uno standard sviluppato da Intel che permette ai produttori DRAM di inserire dati nell'SPD (serial presence detect) della memoria: XMP consente la configurazione con un click di data rate non standard, timing e livelli di tensione. In poche parole, consente alla motherboard di effettuare l'overclock della RAM in modo automatico.
- AMP, acronimo per AMD Memory Profile, è la risposta di AMD all'XMP di Intel ed anch'essa una sigla che individua il supporto di funzionalità di overclock automatico della RAM su piattaforme in tecnologia AMD.
- DOCP (DRAM Overclock Profiles) e EOCP (Extended Overclock Profile) indicano, rispettivamente, l'implementazione di XMP da parte di Asus e Gigabyte, che consente di risolvere alcuni problemi di incompatibilità di XMP su hardware AMD.
Conclusione
Per il momento è tutto: spero che questa breve panoramica possa chiarire il significato di alcune delle principali sigle presenti nei testi delle descrizioni dei banchi di memoria RAM. Se volete segnalarne altre e/o aggiungerne altre all'elenco sentitevi liberi di fare la vostra richiesta utilizzando la sezione commenti in fondo a questo articolo. Alla prossima!