title: Error-correcting code
text: # Error-correcting code
  
  Le RAM con ECC (acronimo di Error Correction Code) hanno dei sistemi utili a rintracciare eventuali errori contenuti nell'informazione memorizzata e dei meccanismi capaci di correggere l'errore riscontrato. Questo è possibile registrando informazioni aggiuntive che rendono queste memorie più costose e poco più lente delle rispettive RAM non dotate di ECC.
  
  Gli eventuali bit che presentano errori vengono individuati e corretti all'istante senza influire con le applicazioni in esecuzione; generalmente il sistema operativo effettua un log degli errori per dare possibilità di analisi ai tecnici. Nel caso in cui l'errore persista e non sia possibile risolverlo è opportuno pianificare lo spegnimento della macchina per sostituire il banco probabilmente guasto. Il meccanismo di ricerca e riparazione dell'errore è conosciuto come EEC (acronimo di Extended Error Correction).
  
  Questo genere di memorie vengono solitamente utilizzate in ambito server.
  
  Il codice ECC di Hamming, quello più frequentemente usato, permette di correggere errori su di un singolo bit per quadword (64 bit) e di rilevare errori doppi. Solitamente in una memoria RAM con ECC ogni quadword (64 bit) è dotata di 8 bit addizionali di ECC.
  
  I primi personal computer fino ai primi anni novanta usavano memorie con bit di parità (rilevazione errori singoli, ma senza correzione)
  
  Un buon sistema operativo può bypassare pagine con errori temporanei (soft error) o permanenti (hard error) marcandole come inutilizzabili.
  
  