Skip to main content
Loading...
Szukaj
Logowanie
Dane logowania.
Nie masz konta? Załóż je tutaj.
Zarejestruj się
Zarejestruj się
Masz konto? Zaloguj się tutaj.

Najczęściej spotykane usterki dysków twardych

Najczęściej spotykane usterki dysków twardych

Kiedy pojawia się temat usterek nośników danych, w pierwszej chwili przychodzą nam na myśl usterki mechaniczne i stukające dyski twarde. I przez dziesięciolecia faktycznie problemy związane z podsystemem mechanicznym dysków twardych były najważniejszą, najbardziej bolesną przyczyną awarii nośników danych.

Jeszcze 20 lat temu uszkodzenia elektroniczne można było naprawić przekładając śrubokrętem PCB od takiego samego dysku. Ale czasy się zmieniają i zmieniają się też nośniki danych oraz ich usterki.

Rola oprogramowania układowego w pracy dysku twardego.

W swoich początkach dyski twarde były stosunkowo prostymi urządzeniami. Pod-system mechaniczny odpowiadał za zapis i odczyt sygnału na powierzchniach magnetycznych talerzy i był sterowany przez relatywnie prosty kontroler. Dane były kodowane z wykorzystaniem metody FM (Frequency Modulation – modulacja częstotliwości) w późniejszym okresie zmodyfikowaną do MFM w celu uzyskania większej gęstości zapisu. Tym niemniej gęstość ta była na tyle mała, że dla wykrywania impulsów sygnału w zupełności wystarczała detekcja szczytów (peak-detection). Adresowanie danych polegało na bezpośrednim odwoływaniu się do fizycznych sektorów – tzw. adresacja CHS – od Cylinder, Sector, Head – czyli cylinder (grupa ścieżek o tym samym promieniu), sektor i głowica (jednoznacznie identyfikująca powierzchnię talerza).

Wiele zaczęło się zmieniać w latach '80. Upowszechnienie komputerów osobistych spowodowało wzrost zapotrzebowania na dyski, które można by było w takich komputerach montować. To czas otwarcia architektury komputerów IBM-PC, okres powstawania setek różnych producentów podzespołów, spośród których nieliczni działają do dziś, a wielu zdołało opracować jedynie pojedyncze modele produktów, oraz powstawania standardów zapewniających wzajemną kompatybilność podzespołów produkowanych przez różnych producentów. Światem dysków twardych do dziś rządzą dwa standardy – ATA i SCSI, które zostały opracowane w połowie lat '80.

Translacja adresacji logicznej na fizyczną.

Istotną zmianą wprowadzoną przez standardy ATA i SCSI była adresacja w logicznych blokach – LBA (Logical Block Addressing). Adresacja ta polega na nadaniu wszystkim sektorom dysku numerów porządkowych od 0 kolejno aż do ostatniego, którego numer wynika pojemności dysku. Pozwoliło to odciążyć systemy plików i oprogramowanie od radzenia sobie z rosnącą różnorodnością dysków charakteryzujących się różną liczbą talerzy, ścieżek oraz sektorów na ścieżkę. Ale fizycznie wciąż trzeba te sektory odnajdywać. I to zadanie zostało scedowane na oprogramowanie układowe dysku. Podsystem zajmujący się przeliczaniem adresacji LBA na adresację fizyczną dysku nazywa się translatorem. Działanie translatora powiązane jest także z obsługą defektów oraz operacjami remapowania (realokacji) uszkodzonych sektorów.

Dodatkowe skomplikowanie podsystemu translacji występuje w dyskach SMR, które zostały pokrótce opisane w artykule "Przewagi i problemy zapisu SMR". W przypadku tych dysków uszkodzenia translatora są prawdziwą plagą i dotyczą zwłaszcza drugiego poziomu translacji. I w przypadku dysków SMR podsystem translacji jest bardziej wrażliwy na wszelkie błędy podczas próby jego naprawy. Stąd przed jakąkolwiek próbą regeneracji translatora należy bezwzględnie zabezpieczyć stan wyjściowy. Szczegóły działania translatorów dysków różnych producentów są różne i zmieniają się z kolejnymi generacjami modeli. Różnią się też szczegóły usterek, jakie mogą w nich wystąpić oraz objawy takich usterek. Częstym objawem uszkodzenia translatora jest rozpoznanie dysku z zerową pojemnością.

