W sieci jest wiele informacji na temat SMART i wartości atrybutów. Jednak nie spotkałem się z wzmiankami o kilku ważnych kwestiach, które znam od osób zajmujących się badaniem nośników danych.
Kiedy kolejny raz opowiadałem znajomemu, dlaczego nie należy bezgranicznie wierzyć w odczyty SMART i dlaczego lepiej nie korzystać z klasycznych „monitorów SMART” na stałe, wpadłem na pomysł, aby zapisać powiedzione słowa w formie zestawu tez z wyjaśnieniami. Żeby móc podawać odsyłacze, zamiast za każdym razem powtarzać. I dla zapoznania się szerokiej publiczności.
1) Programami do automatycznego monitorowania atrybutów SMART należy posługiwać się z dużą ostrożnością.
To, co znasz jako atrybuty SMART, nie jest przechowywane w gotowej formie, lecz generowane w momencie, gdy je żądasz. Obliczane są na podstawie wewnętrznej statystyki zbieranej i wykorzystywanej przez mikroprogram nośnika podczas pracy.
Część tych danych urządzenie nie potrzebuje do zapewnienia podstawowej funkcjonalności. Nie są one przechowywane, lecz formułowane za każdym razem, gdy są potrzebne. Dlatego, gdy następuje zapytanie o atrybuty SMART, mikroprogram uruchamia wiele procesów, które są potrzebne do uzyskania brakujących danych.
Jednak te procesy są źle kompatybilne z procedurami wykonywanymi podczas obciążenia nośnika operacjami odczytu-zapisu.
W idealnym świecie, nie powinno to prowadzić do żadnych problemów. Lecz w rzeczywistości, oprogramowanie układowe dysków twardych piszą zwykli ludzie. Którzy mogą się mylić i się mylą. Dlatego, jeśli żądasz atrybutów SMART podczas aktywnego wykonywania operacji odczytu-zapisu przez urządzenie, znacznie wzrasta prawdopodobieństwo, że coś pójdzie nie tak. Na przykład, dane w użytkowym buforze odczytu lub zapisu mogą ulec uszkodzeniu.
Stwierdzenie o wzroście ryzyka to nie teoretyczne wnioski, a praktyczne obserwacje. Na przykład znany jest błąd, który wystąpił w oprogramowaniu układowym HDD Samsung 103UI, gdzie w trakcie wykonywania zapytania o atrybuty SMART uszkadzane były dane użytkowników.
Dlatego nie ustawiaj automatycznego sprawdzania atrybutów SMART. Chyba że dokładnie wiesz, że wcześniej została wydana komenda resetowania pamięci podręcznej (Flush Cache). Lub, jeśli nie da się tego uniknąć, ustalaj przeprowadzanie sprawdzania maksymalnie rzadko. W wielu programach monitorujących domyślny czas między sprawdzeniami wynosi około 10 minut. To zbyt często. Takie kontrole i tak nie są panaceum na nagłe uszkodzenie dysku (panaceum to tylko rezerwacja). Raz dziennie uważam za zupełnie wystarczające.
Zapytanie o temperaturę do uruchomienia procesów obliczania atrybutów nie prowadzi i może być wykonywane często. Ponieważ przy właściwej implementacji odbywa się to przez protokół SCT. Przez SCT przekazywane są tylko te dane, które są już znane. Te dane aktualizowane są automatycznie w tle.
2) Dane atrybutów SMART często nie są wiarygodne.
Mikrokod dysku twardego pokazuje ci to, co uważa za stosowne pokazać, a nie to, co tak naprawdę się dzieje. Najbardziej wymownym przykładem jest piąty atrybut, liczba przeklasyfikowanych sektorów. Specjaliści zajmujący się odzyskiwaniem danych dobrze wiedzą, że dysk twardy może w piątym atrybucie pokazywać zerową liczbę realokacji, mimo że te występują i nadal się pojawiają.
Zadałem pytanie specjaliście badającemu dyski twarde i analizującemu ich mikrokody. Zapytałem, na jakiej zasadzie oprogramowanie urządzenia decyduje, że w tej chwili należy ukrywać fakt przeklasyfikowania sektorów, a teraz można o tym informować przez atrybuty SMART.
Odpowiedział, że nie ma ogólnej zasady, zgodnie z którą urządzenia pokazują lub ukrywają rzeczywisty obraz. I logika programistów, którzy piszą oprogramowania dla dysków twardych, czasami wydaje się bardzo dziwna. Badając oprogramowania różnych modeli zauważył, że często decyzja "ukryć lub pokazać" podejmowana jest na podstawie zestawu parametrów, które w ogóle nie wiadomo jak są ze sobą powiązane i z pozostałym zasobem dysku twardego.
3) Interpretacja wskaźników SMART jest specyficzna dla dostawcy.
Na przykład, na Seagate'ach nie warto zwracać uwagi na "złe" surowe wartości atrybutów 1 i 7, o ile pozostałe są w normie. Na dyskach tego producenta, ich absolutne wartości mogą zwiększać się w trakcie normalnej eksploatacji.

Aby ocenić stan i pozostały czas życia dysku twardego, w pierwszej kolejności zaleca się zwracanie uwagi na parametry 5, 196, 197, 198. Należy orientować się przede wszystkim na absolutne, surowe wartości, a nie na wartości przetworzone. Przetwarzanie atrybutów może odbywać się w sposób nieoczywisty, różniący się w różnych algorytmach i firmware.
W ogóle, wśród specjalistów zajmujących się nośnikami informacji, gdy mówi się o wartości atrybutu, zazwyczaj odnosi się to właśnie do wartości absolutnej.
Źródło: habr.com
