ECC-hukommelse, også kendt som Error-Correcting Code-hukommelse, har evnen til at opdage og rette fejl i data. Det bruges almindeligvis i avancerede stationære computere, servere og arbejdsstationer for at forbedre systemets stabilitet og sikkerhed.
Hukommelse er en elektronisk enhed, og der kan opstå fejl under driften. For brugere med høje stabilitetskrav kan hukommelsesfejl føre til kritiske problemer. Hukommelsesfejl kan klassificeres i to typer: hårde fejl og bløde fejl. Hårde fejl er forårsaget af hardwareskade eller defekter, og dataene er konsekvent forkerte. Disse fejl kan ikke rettes. På den anden side opstår bløde fejl tilfældigt på grund af faktorer som elektronisk interferens nær hukommelsen og kan korrigeres.
For at opdage og korrigere bløde hukommelsesfejl blev begrebet hukommelses "paritetstjek" introduceret. Den mindste enhed i hukommelsen er en bit, repræsenteret ved enten 1 eller 0. Otte på hinanden følgende bit udgør en byte. Hukommelse uden paritetskontrol har kun 8 bits pr. byte, og hvis en bit gemmer en forkert værdi, kan det føre til fejlagtige data og applikationsfejl. Paritetskontrol tilføjer en ekstra bit til hver byte som en fejlkontrolbit. Efter lagring af data i en byte har de otte bit et fast mønster. For eksempel, hvis bits gemmer data som 1, 1, 1, 0, 0, 1, 0, 1, er summen af disse bit ulige (1+1+1+0+0+1+0+1=5 ). For lige paritet er paritetsbitten defineret som 1; ellers er den 0. Når CPU'en læser de lagrede data, lægger den de første 8 bit sammen og sammenligner resultatet med paritetsbitten. Denne proces kan registrere hukommelsesfejl, men paritetskontrol kan ikke rette dem. Derudover kan paritetskontrol ikke detektere dobbeltbitfejl, selvom sandsynligheden for dobbeltbitfejl er lav.
ECC-hukommelse (Error Checking and Correcting) lagrer på den anden side en krypteret kode ved siden af databittene. Når data skrives ind i hukommelsen, gemmes den tilsvarende ECC-kode. Ved tilbagelæsning af de lagrede data sammenlignes den gemte ECC-kode med den nyligt genererede ECC-kode. Hvis de ikke stemmer overens, afkodes koderne for at identificere den forkerte bit i dataene. Den fejlagtige bit kasseres derefter, og hukommelsescontrolleren frigiver de korrekte data. Korrigerede data skrives sjældent tilbage i hukommelsen. Hvis de samme fejlagtige data læses igen, gentages korrektionsprocessen. Genskrivning af data kan introducere overhead, hvilket fører til et mærkbart fald i ydeevnen. ECC-hukommelse er dog afgørende for servere og lignende applikationer, da det giver fejlkorrektionsmuligheder. ECC-hukommelse er dyrere end almindelig hukommelse på grund af dens ekstra funktioner.
Brug af ECC-hukommelse kan have en betydelig indvirkning på systemets ydeevne. Selvom det kan reducere den samlede ydeevne, er fejlkorrektion afgørende for kritiske applikationer og servere. Som følge heraf er ECC-hukommelse et almindeligt valg i miljøer, hvor dataintegritet og systemstabilitet er altafgørende.
Indlægstid: 19-jul-2023