Crash di sistema inaspettati, quasi sempre è colpa della memoria

Crash di sistema inaspettati, quasi sempre è colpa della memoria

Gli errori della memoria DRAM sono un evento con una bassa incidenza su un singolo PC, ma in un datacenter con migliaia di macchine possono rappresentare un grave problema di affidabilità

di pubblicato il nel canale Memorie
 

DRAM ed errori

Una singola cella di memoria in un moderno chip DRAM è fisicamente costituita da un condensatore e da un transistor. Caricare o scaricare il condensatore equivale a conservare/registrare un bit di informazione che potrà avere valore di 0 o di 1. A differenza della RAM statica, che mantiene i dati intatti fintanto che viene alimentata, la memoria DRAM perde l'informazione perché la carica elettrica usata per registrare i bit nelle celle di memoria si dissipa lentamente.

La memoria DRAM si avvale quindi di una circuiteria di aggiornamento che per svariate volte al secondo si occupa di aggiornare, appunto, lo stato di carica di ciascune di queste celle di memoria. Sebbene l'inclusione di una circuiteria di aggiornamento vada a rendere più complessa la costruzione dei moduli di memoria, il vantaggio delle DRAM è che i condensatori per le celle di memoria possono essere realizzati in piccole dimensioni, e grazie a questo è possibile incrementare la densità di informazione: più condensatori equivale a più bit stoccabili su singolo chip.


Schema di funzionamento di una semplice memoria DRAM.

Un errore di memoria DRAM si verifica quando uno o più bit scritti in un modo vengono letti in un altro modo. La maggior parte dei computer destinati all'utente finale non offre alcun tipo di protezione contro questi problemi. I sistemi server fanno invece uso di memoria DRAM di tipo ECC, acronimo che indica Error-Correcting Code. Il meccanismo di base prevede la conservazione di più bit di quelli necessari a registrare l'informazione così che il chip abbia la possibilità di individuare e correggere gli errori, a meno che ovviamente non siano stati modificati contemporaneamente più bit di quelli supportati dalle tecniche di ECC. In tal caso, dinnanzi ad un errore particolarmente grave che non può essere rettificato, il crash della macchina è dietro l'angolo.

Gli errori che interessano la memoria DRAM possono essere di norma divisi in due categorie: soft error e hard error. I primi si verificano quando il dispositivo è perfettamente funzionante dal punto di vista fisico ma una qualche forma di interferenza temporanea (come i raggi cosmici precedentemente citati) compromette i dati stoccati al suo interno. Gli hard error accadono invece quando vi sono problemi fisici sul dispositivo, come ad esempio un singolo bit (una singola cella) permanentemente bloccato su un valore, 0 o 1.

 
^