Jest sobie urządzenie działające pod kontrolą systemu Linuks uruchamiane z karty CF. Co jakiś czas urządzenie przestaje działać, bo CF wygląda na uszkodzony. Rozwiązanie problemu niby jest łatwe - wystarczy nagrać obraz na nowy flash, ale nawet mając na uwadze ograniczenia żywotności tego typu pamięci, coś tu nie gra.
Zagadka: CompactFlash
Po zbadaniu kilku kolejnych zrzutów tego CF (obraz stworzony przez dd) okazuje się, że po prostu w losowych miejscach na karcie (a co za tym idzie - w plikach) pojawiają się przekłamania w danych. Zwykle modyfikowany jest jeden bit w bajcie. Awaria następuje wtedy, gdy ten bit powoduje przekłamanie w jakimś istotnym pliku (na przykład w pliku konfiguracyjnym). Co prawda karta nie jest używana w trybie read only, ale miejsca, gdzie występują błędy w żaden sposób nie są związane z tym, czy dany plik jest, czy nie jest modyfikowany.
Być może po prostu problemem jest wadliwa partia pamięci. W związku z tym prowadzę pewien eksperyment:
- nadpisałem CF losowymi wartościami,
- wyliczyłem sumy md5 oraz sha1,
- położyłem kartę w pobliżu komputerów (może jakieś pole elektromagnetyczne działa źle na te karty),
Planuję okresowo weryfikować zawartość (sumy kontrolne) tej karty, by sprawdzić, czy widoczne będą jakieś zmiany.
...a całość przypomina mi stary test 1500 podpisów.