Durante il funzionamento, i computer memorizzano i dati attivi in chip RAM (Random Access Memory). I chip RAM sono inseriti nella scheda madre di un computer e collegati al processore del computer tramite il bus frontale. Forniscono ciò che è essenzialmente un’autostrada diretta per lo scambio di variabili e dati di programma. Il controller di memoria è un chip che si trova tipicamente sul northbridge della scheda madre. Gestisce le operazioni di lettura e scrittura con la memoria di sistema, oltre a mantenere attiva la RAM fornendo corrente elettrica alla memoria.
La RAM è generalmente una soluzione più veloce rispetto ad altri tipi di archiviazione come dischi rigidi e dischi ottici. Tuttavia, uno degli svantaggi della RAM è che deve essere alimentata con un flusso di potenza costante per funzionare. Non appena l’afflusso di energia si interrompe, le informazioni memorizzate nei chip RAM vengono perse. Il controller di memoria soddisfa questa esigenza “aggiornando” la RAM a una velocità costante mentre il computer è acceso.
Durante un “refresh”, il controller di memoria invia un impulso di corrente elettronica attraverso i chip RAM. La quantità di corrente inviata tramite la RAM viene selezionata tramite il BIOS (Binary Input Output System) del computer. Ciò si verifica almeno ogni 64 millisecondi, mantenendo la RAM attiva e i dati archiviati al sicuro contro la perdita dovuta a interruzioni di corrente. Senza il controller di memoria, i tuoi dati andrebbero persi in frazioni di secondo.
Il controller di memoria gestisce anche le operazioni di lettura e scrittura sui chip RAM. Agisce per selezionare il circuito demultiplatore appropriato per l’archiviazione e il recupero dei dati. Pensa alla memoria sui chip RAM come le case e al circuito del demultiplexer come un indirizzo stradale; al fine di “inviare” informazioni a una casa specifica o per recuperare informazioni da quella casa, il computer deve sapere quale indirizzo utilizzare. Il controller di memoria funge da intermediario in queste operazioni, assicurando che le informazioni corrette vengano recuperate dalle posizioni corrette.
In alcuni tipi di memoria vengono utilizzati controller di memoria a doppio canale. Su questi due controller di memoria lavorano in tandem. Sono posizionati su due “bus” separati, detti anche canali, consentendo l’esecuzione simultanea di più operazioni di lettura e scrittura. Il vantaggio è che, in teoria, la larghezza di banda totale del bus è raddoppiata. Tuttavia, in pratica, altre considerazioni di sistema come la velocità del bus e le capacità dei processori limitano tipicamente la misura in cui può essere utilizzata la larghezza di banda massima teorica.