Pomnilnik EOS (Error correcting code-On-Single in-line memory modules memory) je vrsta računalniškega pomnilniškega modula z naključnim dostopom (RAM), ki vsebuje vgrajeno napravo za preverjanje napak. To je podobno, kot bi imel še en majhen procesor, nameščen na samih čipih RAM, katerega edina odgovorna naloga je zagotavljanje celovitosti podatkov, ki se premikajo v in iz pomnilnika RAM računalnika. Pomnilnik EOS deluje tako, da izračuna kontrolno vsoto za vsak bit podatkov v pomnilniku. Primerjava znane veljavne kontrolne vsote s kontrolno vsoto, ko podatki zapuščajo pomnilnik EOS, omogoča pomnilniškim modulom, da vedo, ali so bili podatki poškodovani.
Osrednja točka za razumevanje delovanja pomnilnika EOS je kontrolna vsota. Kontrolna vsota je bodisi sedem-bitno — za 32-bitne podatkovne poti — ali osem-bitno — za 64-bitne podatkovne poti — zaporedje preverjanja, ki ga ustvari pomnilnik EOS, ko so podatki prvič prejeti v pomnilnik. Ustvarjen je na podlagi binarnega zaporedja v bajtih podatkov, pri čemer se ustvari edinstveno zaporedje znakov, ki predstavlja ta določen del podatkov.
Dokler so podatki v pomnilniku EOS, je vrednost kontrolne vsote shranjena poleg nje. Pomnilnik EOS ga zadrži tam, dokler program ali operacijski sistem ne zahteva podatkov. Na tej točki ponovno ustvari kontrolno vsoto na podlagi shranjenih informacij in jo primerja z znano veljavno kontrolno vsoto. Če se obe vrednosti ujemata, pomnilniški modul ve, da podatki med shranjevanjem niso bili poškodovani. Če pa ne, pomnilniški modul ve, da se je s podatki nekaj zgodilo.
Če so bili podatki v pomnilniškem modulu poškodovani – z drugimi besedami, če se kontrolne vsote ne ujemajo več – lahko pomnilniški modul poskuša podatke popraviti sam. Pomnilnik EOS je sposoben samopopravljati napake, ki ne presegajo enega bita na besedo. Čeprav lahko zazna napake, večje od enega bita, jih ne more popraviti sam; v tem primeru se običajno ustvari sporočilo o napaki, ki navaja, da so podatki poškodovani, in opozori uporabnika računalnika na morebitno težavo s strojno ali programsko opremo v sistemu.
Glavna pomanjkljivost uporabe te vrste pomnilnika je, da shranjevanje vrednosti kontrolne vsote zahteva malo dodatnih stroškov v pomnilniškem modulu. To pomeni, da pri shranjevanju, na primer, enega megabajta podatkov v RAM, računalnik dejansko shrani en megabajt plus vrednost kontrolne vsote. Čeprav ima to v večini okoliščin minimalen vpliv, pomeni, da z vsakim novim bitom podatkov – in vsako novo shranjeno kontrolno vsoto – mehanizem za preverjanje napak počasi uniči količino razpoložljivega RAM-a.