ECC-minne, også kjent som Error-Correcting Code-minne, har evnen til å oppdage og korrigere feil i data. Det brukes ofte i avanserte stasjonære datamaskiner, servere og arbeidsstasjoner for å forbedre systemets stabilitet og sikkerhet.
Minne er en elektronisk enhet, og det kan oppstå feil under driften. For brukere med høye stabilitetskrav kan minnefeil føre til kritiske problemer. Minnefeil kan deles inn i to typer: harde feil og myke feil. Harde feil er forårsaket av maskinvareskade eller defekter, og dataene er konsekvent feil. Disse feilene kan ikke rettes. På den annen side oppstår myke feil tilfeldig på grunn av faktorer som elektronisk interferens nær minnet og kan korrigeres.
For å oppdage og korrigere myke minnefeil, ble konseptet minne "paritetssjekk" introdusert. Den minste enheten i minnet er en bit, representert med enten 1 eller 0. Åtte påfølgende biter utgjør en byte. Minne uten paritetskontroll har bare 8 bits per byte, og hvis en bit lagrer en feil verdi, kan det føre til feilaktige data og applikasjonsfeil. Paritetssjekk legger til en ekstra bit til hver byte som en feilkontrollbit. Etter å ha lagret data i en byte, har de åtte bitene et fast mønster. For eksempel, hvis bitene lagrer data som 1, 1, 1, 0, 0, 1, 0, 1, er summen av disse bitene odde (1+1+1+0+0+1+0+1=5 ). For jevn paritet er paritetsbiten definert som 1; ellers er den 0. Når CPU leser de lagrede dataene, legger den sammen de første 8 bitene og sammenligner resultatet med paritetsbiten. Denne prosessen kan oppdage minnefeil, men paritetssjekk kan ikke rette dem. I tillegg kan ikke paritetssjekk oppdage dobbelbitfeil, selv om sannsynligheten for dobbelbitfeil er lav.
ECC-minne (Error Checking and Correcting) lagrer derimot en kryptert kode ved siden av databitene. Når data skrives inn i minnet, lagres den tilsvarende ECC-koden. Ved tilbakelesing av lagrede data sammenlignes den lagrede ECC-koden med den nylig genererte ECC-koden. Hvis de ikke stemmer overens, dekodes kodene for å identifisere feil bit i dataene. Den feilaktige biten blir deretter forkastet, og minnekontrolleren frigir de riktige dataene. Korrigerte data blir sjelden skrevet tilbake til minnet. Hvis de samme feildataene leses på nytt, gjentas korrigeringsprosessen. Omskriving av data kan introdusere overhead, noe som fører til en merkbar ytelsesreduksjon. ECC-minne er imidlertid avgjørende for servere og lignende applikasjoner, siden det gir feilrettingsmuligheter. ECC-minne er dyrere enn vanlig minne på grunn av tilleggsfunksjonene.
Bruk av ECC-minne kan ha en betydelig innvirkning på systemytelsen. Selv om det kan redusere den generelle ytelsen, er feilretting avgjørende for kritiske applikasjoner og servere. Som et resultat er ECC-minne et vanlig valg i miljøer der dataintegritet og systemstabilitet er avgjørende.
Innleggstid: 19. juli-2023