Garbage Collection & TRIM: SSD Dirty Little Secret
huki online i w niektórych kręgach IT okazały się prawdziwe: prędkości SSD mogą spowolnić w czasie. Na szczęście są rzeczy, które możesz zrobić, aby temu zapobiec i pomóc w utrzymaniu szybkiego charakteru dysków SSD.
co to jest SSD Garbage Collection
podobnie jak usuwanie śmieci jest niezbędnym zadaniem w utrzymaniu domu, garbage collection jest również rodzajem konserwacji SSD. Jest to nieco mylące określenie, ponieważ usuwanie śmieci nie ma nic wspólnego z usuwaniem plików, które nie są już potrzebne. To bardziej jak pozbycie się pustych pudełek rzeczy, które już wyrzuciłeś. W istocie, SSD garbage collection to zautomatyzowany proces, który ma na celu poprawę wydajności.
wszyscy wiemy, że dyski SSD są początkowo bardzo szybkie, ale dowiadujemy się, że z czasem stają się wolniejsze, zwłaszcza gdy dysk zaczyna się zapełniać. Jest to dokładnie to, co SSD garbage collection ma na celu zapobiec. Przy odpowiedniej konserwacji można zachować prędkość dysku SSD.
duże spowolnienie dysków SSD
aby zrozumieć, dlaczego dyski SSD z czasem stają się wolniejsze, ważne jest, aby wiedzieć, jak działają systemy plików. Każdy system plików ma swój własny sposób robienia rzeczy, ale ogólnie rzecz biorąc, kiedy usuwasz plik, plik ten nie jest tak naprawdę znikany. System operacyjny zazwyczaj nie kasuje bloków pamięci, które były wcześniej zamieszkiwane przez plik. Zamiast tego System operacyjny po prostu oznacza bloki jako dostępne i przechowuje te informacje w pliku katalogu. Dlatego oprogramowanie do odzyskiwania, takie jak Hard Disk Warrior, jest w stanie odzyskać pliki, które zostały „usunięte”. Plik nadal istnieje w tych blokach na dysku, ale plik katalogu wymienia je jako puste, więc są niewidoczne dla komputera.
z dyskami twardymi ta metoda usuwania pliku nie była problemem. System operacyjny po prostu oznaczałby bloki jako dostępne, a dysk twardy mógł zapisywać nowe dane na górze starych danych. Dyski SSD tego nie potrafią. W przypadku dysków SSD bloki pamięci muszą zostać usunięte, zanim będą mogły zostać nadpisane. To właśnie wymóg usuwania wcześniej używanych bloków powoduje, że dyski SSD stają się z czasem wolniejsze.
usuwanie śmieci SSD
aby zapobiec tej niepożądanej sytuacji, nowoczesne dyski SSD uruchamiają złożone procedury zwane garbage collection, aby zawsze zachować jak największą rezerwę nieskazitelnych pustych bloków gotowych do zapisu. Usuwanie śmieci polega na przeszukiwaniu przez kontroler spisanych stron w poszukiwaniu stron oznaczonych jako „nieaktualne” —to znaczy, że zostały one zapisane, a następnie zawarte w nich dane musiały zostać zmodyfikowane przez system operacyjny; ponieważ zmiana stanu strony jest niemożliwa bez jej wcześniejszego usunięcia, zmiany są zawsze zapisywane do nowych stron i starych stron oznaczonych jako nieaktualne. Garbage collection wyszukuje bloki zawierające mieszankę dobrych i starych stron, a następnie duplikuje wszystkie dobre strony w nowe bloki i pozostawia tylko stare strony w starym bloku. Następnie usuwa Stary blok i oznacza go gotowym do użycia.
jest jednak jeszcze jeden szczegół na temat usuwania śmieci SSD. Dyski SSD mogą odczytywać i zapisywać na poziomie strony-co jest zwykle 8KB dla nowoczesnych dysków—ale mają swoistą awarię, ponieważ nie mogą wymazać na poziomie strony. Dyski SSD mogą usuwać tylko całe bloki, które zwykle składają się z setek stron. Powodem tego jest to, że usuwanie zawartości strony wymaga zappingu tej strony z nieznaczącą ilością napięcia, a układ w stylu NAND wszystkich nowoczesnych dysków SSD sprawia, że niezwykle trudno jest odizolować to napięcie tylko do stron, które wymagają usunięcia.
i tu pojawia się błędna nazwa „Garbage collection”, bo to naprawdę dobre strony, które się „zbiera”, a śmieci zostawia. Celem tego procesu jest próba optymalizacji wydajności poprzez umieszczenie bloków całkowicie pustych (a następnie wymazanie bloku) lub całkowicie pełnych.
a co z TRIM?
na dysku twardym zwykle istnieje stała korelacja między klastrami systemu plików a sektorami dysku. Ale na dysku SSD, gdzie nie ma stałej korelacji i gdzie używane strony muszą być śledzone i odbierane przez usuwanie śmieci, może to być wielka sprawa. Strony zawierające usunięte pliki wyglądają jak poprawne strony i są gromadzone wraz z rzeczywiście dobrymi stronami.
taka sytuacja została wprowadzona w celu zaradzenia. TRIM (który jest poprawnie pisany wielką literą, ale nie jest akronimem) jest komendą ATA, którą System Operacyjny może spowodować, aby została wysłana, gdy usunie plik. Polecenie TRIM zapewnia mostek z poziomu pliku do poziomu bloku, dając systemowi operacyjnemu sposób na poinformowanie dysku SSD, że usuwa pliki i oznaczenie stron tych plików jako przestarzałych.
w TRIM dysk SSD nie jest już zmuszony do zapisywania stron należących do usuniętych plików. TRIM nie jest alternatywą dla garbage collection—działa z garbage collection, aby lepiej oznaczyć strony jako przestarzałe. Nie trzeba też TRIM, aby można było usuwać śmieci—ale TRIM sprawia, że usuwanie śmieci na dysku SSD jest bardziej wydajne.
biorąc to pod uwagę, jeśli używasz komputera Mac, Apple nie obsługuje TRIM na dyskach SSD innych firm. Można było obejść to ograniczenie w poprzednich wersjach OS X, ale nie można tego zrobić w Yosemite bez otwarcia dziury bezpieczeństwa —nie rób tego, ponieważ chociaż TRIM robi różnicę w zmniejszaniu wzmocnienia zapisu i wydłużaniu żywotności i wydajności dysku SSD, nie jest to warte otworów bezpieczeństwa wielkości stodoły, które trzeba otworzyć, aby je uzyskać.
więc zawsze używaj TRIM, jeśli możesz. To sprawi, że Twój SSD ’ s garbage collection działa o wiele lepiej. Ale jeśli znajdziesz się w sytuacji, w której TRIM nie jest dostępny, nie panikuj—miło jest mieć, ale nie jest to wymóg.