Hva er EOS-minne?
EOS-minne (Feil i korrigering av kode-på-enkelt inline-minnemodulenes minne) er en type RAM-minne (RAMM) datamaskinminne-modul som inneholder en innebygd feilkontrollenhet. Dette er litt som å ha en annen liten prosessor plassert på selve RAM-brikkene, som bare på en ansvarlig måte er å sikre integriteten til dataene som flyttes til og fra datamaskinens RAM-minne. EOS-minne fungerer ved å beregne et sjekksum for hver bit av data i minnet. Når du sammenligner det kjente gyldige sjekksummet med sjekksummen når data forlater EOS-minnet, kan minnemodulene vite om data er ødelagt.
Brennpunktet for å forstå hvordan EOS-minnet fungerer er kontrollsummen. Kontrollsummen er enten en syv-bit - for 32-bit databaner - eller en åtte-bit - for 64-bits databaner - valideringssekvens, generert av EOS-minnet når data først mottas i minnet. Den genereres basert på den binære sekvensen i bytes av dataene, og skaper en unik sekvens med tegn som representerer det bestemte stykke data.
Så lenge dataene ligger i EOS-minnet, lagres kontrollsumverdien ved siden av. EOS-minnet holder det der til dataene blir bedt om av et program eller operativsystem. På det tidspunktet regenererer det kontrollsummen basert på den lagrede informasjonen og sammenligner den med den kjente gyldige kontrollsummen. Hvis de to verdiene samsvarer, vet minnemodulen at dataene ikke er blitt ødelagt under lagring. Men hvis de ikke gjør det, vet minnemodulen at noe har skjedd med dataene.
Hvis dataene i minnemodulen er ødelagt - med andre ord, hvis sjekkesumene ikke lenger samsvarer med, kan minnemodulen forsøke å rette dataene på egen hånd. EOS-minnet kan selvkorrigere feil på ikke mer enn en bit per ord. Selv om den kan oppdage feil som er større enn en enkelt bit, kan den ikke rette opp på egen hånd; i så fall genereres det vanligvis en feilmelding som sier at dataene er korrupte og varsler datamaskinens bruker om et mulig problem med maskinvare eller programvare i systemet.
Den primære ulempen med å bruke denne typen minne er at lagring av kontrollsumverdi krever litt ekstra overhead i minnemodulen. Dette betyr at når du for eksempel lagrer en megabyte med data i RAM, lagrer datamaskinen faktisk en megabyte pluss kontrollsumverdien. Selv om dette har en minimal innvirkning i de fleste tilfeller, betyr det at med hver nye bit av data - og hvert nytt sjekksum lagret - så blir mengden tilgjengelig RAM sakte kannibalisert av feilkontrollmekanismen.