Cosa è una memoria ECC?
Per i server di aziende e centri elaborazione dati è fondamentale ridurre al minimo il margine di errore nei dati: è proprio questo l'obiettivo delle memorie ECC (Error Correcting Code, codice a correzione di errore).
ECC è un metodo per individuare e poi correggere gli errori di un singolo bit della memoria. Un errore di un singolo bit della memoria rappresenta un errore nei dati di output o di produzione del server. La presenza di tali errori può avere un notevole impatto nelle prestazioni del server.
Due sono i tipi di errori di un singolo bit della memoria: hard error e soft error. Gli hard error sono causati da fattori fisici, come variazioni eccessive di temperatura, sbalzi di tensione o sollecitazioni fisiche sui bit della memoria.
I soft error si verificano quando i dati vengono scritti o letti in modo diverso rispetto a quanto previsto in origine, come in caso di variazione del voltaggio nella scheda madre, raggi cosmici o radioattività che possono far commutare un bit nella memoria. Poiché i bit trattengono il valore programmato sotto forma di carica elettrica, tale tipo di interferenza è in grado di alterare la carica del bit della memoria, causando così un errore. Nei server ci sono diversi punti in cui possono verificarsi errori: nell'unità di archiviazione, nel core del CPU, attraverso una connessione di rete e in vari tipi di memoria.
Nelle stazioni di lavoro e nei server in cui errori, corruzione dei dati e/o disfunzione del sistema devono essere evitati a ogni costo, come nel settore finanziario, le memorie ECC sono spesso le più selezionate.
Ecco come funzionano le memorie ECC. Durante l'elaborazione, i dati vengono ricevuti e trasmessi attraverso i bit, vale a dire la più piccola unità di dati in un computer, espressi in codice binario utilizzando le cifre uno o zero.
Quando i bit vengono raggruppati creano un codice binario, o "parole", vale a dire unità di dati indirizzate e spostate tra memoria e CPU. Ad esempio, un codice binario a 8 bit è 10110001.
Nelle memorie ECC è presente un ulteriore bit ECC, noto come bit di parità. Questo ulteriore bit di parità rende il codice binario come segue: 101100010, dove l'ultimo zero è il bit di parità ed è usato per identificare gli errori di memoria. Se la somma di tutte le cifre 1 in una linea di codice è un numero pari (escluso il bit di parità), allora la linea di codice si chiama parità pari. I codici privi di errore hanno sempre una parità pari. Tuttavia, la parità ha due limiti: è in grado di individuare solo numeri dispari di errore (1, 3, 5, ecc.) e lascia passare i numeri pari di errore (2, 4, 6, ecc.). La parità non è, dunque, in grado di correggere gli errori, ma solo di individuarli. Proprio qui entrano in gioco le memorie ECC.
Le memorie ECC utilizzano i bit di parità per archiviare un codice cifrato durante la scrittura di dati su una memoria e, allo stesso tempo, il codice ECC viene archiviato. Durante la lettura dei dati, il codice ECC archiviato viene confrontato con il codice ECC generato quando i dati sono stati letti. Se il codice letto non corrisponde al codice archiviato, i bit di parità lo decifrano per determinare quale bit era sbagliato, quindi si passa alla correzione immediata di tale bit. Le tabelle di sindrome rappresentano un sistema matematico per identificare questi errori di bit e poi correggerli.
Durante l'elaborazione dei dati, la memoria ECC esegue costantemente la scansione del codice attraverso un algoritmo speciale, al fine di individuare e correggere gli errori di un singolo bit della memoria.
In settori di cruciale importanza, come quello finanziario, le memorie ECC possono fare la differenza. Basti pensare a quando si modificano le informazioni private del conto di un cliente e poi si scambiano questi dati con altri istituti finanziari. Quando si inviano questi dati, ad esempio, può capitare che una cifra binaria venga commutata a causa di una qualsiasi interferenza elettrica.
Il codice binario che l'altro istituto finanziario riceve potrebbe essere 100100011, comunicando così informazioni diverse rispetto a quelle originarie: questo è un errore. La terza cifra è stata commutata da 1 a 0 a causa dell'interferenza elettrica. Pertanto, la somma dei primi otto bit ora è 3, che non rappresenta una parità pari. Ciò significa che i dati privati inviati rischiano di essere corrotti (o sussiste il pericolo di un crash di sistema). Tuttavia, con l'installazione di una memoria ECC, quest'ultima sarà in grado di individuare l'errore e correggerlo riportando la terza cifra binaria a 1 (il codice originario).
Individuando e correggendo gli errori di un singolo bit, la memoria ECC per server contribuisce a mantenere integri i dati, a evitare la corruzione degli stessi e a impedire crash e disfunzioni del sistema.
Si consiglia di utilizzare la memoria ECC Crucial per server e stazioni di lavoro di fondamentale importanza.