Dyski twarde - HDD Hard Disk Drive są najpopularniejszymi nośnikami danych stosowanymi w komputerach, laptopach i wielu innych urządzeniach. Nazwa wywodzi się od twardego (sztywnego) podłoża pod służącą do przechowywania informacji warstwę magnetyczną - w odróżnieniu od dyskietek FDD - Floppy Disk Drive, gdzie warstwa magnetyczna była nanoszona na krążek z miękkiego (elastycznego) materiału. Zastosowanie sztywnych talerzy oraz uszczelnienie obudowy zapewniło większą trwałość i niezawodność urządzenia, pozwoliło także na większą precyzję zapisu, co przełożyło się na większą pojemność i krótsze czasy dostępu do danych.
Pierwszy 24-calowy dysk twardy o nazwie RAMAC 350 i pojemności 5 MB stworzyła firma IBM w 1956 roku. Pierwszym dyskiem przeznaczonym dla małych komputerów był opracowany przez firmę Seagate dysk ST-506. Dysk ten miał talerze o średnicy 5,25" i pojemność 5 MB. W 1986 r. pojawiły się standardy ATA i SCSI oraz zintegrowane z dyskami kontrolery typu IDE - Integrated Drive Electronics. W latach 2003-2004 równoległe magistrale zaczęto zastępować magistralami szeregowymi SATA i SAS.
Dysk twardy składa się z dwóch podstawowych części: hermobloku (HDA) - szczelnie zamkniętego korpusu zawierającego elementy mechaniczne oraz elektroniki (PCB), na której znajdują się układy scalone odpowiadające za sterowanie dyskiem i komunikację z komputerem, a także gniazda zasilania i interfejsu sygnałowego.
Wszystkie elementy mechaniczne dysku twardego są wykonywane z dużą precyzją i muszą być odizolowane od czynników zewnętrzych. W tym celu zamykane są w szczelnej obudowie, posiadającej jedynie niewielki, chroniony filtrem otwór służący do wyrównywania ciśnień. W przypadku zalania dysku twardego, woda moze się dostać przez ten otwór do wnętrza, dlatego zalanych dysków twardych nie nalezy uruchamiać bez uprzedniego sprawdzenia stanu wewnątrz hermobloku. Powietrze wewnątrz obudowy jest oczyszczone z pyłu i kurzu, a sam proces produkcji dysków twardych przeprowadzany jest w sterylnych warunkach.
Wewnątrz hermobloku znajduje się silnik, na którego osi osadzone są pokryte nośnikiem magnetycznym talerze. Liczba talerzy zależy od modelu dysku, we współczesnych dyskach twardych wyjątkowo rzadko można spotkać więcej, niż 4 talerze. Dyski laptopowe najczęściej mają jeden lub dwa talerze. Talerze zwykle wykonywane są ze stopów aluminium, a w przypadku dysków 2,5" czasami ze szkła. Talerze, obracając się w kierunku przeciwnym do ruchu wskazówek zegara, wywołują ruch powietrza wewnątrz hermobloku. Zwykle w pobliżu talerzy, na drodze strumienia powietrza, znajduje się filtr, którego zadaniem jest wyłapywanie pyłu, jaki mógłby powstać w wyniku zużywania się elementów mechanicznych dysku.
Do odczytywania i zapisywania informacji służą głowice magnetyczne umieszczone na ramionach bloku głowic magnetycznych (pozycjonera). Liczba głowic zwykle odpowiada liczbie powierzchni talerzy magnetycznych. Kazdy talerz ma dwie powierzchnie - górną i dolną i na każdą z nich przypada głowica zapisująca i głowica odczytująca. Niekiedy głowic jest mniej. Wynika to z faktu, że proces produkcyjny nie jest doskonały i niektóre talerze mają tylko jedną powierzchnię nadającą się do przechowywania danych. Zdarzają się tez przypadki, kiedy głowice są fizycznie zamontowane, ale możliwość ich wykorzystania jest blokowana przez wewnętrzne oprogramowanie dysku - firmware. W spoczynku głowice parkowane są na talerzu w pobliżu osi silnika lub poza talerzem, w specjalnej rampie. To ostatnie rozwiązanie jest powszechne w stosowanych w laptopowych dyskach 2,5". W starszych modelach dysków można było spotkać strefę parkowania przy krawędzi talerzy.
W czasie pracy głowice unoszą się na minimalnej wysokości nad powierzchnią talerza utrzymywane siłą aerodynamiczną strumienia powietrza, którego ruch wywoływany jest przez obracający się talerz. We współczesnych dyskach głowica unosi się na wysokości 5-15 nm nad powierzchnią talerza. Wysokość lotu głowicy nad talerzem powinna być stabilna, co wymaga odpowiednio gładkiej i równej powierzchni talerza. Nawet niewielkie nierówności i zanieczyszczenia mogą doprowadzić do poważnego uszkodzenia głowic. W wielu modelach dysków twardych w celu zabezpieczenia powierzchni magnetycznej przed zarysowaniem lub innym uszkodzeniem w razie uderzenia głowic, powierzchnia talerza pokrywana jest specjalną substancją zabezpieczającą, jednak niekiedy, np. wskutek przegrzania dysku, substancje te mogą prowadzić do zanieczyszczenia głowic. Jeżeli głowice parkowane są na talerzu, strefa parkowania, w odróżnieniu od pozostałej części talerza, nie ma gładkiej powierzchni, aby nie dopuścić do przylgnięcia głowic.
Kąt wychylenia ramion bloku głowic magnetycznych regulowany jest przy pomocy przepływu prądu elektrycznego przez umieszczoną pomiędzy dwoma magnesami stałymi cewkę. W pierwszych konstrukcjach dysków twardych stosowano w tym celu, podobnie jak w przypadku stacji dyskietek, silniki krokowe, jednak wzrost gęstości zapisu oraz prędkosci obrotowej talerzy wymusił opracowanie rozwiązania pozwalającego na bardziej precyzyjne ustawianie głowic nad ścieżką. Zastosowanie wzorowanej na stosowanym w głośnikach układzie magnetodynamicznym cewki umozliwiło nie tylko bezstopniowe regulowanie kąta wychylenia ramienia, ale też skróciło czas przejścia pomiędzy ścieżkami.
Kiedy znajdujące się końcu ramienia głowice znajdą się nad odpowiednim cylindrem, możliwe jest odczytanie lub zapisanie porcji informacji. Zapis odbywa się przez przesłanie przez głowicę zapisującą strumienia elektromagnetycznego zmieniającego polaryzację magnetyczną odpowiedniego fragmentu nośnika. Kiedy potrzebne jest odczytanie tej informacji, zmienne pole magnetyczne indukuje napięcie elektryczne w cewce głowicy lub zmianę rezystancji w przypadku współcześnie stosowanych głowic magnetyczno-oporowych (magnetorezystywnych).
Blok głowic magnetycznych komunikuje się z zewnętrzną elektroniką za pomocą przewodu, po którym przesyłane są polecenia dla serwomechanizmu oraz następuje wymiana danych. Zwykle na tym przewodzie umieszczony jest przedwzmacniacz-komutator, którego zadaniem jest regulacja pracy i przełączanie głowic odczytu i zapisu oraz wzmocnienie sygnału wysyłanego do elektroniki zewnętrznej. Układ ten odpowiada również za formowanie sygnału analogowego na podstawie przesłanego z elektroniki dysku kodu cyfrowego podczas operacji zapisu.
Elektronika dysku twardego zapewnia jego komunikację z komputerem lub innym urządzeniem oraz odpowiada za sterowanie mechanicznym podsystemem napędu. Jest to złożony zespół układów scalonych przypominający swoją architekturą komputer. Najważniejszym układem elektroniki dysku twardego jest procesor sygnałowy zarządzający pracą całego dysku, odpowiadający za jego prawidłową inicjalizację, przetwarzanie rozkazów ATA lub SCSI oraz specyficznych dla danego producenta i modelu komend technologicznych.
Procesor wykonuje mikrokod częściowo przechowywany na elektronice w pamięci Flash-ROM, NV-RAM lub wewnętrznej pamięci samego procesora. Pozostała część mikrokodu zapisana jest na talerzach w niedostępnej dla użytkownika strefie serwisowej. W zależności od producenta i modelu w strefie serwisowej mogą być przechowywane różne informacje. Zazwyczaj strefa serwisowa zawiera więcej niż jedną kopię informacji, co w przypadku jej uszkodzenia często ułatwia odtworzenie poprawnej zawartości i uruchomienmie dysku.
We współczesnych dyskach w procesorze implementowana jest także obsługa kanału zapisu i odczytu, odpowiadających za kodowanie i przesyłanie danych pomiędzy interfejsem zewnętrznym, a blokiem głowic magnetycznych. W starszych modelach obsługa kanałów odczytu i zapisu była realizowana przez osobny układ scalony. Przy zapisie cyfrowe dane przekształcane są na kod dogodny do zapisania na magnetycznej powierzchni talerza. Podczas odczytu analogowy sygnał jest dekodowany i, w razie potrzeby, korygowany z wykorzystaniem sum kontrolnych i kodów ECC.
Ważną rolę w procesie wymiany danych pełni bufor RAM. Układ ten przechowuje nie tylko dane użytkownika, ale i zdekompresowany mikrokod procesora sygnałowego, otrzymywane przez dysk polecenia oraz szereg innych informacji niezbędnych dla prawidłowej pracy dysku.
Ponadto na elektronice znajduje się układ sterujący pracą silnika - driver, który współdziała z zazwyczaj zaimplementowanym w procesorze sygnałowym serwokontrolerem. Ponieważ driver jest układem narazonym na przegrzanie, często ulega uszkodzeniu. Jest to zazwyczaj usterka łatwa do zdiagnozowania, ponieważ jeśli dojdzie do spalenia tego układu prawie zawsze można to dostrzec gołym okiem.
Driver odpowiada za rozkręcenie silnika i ustabilizowanie obrotów talerzy. Reguluje także połozenie bloku głowic magnetycznych sterując przepływem prądu przez znajdującą się pomiędzy dwoma magnesami cewkę. Głowica odczytuje znajdujące się na powierzchni talerza znaczniki serwo i na tej podstawie serwokontroler ustala jej aktualne położenie. Jeśli głowica nie trafiła nad właściwą ścieżikę, driver koryguje jej pozycjonowanie. W przypadku, gdy głowice z jakiejkolwiek przyczyny nie mogą odnaleźć znaczników serwo, dysk zaczyna stukać blokiem głowic o ograniczniki. Uderzenia te powodują drgania, które często są przyczyną kontaktu głowic z powierzchnią talerzy i mogą spowodować jej degradację. Dyski, które mają problem z odnalezieniem ścieżki wymagają przeprowadzenia szczegółowej diagnostyki, poniewaz przyczyną takiego zachowania mogą być uszkodzenia mechaniczne, elektroniczne lub błędy oprogramowania wewnętrznego.
Na elektronice dysku znajdują się też elementy odpowiedzialne za zasilanie, interfejs pozwalający na komunikację dysku i wymianę danych z komputerem lub innym urządzeniem, a także zabezpieczenia chroniące dysk przed nieprawidłowym zasilaniem. Ponieważ dysk twardy w komputerze stacjonarnym jest podłączany bezpośrednio do zasilacza, bardzo ważny jest wybór dobrego zasilacza, podającego stabilne napięcia. Niskiej klasy zasilacze są bardzo częstą przyczyną błędów w zapisie magnetycznym, uszkodzeń elektroniki oraz znajdującego się na bloku głowic magnetycznych układu komutatora - przedwzmacniacza.
Po złozeniu dysku w fabryce na powierzchni talerzy tworzone są koncentryczne ścieżki, na których zapisywane są dane. Grupy scieżek o tym samym promieniu, a leżących na różnych powierzchniach wszystkich znajdujących się w dysku talerzy nazywa się cylindrami. Ścieżki dzielone są na sektory liczące dawniej 512 B, a w najnowszych modelach 4 kB danych użytkownika. Oprócz tego sektory zawierają informację nadmiarową - znaczniki adresowe pozwalające na ich identyfikację oraz sumy kontrolne umożliwiające weryfikację poprawności odczytu ich zawartości i korekcję ewentualnych błędów. Ponieważ wraz ze wzrostem długości promienia rośnie także długość ścieżek, utrzymywanie na nich stałej liczby sektorów byłoby nieefektywne z punktu widzenia dążenia do uzyskania jak największej gęstości danych. Dlatego ściezki grupuje się w strefy o różnej liczbie sektorów na ścieżkę. Ścieżki leżące bliżej osi zawierają mniej sektorów od tych leżących bliżej krawędzi talerza.
Nie wszystkie sektory znajdujące się na powierzchni talerza mają przypisane adresy LBA i są dostępne dla użytkownika. Część ścieżek jest przeznaczona na przechowywanie informacji niezbędnych dla zapewnienia prawidłowej pracy dysku. To strefa serwisowa zawierająca fragmenty oprogramowania wewnętrznego (Overlay), listy defektów, tablicę stref zawierającą informację o ilości sektorów na poszczególnych grupach ścieżek i ilości ścieżek w tych grupach, logi S.M.A.R.T., a także inne informacje w zalezności od modelu dysku.
Na dysku znajdują się także obszary rezerwowe przeznaczone do zastępowania uszkodzonych sektorów. Zazwyczaj w każdej strefie znajduje się grupa scieżek rezerwowych. W przypadku uszkodzenia któregoś z sektorów jest on wpisywany na listę defektów, a jego adres logiczny LBA jest przypisywany (remapowany) któremuś z sektorów leżacych na ścieżce rezerwowej.
Sektory zawierające dane użytkownika rozdzielone są specjalnymi sektorami wykorzystywanymi dla określenia położenia głowicy i korekcji jej trajektorii - serwosektorami. Serwosektory rozmieszczone są w stałych odstępach. Zawierają one pole ochronne, w którym głowica powinna przełączyć się z trybu zapisu w tryb odczytu, pole synchronizacji, znacznik adresowy, zakodowany numer ścieżki oraz pole serwodanych służące do dokładnego pozycjonowania głowicy nad środkiem ściezki.
Po podaniu zasilania dysk twardy rozpakowuje podstawową część mikrokodu do bufora RAM. Procesor sygnałowy inicjalizuje się oraz przeprowadza test układów elektroniki. Następnie dysk rozpędza silnik obracający talerze. Kiedy talerze zostaną rozpędzone do prędkości umożliwiającej prawidłowe unoszenie się nad nimi głowic, blok głowic zostaje uwolniony ze strefy parkowania. Każdy dysk ma głowicę, od której zaczyna pracę. Głowicę tę nazywa się głowicą systemową. Głowica systemowa odczytuje sygnał serwo, który jest przekazywany do serwokontrolera. Na tej podstawie dysk próbuje odnaleźć strefę serwisową. Po jej odnalezieniu, jej zawartość jest odczytywana do bufora.
Na podstawie informacji odczytanej ze strefy serwisowej tworzony jest translator pozwalający na powiązanie adresów logicznych LBA z fizycznymi adresami dysku. Wczytywane są także parametry pozycjonowania i pracy głowic. Sprawdzane są również inne informacje - np. parametry S.M.A.R.T. oraz to, czy na dysku zostało założone hasło ATA. Nie wszystkie moduły strefy serwisowej mają krytyczne znaczenie dla uruchomienia dysku. Dlatego dysk może się poprawnie uruchomić nawet, jeżeli podczas odczytu strefy serwisowej wystąpią błędy. Jednak w przypadku wystąpienia krytycznych błędów strefy serwisowej, dysk uruchomi się w nieprawidłowy sposób. Może np. zgłosić się z zerową pojemnością, wyświetlić niezgodny z rzeczywistym model lub numer seryjny albo pozostać w stanie "zajęty" (BSY).
Jeśli procedura inicjalizacji przebiegła prawidłowo - dysk jest prawidłowo rozpoznawany przez BIOS komputera i wychodzi w gotowość do przyjęcia i wykonania poleceń
Diagnostykę dysku najlepiej zacząć od obejrzenia jego stanu. Należy zwrócić uwagę na ewentualne ślady mogące wskazywać na możliwość upadku, uderzenia lub innych uszkodzeń mechanicznych. Uszkodzenia o charakterze mechanicznym szczególnie często występują w dyskach zewnętrznych. W przypadku elektroniki trzeba zwrócić uwagę na spalone lub oderwane elementy, a także na przebarwienia laminatu mogące świadczyć o przegrzaniu znajdującego się w tym miejscu układu. W żadnym wypadku nie należy uruchamiać dysku w razie dostrzeżenia śladów korozji. Uważne obejrzenie dysku przed jego uruchomieniem może uchronić go przed spowodowaniem poważnych uszkodzeń wtórnych.
Jeżeli wizualny stan dysku nie budzi zastrzeżeń, można go uruchomić, jednak w przypadku wystąpienia nietypowych dźwięków, jak stukanie, piszczenie, czy odgłosy tarcia, należy jak najszybciej odłączyć zasilanie. Nie powinno się też uruchamiać dysków, o których wiadomo, że upadły. Dyski takie praktycznie zawsze wymagają ingerencji mechanicznych, które powinno się przeprowadzić w sterylnych warunkach. Próby odczytania danych z takich dysków mogą doprowadzić do nieodwracalnych zniszczeń powierzchni magnetycznej.
W sytuacji, kiedy dysk się nie uruchamia, najprawdopodobniej uszkodzeniu uległa elektronika. Czasy, kiedy wystarczyło mieć drugi, czasem tylko podobny dysk oraz odpowiedni śrubokręt już dawno minęły. Obecnie utrata informacji o indywidualnych parametrach pracy dysku w najlepszym przypadku poważnie utrudni proces odzyskiwania danych, a w najgorszym może go uniemożliwić. Dlatego ważne jest zachowanie oryginalnej, uszkodzonej elektroniki. Zachować nalezy także przejsciówki USB-SATA od dysków zewnętrznych, które często przechowują klucze szyfrujące. W przypadku utraty oryginalnej przejściówki odszyfrowanie znajdujących się na dysku danych może okazać się niemożliwe.
W wypadku, kiedy dysk nie jest prawidłowo rozpoznawany przez BIOS lub nie wychodzi w gotowość, prawdopodobnie doszło do uszkodzenia modułów oprogramowania wewnętrznego. Naprawienie uszkodzeń tego typu wymaga specjalistycznego oprogramowania lub znajomości specyficznych komend technologicznych. Na uszkodzenie strefy serwisowej - problemy z translacją adresów LBA na adresy fizyczne dysku - wskazuje także sytuacja, kiedy nie mozna prawidłowo odczytać żadnego sektora na dysku lub problem ten występuje począwszy od któregoś z sektorów.
Jeśli dysk jest rozpoznawany prawidłowo, prawdopodobną przyczyną utraty danych mogą być problemy ze strukturą logiczną systemu plików lub uszkodzone sektory. W takiej sytuacji można podjąć próbę samodzielnego odzyskania danych przestrzegając podstawowych zasad bezpieczeństwa.
Najważniejsze - to niczego nie zapisywać na dysku, z którego zginęły dane. Nadpisanie danych nieodwracalnie je niszczy. Dlatego nie należy używać narzędzi do automatycznej naprawy struktur systemu plików. Przystępując do odzyskiwania danych żadnym wypadku nie należy próbować uruchamiać z takiego dysku systemu operacyjnego, instalować na nim żadnych programów ani zapisywać na ten sam dysk odzyskiwanej informacji. Spotykany niekiedy zwyczaj formatowania dysków przed przystąpieniem do odzyskiwania z nich danych jest zwyczajem głupim i szkodliwym. Jeżeli program do odzyskiwania danych wymaga lub proponuje sformatowanie dysku, to jest to zły program i bezwzględnie nie powinno się z niego korzystać.
Odzyskując dane nie należy używać programów do naprawy lub regeneracji uszkodzonych sektorów. Programy takie działają na zasadzie nadpisywania sektorów z błędami sumy kontrolnej, co może pomóc w przypadku błędów namagnesowania lub wykorzystują procedurę remapowania. W obu przypadkach informacja zawarta w takich sektorach jest tracona, a praca takich programów stanowi niepotrzebne obciążenie dysku, czego, w sytuacji, gdy priorytetem jest odzyskanie danych, należy unikać. W skrajnym przypadku procedury zerowania mogą doprowadzić do nadpisania całej powierzchni dysku, a nie tylko uszkodzonych sektorów, powodując nieodwracalną utratę wszystkich znajdujących się na tym dysku danych.
Jeśli tylko to jest możliwe, przed przystąpieniem do odzyskiwania danych należy wykonać kopię posektorową dysku i odzyskiwać dane z kopii. Jest to konieczne zwłaszcza w przypadku dysków pracujących niestabilnie, gdzie ważne jest zminimalizowanie obciążenia takiego dysku. W przypadku dysków pracujących niestabilnie lub z dużą ilością uszkodzonych sektorów można wykonać kopię posektorową tylko wybranej partycji lub zadanego zakresu sektorów. Taką możliwość oferują dobre programy do odzyskiwania danych. W przypadku dysków, które czytają się bardzo wolno lub z dużą ilością błędów można zacząć od wykopiowania metadanych systemu plików, a następnie na ich podstawie ustalić położenie najważniejszych plików i zacząć od klonowania sektorów zawierających właśnie te pliki.
Przystępując do samodzielnego odzyskiwania danych warto poświęcić trochę czasu na naukę, zdobycie informacji pozwalających na prawidłowe zdiagnozowanie problemu i uniknięcie krytycznych błedów, po których nawet najwyższej klasy specjaliści nie będą w stanie pomóc. Warto ćwiczyć...ale nie na pacjencie z ważnymi danymi, tylko na podobnych dyskach z podobnymi usterkami.
W razie wystąpienia niepokojących objawów lub pogorszenia stanu dysku lepiej przerwać samodzielne odzyskiwanie danych i zwrócić się o pomoc do specjalistów. Każda nieudana ingerencja i każdy błąd mogą niegatywnie wpłynąć na koszty, czas trwania i końcowy rezultat odzyskiwania danych w profesjonalnym laboratorium. Chyba, że dane tak naprawdę nie są ważne.