ECC memorija, također poznata kao memorija koda za ispravljanje pogrešaka, ima sposobnost otkrivanja i ispravljanja pogrešaka u podacima. Obično se koristi u vrhunskim stolnim računalima, poslužiteljima i radnim stanicama za poboljšanje stabilnosti i sigurnosti sustava.
Memorija je elektronički uređaj i tijekom njezina rada mogu se pojaviti pogreške. Za korisnike s visokim zahtjevima za stabilnost, pogreške u memoriji mogu dovesti do kritičnih problema. Pogreške u memoriji mogu se klasificirati u dvije vrste: teške pogreške i meke pogreške. Teške pogreške uzrokovane su oštećenjem hardvera ili nedostacima, a podaci su stalno netočni. Ove greške se ne mogu ispraviti. S druge strane, meke pogreške pojavljuju se nasumično zbog čimbenika poput elektroničkih smetnji u blizini memorije i mogu se ispraviti.
Kako bi se otkrile i ispravile pogreške meke memorije, uveden je koncept "provjere pariteta" memorije. Najmanja jedinica u memoriji je bit, predstavljen s 1 ili 0. Osam uzastopnih bitova čini bajt. Memorija bez provjere pariteta ima samo 8 bitova po bajtu, a ako bilo koji bit pohranjuje netočnu vrijednost, to može dovesti do pogrešnih podataka i kvarova aplikacije. Provjera pariteta dodaje dodatni bit svakom bajtu kao bit za provjeru pogrešaka. Nakon pohranjivanja podataka u bajtu, osam bitova ima fiksni uzorak. Na primjer, ako bitovi pohranjuju podatke kao 1, 1, 1, 0, 0, 1, 0, 1, zbroj ovih bitova je neparan (1+1+1+0+0+1+0+1=5 ). Za parni paritet, bit pariteta je definiran kao 1; inače je 0. Kada CPU čita pohranjene podatke, zbraja prvih 8 bitova i uspoređuje rezultat s paritetnim bitom. Ovaj proces može otkriti pogreške u memoriji, ali ih provjera parnosti ne može ispraviti. Osim toga, provjera pariteta ne može otkriti dvobitne pogreške, iako je vjerojatnost dvobitnih pogrešaka mala.
ECC (Error Checking and Correcting) memorija, s druge strane, pohranjuje šifrirani kod uz bitove podataka. Kada se podaci zapisuju u memoriju, pohranjuje se odgovarajući ECC kod. Prilikom ponovnog čitanja pohranjenih podataka, spremljeni ECC kod se uspoređuje s novogeneriranim ECC kodom. Ako se ne podudaraju, kodovi se dekodiraju kako bi se identificirao netočan bit u podacima. Pogrešni bit se zatim odbacuje, a memorijski kontroler oslobađa točne podatke. Ispravljeni podaci rijetko se zapisuju natrag u memoriju. Ako se ponovno očitaju isti pogrešni podaci, postupak ispravljanja se ponavlja. Ponovno pisanje podataka može dovesti do dodatnog opterećenja, što dovodi do značajnog smanjenja performansi. Međutim, ECC memorija ključna je za poslužitelje i slične aplikacije jer pruža mogućnosti ispravljanja pogrešaka. ECC memorija je skuplja od obične memorije zbog svojih dodatnih značajki.
Korištenje ECC memorije može imati značajan utjecaj na performanse sustava. Iako može smanjiti ukupnu izvedbu, ispravljanje pogrešaka bitno je za kritične aplikacije i poslužitelje. Kao rezultat toga, ECC memorija je čest izbor u okruženjima gdje su integritet podataka i stabilnost sustava najvažniji.
Vrijeme objave: 19. srpnja 2023