Wiele (ale nie całkiem nowych) źródeł sugeruje, że ~ 7% miejsca na dysku SSD powinno pozostać nieprzydzielone, aby zmniejszyć zużycie dysku. Czy nadal obowiązuje, czy sytuacja się zmieniła?
Wiele (ale nie całkiem nowych) źródeł sugeruje, że ~ 7% miejsca na dysku SSD powinno pozostać nieprzydzielone, aby zmniejszyć zużycie dysku. Czy nadal obowiązuje, czy sytuacja się zmieniła?
Odpowiedzi:
Windows zazwyczaj używa TRIM. Oznacza to, że dopóki masz X% wolnego miejsca w systemie plików, dysk będzie widział X% jako nieprzydzielone. [*] Nadmiarowe przydzielanie nie jest wymagane.
Wyjątek: historycznie dyski SSD z kontrolerami / oprogramowaniem układowym Sandforce nie przywróciły pełnej wydajności po TRIM :(.
Utrata wydajności na pełnym dysku może być znacząca, a nawet bardziej niż w przypadku niektórych innych dysków. Będzie to związane z wysokim wzmocnieniem zapisu, a zatem zwiększy zużycie. Źródło: recenzje Anandtech.
Jest to konieczne wtedy i tylko wtedy
Włączenie TRIM w Linuksie nie jest zbyt trudne i raczej nie zauważysz żadnych problemów.
Na szczęście kilka najpopularniejszych marek tworzy własny kontroler. Kontrolery Sandforce nie są tak popularne, jak kiedyś. Problemy z Sandforce powodują, że jestem sceptycznie nastawiony do tego konkretnego „inteligentnego” sterownika, który był bardzo agresywny jak na swój czas. Przepraszamy Sandforce, ale nie mam odniesienia do konkretnych modeli kontrolerów, których dotyczy problem.
[*] Systemy plików lubią też mieć dużo wolnego miejsca, aby zmniejszyć fragmentację. TRIM jest świetny, ponieważ nie musisz dodawać dwóch marginesów bezpieczeństwa razem, to samo wolne miejsce pomaga obu :). Napęd może wykorzystać nieprzydzieloną przestrzeń, aby poprawić wydajność, a także uniknąć wysokiego zużycia, jak mówisz.
Nowoczesne kontrolery SSD są na tyle inteligentne, że przeregulowanie zwykle nie jest konieczne w codziennym użytkowaniu. Nadal jednak zdarzają się sytuacje, przede wszystkim w środowiskach centrów danych, w których zaleca się stosowanie nadmiernej kontroli. Aby zrozumieć, dlaczego nadmierna kontrola może być przydatna, konieczne jest zrozumienie, w jaki sposób działają dyski SSD.
Dyski SSD używają pamięci typu NAND flash memory . W przeciwieństwie do dysków twardych komórki NAND zawierające dane nie mogą być bezpośrednio zastępowane; dysk musi usunąć istniejące dane, zanim będzie mógł zapisać nowe dane. Ponadto, podczas gdy dyski SSD zapisują dane na stronach , które zwykle mają rozmiar od 4 KB do 16 KB, mogą usuwać dane tylko w dużych grupach stron zwanych blokami , zwykle od kilkuset KB do kilku MB w nowoczesnych dyskach SSD.
NAND ma również ograniczoną wytrzymałość na zapis . Aby uniknąć niepotrzebnego przepisywania danych w celu skasowania bloków i aby upewnić się, że żaden blok nie otrzyma nieproporcjonalnej liczby zapisów , napęd próbuje rozdzielić zapisy, szczególnie małe zapisy losowe, na różne bloki. Jeśli zapisy zastępują stare dane, oznacza to, że stare strony są nieprawidłowe. Gdy wszystkie strony w bloku zostaną oznaczone jako niepoprawne, dysk może je usunąć bez konieczności przepisywania prawidłowych danych.
Jeśli na dysku pozostało niewiele wolnego miejsca lub nie ma go wcale, nie będzie w stanie rozłożyć zapisów. Zamiast tego dysk będzie musiał natychmiast usunąć bloki, ponieważ zapisy są wysyłane na dysk, przepisując wszelkie prawidłowe dane w tych blokach na inne bloki. Powoduje to, że do NAND zapisywanych jest więcej danych niż do napędu, zjawisko znane jako wzmocnienie zapisu . Wzmocnienie zapisu jest szczególnie wyraźne w przypadku losowych obciążeń intensywnie zapisujących, takich jak przetwarzanie transakcji online (OLTP) , i należy je ograniczyć do minimum, ponieważ powoduje to obniżenie wydajności i wytrzymałości.
Aby zmniejszyć wzmocnienie zapisu, większość nowoczesnych systemów obsługuje polecenie o nazwie TRIM , które informuje dysk, które bloki nie zawierają już prawidłowych danych, aby można je było usunąć. Jest to konieczne, ponieważ w innym przypadku dysk musiałby założyć, że dane logicznie usunięte przez system operacyjny są nadal ważne, co utrudnia zdolność dysku do utrzymania odpowiedniej wolnej przestrzeni.
Jednak TRIM czasami nie jest możliwe, na przykład gdy napęd znajduje się w zewnętrznej obudowie (większość obudów nie obsługuje TRIM) lub gdy napęd jest używany ze starszym systemem operacyjnym. Ponadto, przy bardzo intensywnych obciążeniach losowego zapisu, zapisy zostaną rozłożone na duże obszary bazowego NAND, co oznacza, że może wystąpić wymuszone przepisywanie danych i towarzyszące wzmocnienie zapisu, nawet jeśli dysk nie jest prawie pełny.
Najwcześniejsze dyski SSD miały znacznie mniej dojrzałe oprogramowanie układowe, które często zapisywało dane znacznie częściej niż to konieczne. Wczesne kontrolery Indilinx i JMicron ( JMF602 był niesławny z powodu zacinania się i fatalnej wydajności losowego zapisu ) cierpiały z powodu bardzo dużego wzmocnienia zapisu przy intensywnych obciążeniach losowego zapisu, czasami przekraczającego 100x. (Wyobraź sobie, że zapisujesz ponad 100 MB danych do NAND, gdy próbujesz zapisać tylko 1 MB!). Nowsze kontrolery, z korzyścią dla większej mocy przetwarzania, ulepszonymi algorytmami zarządzania pamięcią flash i obsługą TRIM, znacznie lepiej radzą sobie z tymi sytuacjami, chociaż duże obciążenia losowego zapisu mogą nadal powodować zwiększenie zapisu ponad 10-krotnie w nowoczesnych dyskach SSD .
Overprovisioning zapewnia dyskowi większy obszar wolnego miejsca do obsługi przypadkowych zapisów i unikania wymuszonego przepisywania danych. Wszystkie dyski SSD mają nadwyżkę zabezpieczeń przynajmniej w minimalnym stopniu; niektóre wykorzystują tylko różnicę między GB a GiB, aby zapewnić około 7% wolnego miejsca na dysku do pracy, podczas gdy inne mają większą nadwyżkę, aby zoptymalizować wydajność dla potrzeb określonych aplikacji. Na przykład korporacyjny dysk SSD do obciążeń OLTP lub baz danych o dużym obciążeniu do zapisu może mieć 512 GiB fizycznego NAND, ale ma reklamowaną pojemność 400 GB, a nie 480 do 512 GB typową dla SSD konsumenckich z podobną ilością NAND.
Jeśli obciążenie jest szczególnie wymagające lub jeśli używasz dysku w środowisku, w którym TRIM nie jest obsługiwany, możesz ręcznie zastąpić przestrzeń, dzieląc dysk tak, aby część miejsca była nieużywana. Na przykład możesz podzielić dysk SSD 512 GB na 400 GB i pozostawić nieprzydzielone miejsce, a dysk wykorzysta nieprzydzielone miejsce jako wolne miejsce. Zauważ jednak, że to nieprzydzielone miejsce należy przyciąć, jeśli zostało wcześniej zapisane; w przeciwnym razie nie przyniesie to korzyści, ponieważ dysk uzna, że miejsce jest zajęte. (Narzędzia do partycjonowania powinny być wystarczająco inteligentne, aby to zrobić, ale nie jestem w 100% pewien; zobacz „Czy system Windows przycina niepartycjonowane (niesformatowane) miejsce na dysku SSD?” )
W typowych środowiskach konsumenckich, w których obsługiwany jest TRIM, dysk SSD jest zapełniony w mniej niż 70–80% i nie jest ciągle blokowany losowymi zapisami, wzmocnienie zapisu zwykle nie stanowi problemu, a nadmiarowość zwykle nie jest konieczna.
Ostatecznie większość konsumentów nie zapisuje prawie wystarczającej ilości danych na dysk, aby zużyć NAND w zamierzonym okresie eksploatacji większości dysków SSD, nawet przy dużym wzmocnieniu zapisu, więc nie można stracić snu.
Wielkość dodatkowej przestrzeni różni się bardzo między modelami dysków SSD, ale ogólnie rzecz biorąc jest to nadal prawdą.