Dyski SSD: defragmentować czy nie defragmentować – oto jest pytanie
Wielu posiadaczy dysków SSD zadaje sobie pytania dotyczące ich żywotności, wydajności, a także wpływie ustawień systemowych na oba te czynniki. Jednym z najczęściej padających pytań jest: defragmentować, nie defragmentować, a może zostawić to zupełnie w gestii systemu operacyjnego? Jeden z pracowników Microsoftu postanowił rozwiać wątpliwości i pokazać, co powinniśmy zrobić.
20.01.2015 | aktual.: 20.01.2015 13:39
Oczywiście każdy zainteresowany tematem wie, że dyski półprzewodnikowe nie przepadają za operacją zapisu. Komórki pamięci, z jakich są one zbudowane mają ograniczoną liczbę takich cykli, a w efekcie w trakcie pracy po prostu się zużywają. O tym, do jakiego dramatu może to doprowadzić dobitnie pokazała nam sprawa marsjańskiego łazika Opportunity, który przez zużywanie się komórek zaczął cierpieć na „zaniki pamięci”. W efekcie obawy o trwałość SSD wiele osób wyłącza niektóre z funkcji systemu Windows, przede wszystkim mechanizm odpowiedzialny za defragmentację. Czy jest to w ogóle potrzebne? W pewnym stopniu zależy to od innych ustawień, ale wyłączanie defragmentacji może mieć złe skutki. Windows natomiast czasami naprawdę przeprowadza defragmentację SSD. Dlaczego?
Odpowiedź na to pytanie przedstawił Scott Hanselman, jeden z pracowników Microsoftu. Zacznijmy od tego, że Windows 7 i nowsze edycje poprawnie rozpoznają dyski półprzewodnikowe i automatycznie wyłączają dwie zupełnie nieprzydatne dla nich usługi, jakimi są Prefetch i SuperFetch – zostały one stworzone na potrzeby HDD w celu przyśpieszania często ładowanych aplikacji, a w związku z niskimi czasami dostępu są bezużyteczne na SSD. Defragmentacja pozostaje jednak włączona. Wynika to tego, że fragmentacja występuje nawet na takich dyskach i wynika ona po prostu z systemu plików. Jeżeli użytkownik uruchomi ją samodzielnie, najprawdopodobniej w oknie postępu zobaczy informację o wykonywaniu polecenia TRIM, które pozwala systemowi operacyjnemu poinformować dysk o już nieużywanych blokach danych przeznaczonych do wyczyszczenia. Bloki takie służą później do zapisywania nowych danych, co jest rozwiązaniem o wiele lepszym, niż przenoszenie danych i czyszczenie już zapisanej komórki. Dyski od jakiegoś czasu posiadają wewnętrzne mechanizmy zajmujące się tym procesem (Garbage Collection), ale w przeciwieństwie do TRIM powodują one pewien spadek wydajności, a także większe zużycie komórek pamięci – nie są bowiem w stanie określić, czy blok jest w użyciu.
Windows raz na miesiąc wykonuje ponadto pełną defragmentację jeżeli uruchomiona jest usługa kopiowania woluminów w tle (Volume Shadow Copy). Ta jest domyślnie włączona, ponieważ korzysta z niej funkcja przywracania systemu. Jeżeli ją wyłączymy, to oczywiście ograniczymy zużywanie się dysku, ale zarazem znacznie obniżymy bezpieczeństwo systemu: punkt przywracania może bowiem uratować system np. w przypadku instalacji złego sterownika lub aktualizacji powodującej problemy. Druga przyczyna leży w systemie plików NTFS. Oczywiście poszczególne części pliku na dysku mogą być rozdrobnione i w przypadku SSD nie wpłynie to drastycznie negatywnie na wydajność, ale to rozdrobnienie ma swoje limity określone przez metadane. Gdy osiągnięte zostanie maksimum, dalsze próby zapisu pliku będą powodować błędy. Defragmentacja jest więc konieczna do zmniejszenia liczby fragmentów, a także zachowania spójności systemu plików.
Podsumowując: stwierdzenie, że defragmentacja to mechanizm przestarzały i niepotrzebny jest błędne. Jej wyłączanie to w zasadzie działanie na szkodę swojego systemu plików. Nowoczesne dyski SSD są natomiast na tyle wytrzymałe, że nie powinniśmy przejmować się zapisami dokonywanymi przez mechanizm defragmentacji – znacznie więcej zapisów wykonamy my sami, po prostu używając dysk jako nośnik pamięci. Oczywiście zupełnie inną kwestią są pozostałe usługi systemowe, które nie mają bezpośredniego wpływu na sprzęt, ale które przyczyniają się do zwiększenia liczby zapisów jak choćby mechanizm indeksowania Windows Search.