Zgłoś błąd
X
Zanim wyślesz zgłoszenie, upewnij się że przyczyną problemów nie jest dodatek blokujący reklamy.
Błędy w spisie treści artykułu zgłaszaj jako "błąd w TREŚCI".
Typ zgłoszenia
Treść zgłoszenia
Twój email (opcjonalnie)
Nie wypełniaj tego pola
.
Załóż konto
EnglishDeutschукраїнськийFrançaisEspañol中国

Poradnik SSD - jak usprawnić i przyspieszyć pracę dysku SSD

Eversor | 14-12-2011 12:36 |

Włączanie/kontrola stanu funkcji TRIM

Dyski SSD w środowisku pozbawionym komendy TRIM mają problem wynikający z mechaniki działania systemu plików. Typowa metoda obchodzenia się z poleceniem usuwania danych powoduje, że nasze HDD/SSD nie wie, które sektory/strony są w rzeczywistości wolnym miejscem. Usuwanie typowo sprowadza się do oznaczenia bloków danych jako nieużywanych w samym systemie plików. Z tego powodu usuwanie nie powoduje fizycznego zapisu na dysku, w przeciwieństwie np. do nadpisania. Ponieważ ani HDD, ani SSD dostępu do systemu plików nie mają, nie są one w stanie ocenić, które z ich sektorów/stron są wolne do użycia. O ile pozwala nam to wykorzystywać narzędzia do odzysku danych, sprawia to problem dyskom SSD.

Przy zapisie danych na klasycznym HDD, dyskowi nie gra większej roli, czy dany sektor posiada zapisaną w nim informacje. Proces zapisu w czystym sektorze nie różni się od tego w już zapisanym. Jednak dysk SSD by przeprowadzić operację zapisu, musi wiedzieć czy dana strona jest czysta. Jeśli tak nie jest to procedura zwykłego zapisu zamienia się w procedurę odczytu-wymazywania-modyfikowania-zapisu (o-w-m-z). Procedura ta w SSD wiąże się ze sporym narzutem. Tak dużym, że przy zapisie wydajność dysku może spaść nawet o ponad połowę.

Dysk SSD przechowuje dane w kościach flash. Te podzielone są na bloki, a te dalej na tak zwane strony. W typowej kości strona to 4 KB, a blok to 128 stron. Dla 25 nm kości np. Intela/Microna jest to 8 KB i 256 stron. Kontroler odczytuje pojedyncze strony, jednak przy zapisie sprawa się komplikuje. Jeśli kontroler wie, że strona jest czysta, to może ją zapisać. Jeśli jednak na stronie mogą już znajdować się informacje, to musi być ona uprzednio wymazana. I tu tkwi problem. Wymazywać można tylko całe bloki. Dysk musi więc odczytać do pamięci podręcznej pełne 128/256 stron bloku, wymazać ten blok we flashu, następnie aktualizować strony w pamięci podręcznej nowymi danymi, i na końcu zapisać komplet z powrotem do flasha. Proste zapisanie 8 KB danych, zamienia nam się w odczytanie 2 MB, wymazywanie bloku, modyfikowanie informacji i zapis 2 MB.

Z pomocą przychodzi nam TRIM. System operacyjny wiedząc, że współpracuje z dyskiem SSD, przy usuwaniu danych, wysyła także komendę z informacją, które strony są już puste. Dysk SSD może więc przeprowadzić operacje czyszczenia przy usuwaniu. Zatem odczytanie całego bloku do pamięci podręcznej, wymazanie bloku, i zapisanie powtórne odbywa się przy usuwaniu. Gdy przyjdzie nam zapisać dane, będziemy już mieli czyste strony, gotowe do szybkiej niespowolnionej operacji zapisu. Warto jednak wiedzieć, że nie ratuje nas to całkowicie z problemu. Podczas nadpisywania danych nasze SSD wciąż zmuszone będzie do pełnej procedury o-w-m-z.

TRIM w skrócie:

  • Do pracy TRIM wymaga wsparcia zarówno systemu operacyjnego jak i dysku.
  • TRIM wspierają: Windows 7 i nowsze (w tym Serwerowa wersja), nowsze edycje Linuxa, FreeBSD, oraz MacOSa.
  • TRIM działa w trybach IDE, AHCI i RAID. W RAID tylko jeśli dysk nie jest częścią żadnej macierzy.
  • Producenci udostępniają narzędzia by manualnie wysyłać komendę TRIM na systemach, które tego nie obsługują.
  • Dobry system Garbage Collection jest w stanie praktycznie zastąpić działanie TRIMu.
  • Jedyna w 100% sprawna metoda przywracania dysku do "świetności" na systemie bez TRIM jest pełny reset przy pomocy Secure Erase.

Przejdźmy więc do właściwej części porady. Sprawdzenia czy nasz system poprawnie wykrył nasze SSD i włączył na nim obsługę komendy TRIM. W tym celu otwieramy konsolę, co najprościej wykonać otwierając Menu Start, następnie w polu wyszukiwania wpisując cmd i wciskając Enter.

Wpisujemy komendę fsutil behavior query disabledeletenotify i klikamy Enter.

W odpowiedzi w konsoli zobaczymy jedną z dwóch możliwych odpowiedzi:

  • DisableDeleteNotify = 0
  • DisableDeleteNotify = 1

Zero oznacza, że TRIM jest włączony. Jedynka, że nie.

Jeśli mamy dysk SSD, a powyższy test w rezultacie dał nam jedynkę, to możemy włączyć obsługę TRIM manualnie. W tym celu wpisujemy komendę fsutil behavior set disabledeletenotify 0 i potwierdzamy Enterem.

Jeżeli z jakiegoś powodu TRIM chcemy wyłączyć to używamy fsutil behavior set disabledeletenotify 1.

To tyle w kwesti TRIM. Jako ciekawostkę można dodać, że TRIM i Garbage Collection praktycznie wykluczają możliwość odzyskania danych na dyskach SSD. Po usunięciu plików na systemie z TRIM, w momencie odzysku z użyciem stosownej aplikacji będą one praktycznie pustymi plikami o określonym rozmiarze. Przy samym GC mamy jednak pewne okno czasu zanim mechanizm GC wyczyści nam aktualne zapisane we flashu dane.

p
Bądź na bieżąco - obserwuj PurePC.pl na Google News
Zgłoś błąd
Liczba komentarzy: 39

Komentarze:

x Wydawca serwisu PurePC.pl informuje, że na swoich stronach www stosuje pliki cookies (tzw. ciasteczka). Kliknij zgadzam się, aby ta informacja nie pojawiała się więcej. Kliknij polityka cookies, aby dowiedzieć się więcej, w tym jak zarządzać plikami cookies za pośrednictwem swojej przeglądarki.