Паметта 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 г