Неки РАМ, или меморија са случајним приступом, рекламирају се као ЕЦЦ меморија. ЕЦЦ је скраћеница од Еррор Цоррецтинг Цоде и представља процес идентификације и исправљања грешака у меморији. Грешке у РАМ меморији могу узроковати оштећење или промену података, што може довести до пада уређаја, па чак и сигурносних пропуста. ЕЦЦ РАМ обично није компатибилан са рачунарским хардвером за потрошаче.
Шта су грешке у меморији?
Грешке у меморији су проблем где се мења вредност сачувана у меморији. Подаци у РАМ меморији се чувају у бинарном облику, са вредностима од 1 или 0. Ако се вредност 1 пребаци на 0 или обрнуто, у процесу који се зове „пребацивање битова“, подаци који су ускладиштени у РАМ-у се мењају.
На пример, промењени бит би се могао користити за чување вредности у табели. У овом случају, вредност у табели би се могла променити у потпуно другачији број што би утицало на резултат за било које прорачуне, на пример, мењање економских прогноза предузећа. У другим случајевима, промењени бит би могао да онемогући безбедносну функцију или да створи грешку у куцању која мења начин на који се програм покреће. Ова два примера је изузетно тешко открити и решити без употребе ЕЦЦ меморије. У екстремном сценарију, окретање једног бита може изазвати катастрофалну грешку која узрокује пад система.
Превртање битова има много потенцијалних узрока, а најчешћи узрок је резултат позадинског зрачења, првенствено узрокованог неутронима створеним догађајима космичких зрака. Космички зраци су честице високе енергије, обично протон, које путују скоро брзином светлости. Емитују их звездана тела, укључујући Сунце и друге астрономске објекте високе енергије. Када космички зраци ударе у атом, ствара се пљусак неутрона и других субатомских честица, ови неутрони затим имају секундарне интеракције.
Верује се да су ове секундарне неутронске интеракције примарни извор грешака при окретању битова. Космички зраци су чешћи на већим висинама са повећањем од 3,5 пута на 1,5 км надморске висине и повећањем од 300 пута на висини крстарења авиона. Овај повећани ризик на висини захтева додатне мере поузданости.
Колико су честе грешке у меморији?
Већина људи не види да им се рачунари кваре сваки дан, па би било лако помислити да је то првенствено теоретски ризик. Истраживања из центара података хиперскале су коришћена за анализу стопе инцидената са окретањем битова. Истраживање које је спровео Гоогле у својим центрима података показало је стопу грешке од отприлике 1 једнобитне грешке по гигабајту РАМ-а сваких 1,8 сати.
Насина мисија Цассини-Хуигенс која је покренута 1997. за путовање на Сатурн била је конфигурисана са два идентична рачунара за летење сваки са 2,5 Гб РАМ-а. Током прве две и по године свог путовања, летелица је приметила доследних 280 једнобитних грешака дневно. Током једног дана, када је Касини-Хајгенс био на путу сунчеве бакље, примећено је четвороструко повећање грешака битова, што је пружило додатне доказе да је Сунце узрок већине проблема са окретањем битова.
Постојала је забринутост да ће континуирано повећање густине РАМ модула довести до тога да касније верзије РАМ-а буду све рањивије на окретање битова. Новије студије су показале да је у ствари супротан случај, пошто су се грешке смањиле како се геометрија процеса смањила.
Како ЕЦЦ меморија штити од грешака?
ЕЦЦ меморија користи кодове за исправљање грешака, као што су Хамингови кодови, да исправи једнобитне грешке у РАМ-у. Двоструке грешке се могу открити, али не и исправити. Хемингови кодови за исправљање грешака функционишу коришћењем низа битова парности. Заједно, ови битови парности се могу користити за откривање да ли су се битови података променили. Ако се утврди да је бит преокренут, аутоматски се враћа назад.
Савет: Једнобитна грешка је инцидент са окретањем бита када се окрене само један бит. У дупло-битним грешкама, два бита се окрећу. Два бита не морају да се окрећу у истом инциденту, друго преокрет бита треба да се деси само пре него што се исправи први преокренути бит.
У Хамингове кодове за исправљање грешака укључен је један бит парности више него што је потребно. Овај додатни бит парности даје коду могућност да открије појаву дуплих битних грешака, међутим, ове грешке се не могу исправити.
Процес откривања и исправљања грешака врши се на меморијском контролеру на РАМ стицку.
Доступност и подршка потрошачима
Већина рачунарског хардвера потрошачког квалитета не подржава ЕЦЦ меморију. Ово је делимично као метод вештачког разликовања хардвера сервера од хардвера потрошача. ЕЦЦ РАМ, међутим, кошта више и ради нешто спорије. Поред тога, додатна стабилност коју би пружила кућним потрошачима је минимална јер грешке при окретању битова нису примарни узрок пада система.
Ниједан од Интелових потрошачких процесора и ЦПУ-а за ентузијасте не подржава ЕЦЦ меморију, већ само његови процесори серверског нивоа, као што су процесори Ксеон серије. АМД-ови ЦПУ-ови за потрошаче не подржавају ЕЦЦ, међутим, њихове радне станице и процесори за сервере, Тхреадриппер и ЕПИЦ, респективно, подржавају ЕЦЦ меморију.