ECC меморијата, позната и како меморија на код за корекција на грешки, има способност да открива и коригира грешки во податоците. Најчесто се користи во десктоп компјутери, сервери и работни станици со висока класа за да се подобри стабилноста и безбедноста на системот.
Меморијата е електронски уред и може да се појават грешки при неговото работење. За корисници со високи барања за стабилност, грешките во меморијата може да доведат до критични проблеми. Грешките во меморијата може да се класифицираат во два вида: тешки грешки и меки грешки. Тешките грешки се предизвикани од оштетување или дефекти на хардверот, а податоците се постојано неточни. Овие грешки не можат да се поправат. Од друга страна, меките грешки се случуваат случајно поради фактори како електронските пречки во близина на меморијата и може да се коригираат.
За откривање и поправање на грешките во меката меморија, беше воведен концептот на „проверка на паритет“ на меморијата. Најмалата единица во меморијата е бит, претставена со 1 или 0. Осум последователни бита сочинуваат бајт. Меморијата без проверка на паритет има само 8 бита по бајт, и ако некој бит складира погрешна вредност, може да доведе до погрешни податоци и неуспеси на апликацијата. Проверката на паритет додава дополнителен бит на секој бајт како бит за проверка на грешки. По зачувувањето на податоците во бајт, осумте бита имаат фиксна шема. На пример, ако битовите ги складираат податоците како 1, 1, 1, 0, 0, 1, 0, 1, збирот на овие битови е непарен (1+1+1+0+0+1+0+1=5 ). За парен паритет, битот за паритет е дефиниран како 1; инаку, тоа е 0. Кога процесорот ги чита зачуваните податоци, ги собира првите 8 бита и го споредува резултатот со битот за паритет. Овој процес може да открие грешки во меморијата, но проверката на паритет не може да ги исправи. Дополнително, проверката на паритет не може да открие двобитни грешки, иако веројатноста за двобитни грешки е мала.
Меморијата ECC (Проверка и корекција на грешки), од друга страна, складира шифриран код заедно со податочните битови. Кога податоците се запишуваат во меморијата, се зачувува соодветниот ECC код. При читање на зачуваните податоци, зачуваниот ECC код се споредува со новогенерираниот ECC код. Ако не се совпаѓаат, шифрите се дешифрираат за да се идентификува неточниот бит во податоците. Погрешниот бит потоа се отфрла и меморискиот контролер ги ослободува точните податоци. Поправените податоци ретко се запишуваат назад во меморијата. Доколку истите погрешни податоци се читаат повторно, процесот на корекција се повторува. Повторното запишување на податоците може да доведе до забележливо намалување на перформансите. Сепак, ECC меморијата е од клучно значење за серверите и сличните апликации, бидејќи обезбедува можности за корекција на грешки. ECC меморијата е поскапа од обичната меморија поради нејзините дополнителни функции.
Користењето на ECC меморија може да има значително влијание врз перформансите на системот. Иако може да ги намали вкупните перформанси, корекција на грешки е од суштинско значење за критичните апликации и сервери. Како резултат на тоа, ECC меморијата е вообичаен избор во средини каде што интегритетот на податоците и стабилноста на системот се најважни.
Време на објавување: 19 јули 2023 година