Felkontroll

Inledning
Det finns två typer av felkontroll som används: Paritetskontroll och ECC. I vanliga persondatorer används dock vanligtvis ingen felkontroll eftersom minnen idag är av så hög kvalité att det inte behövs. I vissa sammanhang kan det dock vara extra viktigt att informationen blir korrekt överförd och då kan det fortfarande användas. Till exempel använda ECC gärna i servrar där prestandakraven är mycket höga.

Paritetskontroll
Det finns två typer av paritetskontroll, jämn och udda paritet, men båda fungerar på samma sätt. Varje byte som sparas får en paritetsbit, vilket innebär att minneskort som har paritetskontroll består av 9 kretsar. Paritetsbiten beror på antalet 1:or i byten, eller rättare sagt huruvida det är ett jämnt eller ojämnt antal 1:or.

Jämn paritet
Om byten består av ett jämnt antal 1:or blir paritetsbiten 0, och om det är ett udda antal 1:or blir paritetsbiten 1. //exempel// //byte: 11010100 paritetsbit: 0//

Udda paritet
Om byten består av ett jämnt antal 1:or blir paritetsbiten 0 och om det är ett udda antal 1:or blir paritetsbiten 1. //exempel// //byte: 01011010 paritetsbit: 1//

Nackdelen med paritetskontroll är att den inte är hundraprocentig. Två fel i en byte kan "ta ut" varandra och göra att datorn inte upptäcker felet. Dessutom vet datorn inte vilken byte som är fel, och skulle även om den visste inte kunna rätta till felet.

ECC
ECC(Error Correction Code) kan till skillnad från paritetskontrollen hitta fel och rätta till dessa men bara fel som består av en bit. Genom en matematiskt algoritm sparar ECC en egen bit tillsammans med databitarna som den sedan vid läsning av minnet använder för att kontrollera att dessa överensstämmer. Om en bit är fel rättas detta till automatiskt men är flera fel rapporterar ECC det som ett paritetsfel.

Nackdelen med ECC är att minnen som hanterar ECC utvecklas speciellt och kräver av datorn att den har en minneskontrollenhet som kan hantera detta minne.