Co je paměť EOS?
Paměť EOS (paměť pro korekci chyb kódů typu On-Single in-line) je typ paměťového modulu paměti RAM (Random Access Memory), který obsahuje vestavěné zařízení pro kontrolu chyb. Je to trochu jako mít na malých čipech RAM umístěny další malé procesory, jejichž jedinou odpovědností je zajištění integrity dat pohybujících se do paměti RAM počítače. Paměť EOS funguje výpočtem kontrolního součtu pro každý bit dat v paměti. Porovnání známého platného kontrolního součtu s kontrolním součtem při opuštění dat z paměti EOS umožňuje paměťovým modulům zjistit, zda byla data poškozena.
Ústředním bodem pro pochopení fungování paměti EOS je kontrolní součet. Kontrolní součet je buď sedmibitový - pro 32bitové datové cesty - nebo osmibitový - pro 64bitové datové cesty - ověřovací sekvence generovaná pamětí EOS, když jsou data poprvé přijata do paměti. Generuje se na základě binární sekvence v bajtech dat a vytváří jedinečnou sekvenci znaků, která reprezentuje konkrétní část dat.
Dokud jsou data uložena v paměti EOS, je spolu s ní uložena i hodnota kontrolního součtu. Paměť EOS ji tam drží, dokud si data nevyžádá program nebo operační systém. V tomto okamžiku regeneruje kontrolní součet na základě uložených informací a porovnává je se známým platným kontrolním součtem. Pokud se obě hodnoty shodují, paměťový modul ví, že data nebyla během skladování poškozena. Pokud tomu tak ale není, paměťový modul ví, že s daty se něco stalo.
Pokud byla data v paměťovém modulu poškozena - jinými slovy, pokud se kontrolní součty již neshodují - paměťový modul se může pokusit opravit data sám. Paměť EOS je schopna samoopravit chyby ne více než jeden bit na slovo. Přestože dokáže detekovat chyby větší než jeden bit, nemůže je sama opravit; v takovém případě se obvykle vygeneruje chybová zpráva, která uvádí, že data jsou poškozená, a upozorňují uživatele počítače na možný problém s hardwarem nebo softwarem v systému.
Primární nevýhodou použití tohoto typu paměti je to, že uložení hodnoty kontrolního součtu vyžaduje trochu další režie v paměťovém modulu. To znamená, že při ukládání například jednoho megabajtu dat do paměti RAM počítač skutečně ukládá jeden megabajt plus hodnotu kontrolního součtu. Ačkoli to má ve většině případů minimální dopad, to znamená, že s každým novým bitem dat - a každým novým uloženým kontrolním součtem - je množství dostupné RAM pomalu mechanismem kontroly chyb kanibalizováno.