W przypadku urządzeń WD można też spotkać dyski rozpoznawane z poprawnym modelem i prawidłową pojemnością, które przy próbie odczytu sektorów zwracają błąd IDNF (nieprawidłowy identyfikator sektora). W przypadku bardzo dużej liczby takich błędów, często występujących na całej pojemności dysku, nie jest to uszkodzenie sektorów samych w sobie, a modułu oprogramowania układowego odpowiadającego za ich prawidłowe odnajdowanie. Uszkodzenia translatora są bardzo często występują w dyskach Seagate pokolenia F3. W internecie łatwo można odnaleźć instrukcję naprawy tego uszkodzenia, jednak  pochodzi ona z początkowego okresu produkcji tych dysków („czarna seria” 7200.11) i nie uwzględnia niuansów późniejszej ewolucji translatora. Poza tym w procedurze tej brakuje etapu zabezpieczenia translatora (pliku systemowego 0x28 – polecenie terminala T>r28). W przypadku nieadekwatnego zastosowania tej procedury (bez odpowiedniej diagnostyki, w przypadku innego uszkodzenia lub nowszych modeli) istnieje ryzyko spowodowania uszkodzenia dysku polegającego na tym, że od pewnego sektora wszystkie kolejne przy próbie ich odczytu zwracają błąd nieprawidłowej sumy kontrolnej (UNC).

Także i w tym przypadku same sektory mogą być sprawne, a błędy spowodowane są nieprawidłowym ich adresowaniem. Objaw wynika z tego, że dyski Seagate pokolenia F3 przy obliczaniu sumy kontrolnej uwzględniają dla każdego sektora jego aktualny numer LBA. Błąd podsystemu translacji powoduje, że od momentu jego wystąpienia nieprawidłowo wywoływane są wszystkie kolejne sektory, przez co ich sumy kontrolne są niezgodne.

Zarządzanie defektami

Produkcja wolnych od defektów talerzy dysków twardych jest niemożliwa. Dlatego konieczna jest ich odpowiednia obsługa. Dawno temu, przy niskiej gęstości zapisu i relatywnie małej liczbie defektów na etykietach dysków można było spotkać tabelki z wydrukowaną listą adresów uszkodzonych sektorów, które należało omijać. Taka tabelka zawierała też wolne miejsca, w które można było ołówkiem dopisać kolejne defekty, które mogły pojawić się w trakcie eksploatacji. Omijanie uszkodzonych defektów było wówczas zadaniem systemów plików, które do tej pory obsługują funkcje pozwalające na odpowiednie zamarkowanie klastrów zawierających uszkodzone sektory, aby nawet nie próbować umieszczać w nich plików. Ale wraz ze wzrostem gęstości zapisu i pojemności nośników rośnie także i liczba defektów, z którymi coś trzeba zrobić. Wprowadzenie adresacji LBA było doskonałą okazją, by oprogramowaniu układowemu przekazać kolejne zadanie.

Każdy dysk ma pewną liczbę defektów produkcyjnych – sektorów, które nie przechodzą testów fabrycznych. Ponieważ te sektory są uszkodzone, nie ma sensu przypisywać im adresów LBA. Są one rejestrowane na podstawowej liście defektów (lista P, odpowiednik adresów wydrukowanych na wspomnianej wyżej etykietce) i omijane przez translator przy nadawaniu numerów LBA. Z kolei uszkodzone sektory, które pojawią się w czasie eksploatacji, są zapisywane na przyrostowej liście defektów (lista G, odpowiednik pustych rubryk w tabelce, do której można dopisywać nowe sektory). W wielu modelach dysków zarządzanie defektami jest bardziej skomplikowane, ale szczegółowe opisanie tego zagadnienia wykracza poza ramy niniejszego artykułu.

W przypadku uszkodzenia sektora w czasie eksploatacji dysku jest on remapowany. Operacja ta polega na wpisaniu adresu fizycznego tego sektora na wspomnianą wyżej przyrostową listę defektów oraz przypisaniu jego adresu LBA innemu sektorowi leżącemu na ścieżce rezerwowej. Początkowo operację remapowania trzeba było wymuszać ręcznie, ale ok. 20 lat temu została ona zautomatyzowana. Sam fakt autorealokacji uszkodzonych sektorów poza kontrolą użytkownika budził wówczas duże kontrowersje ze względu na bezpieczeństwo danych oraz obawy co do możliwości przegapienia objawów degradacji powierzchni.

Początkowo operację remapowania trzeba było wymuszać ręcznie, ale ok. 20 lat temu została ona zautomatyzowana. Sam fakt autorealokacji uszkodzonych sektorów poza kontrolą użytkownika budził wówczas duże kontrowersje ze względu na bezpieczeństwo danych oraz obawy co do możliwości przegapienia objawów degradacji powierzchni. Automatyzacja procesu remapowania uszkodzonych sektorów wymagała zaimplementowania algorytmów optymalizujących ten proces. Z jednej strony zbyt szybkie reakcje i remapowanie od razu każdego sektora sprawiającego jakikolwiek problem mogły doprowadzić do obniżenia wydajności dysku i przedwczesnego wyczerpania puli sektorów zapasowych. Z drugiej – konsekwencjami reakcji spóźnionych mogły być destabilizacja struktur logicznych i uszkodzenie danych.

