ECC mälu, tuntud ka kui veaparanduskoodi mälu, suudab tuvastada ja parandada andmetes vigu. Seda kasutatakse tavaliselt tipptasemel lauaarvutites, serverites ja tööjaamades, et suurendada süsteemi stabiilsust ja ohutust.
Mälu on elektrooniline seade ja selle töö käigus võib esineda vigu. Kõrgete stabiilsusnõuetega kasutajate jaoks võivad mäluvead põhjustada kriitilisi probleeme. Mäluvead võib jagada kahte tüüpi: rasked vead ja pehmed vead. Rasked vead on põhjustatud riistvara kahjustustest või defektidest ning andmed on pidevalt valed. Neid vigu ei saa parandada. Teisest küljest tekivad pehmed vead juhuslikult selliste tegurite tõttu nagu elektroonsed häired mälu läheduses ja neid saab parandada.
Pehme mälu vigade tuvastamiseks ja parandamiseks võeti kasutusele mälu "paarsuskontrolli" mõiste. Väikseim mäluühik on bit, mida tähistab kas 1 või 0. Kaheksa järjestikust bitti moodustavad ühe baidi. Ilma paarsuskontrollita mälus on ainult 8 bitti baidi kohta ja kui mõni bit salvestab vale väärtuse, võib see põhjustada vigaseid andmeid ja rakenduse tõrkeid. Pariteedikontroll lisab igale baidile lisabiti veakontrolli bitina. Pärast andmete salvestamist baididesse on kaheksal bitil fikseeritud muster. Näiteks kui bitid salvestavad andmeid kujul 1, 1, 1, 0, 0, 1, 0, 1, on nende bittide summa paaritu (1+1+1+0+0+1+0+1=5 ). Paarsuse korral on paarsuse bitt defineeritud kui 1; muidu on see 0. Kui CPU loeb salvestatud andmeid, liidab ta esimesed 8 bitti ja võrdleb tulemust paarsusbitiga. See protsess võib tuvastada mäluvigu, kuid paarsuskontroll ei saa neid parandada. Lisaks ei suuda paarsuskontroll tuvastada topeltbiti vigu, kuigi kahebitiste vigade tõenäosus on väike.
ECC (Error Checking and Correcting) mälu seevastu salvestab andmebittide kõrval krüptitud koodi. Andmete mällu kirjutamisel salvestatakse vastav ECC kood. Salvestatud andmete tagasilugemisel võrreldakse salvestatud ECC koodi äsja genereeritud ECC koodiga. Kui need ei ühti, koodid dekodeeritakse, et tuvastada andmetes vale bitt. Seejärel visatakse vigane bitt kõrvale ja mälukontroller väljastab õiged andmed. Parandatud andmed kirjutatakse harva mällu tagasi. Kui samu vigaseid andmeid loetakse uuesti, korratakse parandusprotsessi. Andmete ümberkirjutamine võib tekitada lisakulusid, mis toob kaasa märgatava jõudluse languse. ECC-mälu on aga serverite ja sarnaste rakenduste jaoks ülioluline, kuna see pakub veaparandusvõimalusi. ECC-mälu on oma lisafunktsioonide tõttu tavamälust kallim.
ECC-mälu kasutamine võib süsteemi jõudlust oluliselt mõjutada. Kuigi see võib üldist jõudlust vähendada, on veaparandus kriitiliste rakenduste ja serverite jaoks hädavajalik. Seetõttu on ECC-mälu levinud valik keskkondades, kus andmete terviklikkus ja süsteemi stabiilsus on ülimalt tähtsad.
Postitusaeg: 19. juuli 2023