Co to jest pamięć EOS?
Pamięć EOS (błąd korygujący kodowanie wbudowanych pojedynczych modułów pamięci) jest rodzajem modułu pamięci RAM, który zawiera wbudowane urządzenie sprawdzające błędy. To trochę tak, jakby mieć inny mały procesor umieszczony na układach pamięci RAM, którego jedynym odpowiedzialnym zadaniem jest zapewnienie integralności danych przenoszonych do iz pamięci RAM komputera. Pamięć EOS działa poprzez obliczanie sumy kontrolnej dla każdego bitu danych w pamięci. Porównanie znanej ważnej sumy kontrolnej z sumą kontrolną, gdy dane opuszczają pamięć EOS, pozwala modułom pamięci na sprawdzenie, czy dane zostały uszkodzone.
Centralnym punktem do zrozumienia działania pamięci EOS jest suma kontrolna. Suma kontrolna jest siedmiobitowa - dla 32-bitowych ścieżek danych - lub ośmiobitowa - dla 64-bitowych ścieżek danych - sekwencja sprawdzania poprawności, generowana przez pamięć EOS, gdy dane są odbierane po raz pierwszy w pamięci. Jest generowany na podstawie sekwencji binarnej w bajtach danych, tworząc unikalną sekwencję znaków reprezentujących ten konkretny kawałek danych.
Tak długo, jak dane znajdują się w pamięci EOS, wartość sumy kontrolnej jest przechowywana obok niej. Pamięć EOS utrzymuje ją tam, dopóki dane nie zostaną wywołane przez program lub system operacyjny. W tym momencie odtwarza sumę kontrolną na podstawie przechowywanych informacji, porównując ją ze znaną prawidłową sumą kontrolną. Jeśli te dwie wartości są zgodne, moduł pamięci wie, że dane nie zostały uszkodzone podczas przechowywania. Ale jeśli nie, moduł pamięci wie, że coś się stało z danymi.
Jeśli dane w module pamięci zostały uszkodzone - innymi słowy, jeśli sumy kontrolne nie są już zgodne - moduł pamięci może podjąć próbę samodzielnej korekty danych. Pamięć EOS jest w stanie korygować błędy nie więcej niż jeden bit na słowo. Chociaż może wykryć błędy większe niż jeden bit, nie może ich samodzielnie skorygować; w takim przypadku zwykle generowany jest komunikat o błędzie, informujący, że dane są uszkodzone, i ostrzegający użytkownika komputera o możliwym problemie ze sprzętem lub oprogramowaniem w systemie.
Podstawowym minusem korzystania z tego typu pamięci jest to, że przechowywanie wartości sumy kontrolnej wymaga nieco dodatkowego obciążenia w module pamięci. Oznacza to, że podczas przechowywania na przykład jednego megabajta danych w pamięci RAM komputer faktycznie przechowuje jeden megabajt plus wartość sumy kontrolnej. Chociaż w większości przypadków ma to minimalny wpływ, oznacza to, że z każdym nowym bitem danych - i każdą nową zapisaną sumą kontrolną - ilość dostępnej pamięci RAM jest powoli kanibalizowana przez mechanizm sprawdzania błędów.