Wówczas w oprogramowaniu układowym dysków zaczęły się pojawiać listy sektorów niestabilnych. Trafiały tam sektory, które sprawiały problemy swoim zachowaniem, ale jeśli te problemy miały charakter incydentalny (to były jeszcze czasy mało odpornego na efekt superparamagnetyzmu zapisu równoległego oraz powszechnego wykorzystania niskiej klasy zasilaczy podających bardzo niestabilne napięcia), nie były remapowane. Operacja realokacji była przeprowadzana dopiero wtedy, kiedy z danym sektorem wiązały się powtarzalne problemy, co świadczyło, że stoi za nimi coś więcej od jedynie nieprawidłowego namagnesowania.

Listy związane z obsługą defektów również mogą być przyczyną awarii dysku. Jeśli wystąpią błędy w ich zawartości, mogą być one pierwotną przyczyną uszkodzenia translatora. Problemem jest też przepełnianie list. Jeśli któraś z list się przepełni, próby dopisania do niej kolejnych adresów kończą się niepowodzeniem, ale obsługa takiego błędu zajmuje czas i zwykle powoduje zawieszanie dysku. W szczególności dotyczy to przepełniania listy sektorów niestabilnych (lista relo, moduł 0x32) dysków WD, co skutkuje bardzo wolną odpowiedzią dysku na otrzymywane polecenia. W przypadku wystąpienia problemu objawiającego się zawieszaniem dysku podczas pracy należy wyłączyć opcję auto realokacji. Wskazane jest także wyczyszczenie listy sektorów niestabilnych. Po wykonaniu tych czynności należy wykonać kopię posektorową i odzyskać dane z kopii. Sam dysk z takimi objawami nadaje się tylko do utylizacji, gdyż jednoznacznie świadczą one o daleko posuniętej degradacji powierzchni.

Inne problemy oprogramowania układowego

W dyskach twardych mogą wystąpić także inne problemy oprogramowania układowego, ale szczegółowe wyczerpanie tematu, to materiał na kilka tomów, a nie na artykuł. W przypadku niektórych uszkodzeń, jak wspomniane wyżej zagadnienia dotyczące podsystemu translacji i zarządzania defektami, problem dotyczy modułów unikatowych dla każdego egzemplarza dysku, o które trzeba walczyć, jak o niepodległość. Czasem uszkodzenia są o tyle łatwiejsze do naprawy, że mogą dotyczyć fragmentów kodu wykonywalnego, które można skopiować z innego dysku. Niektóre uszkodzenia dotyczą modułów mało istotnych dla działania dysku, jak np. logi systemu SMART.

SMART służy do monitorowania stanu dysku i ostrzegania użytkownika w przypadku wykrycia symptomów wskazujących na zbliżającą się awarię. Ale dla samego działania dysku i dostępu do danych nie jest on niezbędny i błędy w jego obszarze prze-ważnie nie rzutują na pracę dysku. Inaczej rzecz się miała we wczesnych modelach Seagatów pokolenia F3, gdzie przepełnienie logów SMART prowadziło do zawieszania dysku przy jego uruchomieniu i utraty dostępu do danych. Aby rozwiązać ten problem, należy wyczyścić SMART (polecenie terminala 1>N1). Przy okazji warto zwrócić uwagę, że wy-czyszczenie logów SMART jest operacją bezpieczną dla zawartości dysku i jego funkcjonowania, tak-że względnie prostą do przeprowadzenia. Dlatego nie powinno się nim sugerować, kupując dyski z rynku wtórnego. Czyszczenie logów SMART jest też standardowym elementem procedury serwisowej producentów dysków twardych. Stąd bez trudu można znaleźć oferty dysków sprzedawanych jako nowe, choć oznaczenia na etykietach typu „Certified Repaired” lub „Refurbished” jednoznacznie wskazują, że są to dyski poserwisowe.

Oceń artykuł

Jak możesz czytać Security Magazine?

  1. Kliknij w POBIERZ - rozpocznie się pobieranie PDF-a na Twoje urządzenie.
  2. Śledź nasze kanały na Facebooku, LinkedIn i TikTok - tam również udostępniamy informacje na temat wydania
  3. W przystępny sposób korzystaj z lektury za pomocą ISSUU — poniżej.

Sprawdź się!

Powiązane materiały

Zapisz się do newslettera

Bądź na bieżąco z najnowszymi informacjami na temat
cyberbezpieczeństwa