RAM sta per Random Access Memory e in italiano si indica anche con l’espressione “memoria ad accesso casuale”. Nello specifico si tratta di un supporto di memoria che viene utilizzato nei sistemi come memoria volatile, quindi temporanea. È anche conosciuta come memoria principale perché è responsabile dell’esecuzione dei programmi comprensivi dei dati utente presenti. I contenuti volatili della memoria principale sono infatti salvati come codice binario, quindi sono composti da 0 e 1, cosicché il computer riesca ad elaborarli. Un bit rappresenta un singolo punto all’interno del codice. Vi sono diverse cause, che provocano errori di bit tramite i quali viene modificato un punto della memoria, come
- abbassamenti di tensione,
- overclocking,
- moduli di memoria difettosi o vecchi
- zioni energetiche.
In questo caso un bit assume un valore errato, quindi “1” al posto di “0” o viceversa. In molte applicazioni difficilmente si notano gli effetti, infatti se si verifica un errore di bit, lavorando con un programma di elaborazione di immagini, un pixel riceve probabilmente un altro colore, ma l’occhio umano non percepisce alcuna differenza. Molto diversa appare invece la situazione nei database o nei programmi di calcolo, dove un singolo errore di bit comporta delle gravi conseguenze. Inoltre, un errore di bit può portare a crash di sistema, se si verifica in una parte della memoria che viene utilizzata dal sistema operativo.
Una soluzione facile al problema si chiama Error Correcting Code (ECC): si tratta di un codice di dati, che possiede la facoltà di riconoscere e correggere i singoli errori di bit. In aggiunta si possono individuare con questo sistema anche i molto rari errori di 2 bit. Per trarre vantaggio da questo procedimento di correzione degli errori, i soliti moduli della RAM vengono ampliati da un chip di memoria ECC e per questo si parla anche di RAM con ECC.