Czy powinienem defragmentować dysk SSD? [duplikować]

57

Czy mogę uruchomić system Windows defragna SSDdysku?

Cóż, wierzę, że krótka odpowiedź brzmi „ tak ”. Słyszałem, że dyski SSD wymagają specjalnych i specyficznych programów do defragmentacji.

Czy to prawda, a jeśli tak, to gdzie mogę ją zdobyć?

Royi Namir
źródło
6
W rzeczywistości nie potrzebujesz / nie chcesz defragmentować dysku SSD ... nie przyspieszyłoby to dostępu itp.
woliveirajr
Myślę, że prawie wszystkie te odpowiedzi fragmentacji dysku SSD superużytkownika są błędne ... przynajmniej w zakresie, w jakim fragmentaryczne zapisy się mieszczą. Tak, poziomowanie zużycia celowo fragmentuje pliki. Dzieje się tak jednak w przyrostach wielkości bloku kasowania. Jeśli minimalna porcja systemu plików jest mniejsza niż blok wymazywania (prawie zawsze i to z dużym czynnikiem), wówczas fragmentowany plik podczas zapisywania spowoduje zapisanie większej liczby bloków wymazywania. Może to być naprawdę znaczący spadek wydajności zapisu, jeśli fragmenty / klastry / i-węzły / etc w różnych blokach kasowania są mocno rozdrobnione.
darron
I staje się znacznie gorzej z „tanią” pamięcią flash, taką jak USB i SD: google.com/search?q=how%20to%20damage%20flash%20storage
MarcH

Odpowiedzi:

110

Ponieważ wydaje się, że istnieją pewne kontrowersje na ten temat, pomyślałem, że pomocne będzie szczegółowe wyjaśnienie:

Nigdy nie należy defragmentować dysku SSD. Nawet o tym nie myśl. Powodem jest to, że fizyczne umieszczanie danych na dysku SSD jest obsługiwane wyłącznie przez oprogramowanie układowe dysku SSD, a to, co zgłasza systemowi Windows, NIE JEST sposobem, w jaki dane są faktycznie przechowywane na dysku SSD.

Oznacza to, że fizyczne umieszczenie danych, które defragger pokazuje na swoim fantazyjnym wykresie sektorowym, nie ma nic wspólnego z rzeczywistością. Dane NIE są tam, gdzie myśli, że są, i Windows nie ma kontroli nad tym, gdzie dane są faktycznie umieszczone.

Aby wyrównać wykorzystanie wewnętrznych układów pamięci, oprogramowanie układowe SSD celowo dzieli dane na wszystkie układy pamięci SSD, a także przenosi dane na tych układach, gdy nie jest zajęty odczytem lub zapisem (w celu wyrównania zużycia układu) .)

System Windows nigdy tego nie widzi, więc jeśli wykonasz defragmentację, system Windows po prostu spowoduje powstanie całego zestawu niepotrzebnych operacji we / wy na dysku SSD, a to nie zrobi nic poza zmniejszeniem żywotności dysku SSD.

Mały pomocnik
źródło
8
@Royi W rzeczywistości czytanie nie szkodzi dyskowi SSD, tak jak pisanie.
Mały pomocnik
54
Ponadto dyski SSD nie mają czasu wyszukiwania, więc układanie plików w kolejnych blokach nie przyniosłoby korzyści w zakresie wydajności.
200_success
5
@OlivierDulac: chociaż twoje dane są poprawne, wnioski są całkowicie błędne. To 3K cykli na komórkę , dyski SSD mają zaawansowane układy scalone, zapewniające równomierną dystrybucję zapisów między komórkami i zapobieganie punktom zapalnym. A dzięki TLC jest to nawet zaledwie 1000 cykli na komórkę. Co oznacza, że ​​dysk SSD TLC o pojemności 256 GB, z 10 GB dziennie zapisu z 3-krotnym wzmocnieniem, będzie trwał 12 lat. Dysk SSD MLC 256 GB w tych samych warunkach będzie trwał 70 lat . A nawet, że są bardzo ostrożne szacunki, w prawdziwym życiu zdają się trwać o wiele dłużej anandtech.com/show/6459/...
vartec
5
@ 200_success W rzeczywistości dyski SSD mają czas na wyszukiwanie. Mówiąc dokładniej, dyski SSD odczytują i zapisują szybciej, gdy dane są używane sekwencyjnie. Ta osoba wyjaśnia to znacznie lepiej ode mnie: dpreview.com/forums/post/40353067 Nie wiem, czy to zwiększenie prędkości jest spowodowane jakimś „ brakiem pamięci podręcznej”, ponieważ zmiana adresu wymaga czasu lub czegoś, co mogę ” Wyobraź sobie, ale dyski SSD mają opóźnienie dla zastosowań niesekwencyjnych. A dla mnie oznacza to, że mają czas na poszukiwanie.
Patrick M
25

Ktoś (200_success) napisał komentarz, który jest znacznie bardziej odpowiedni do pytania i warty lepszego uszczegółowienia.

Po pierwsze: HDD oznacza dysk twardy i naprawdę ma w nim dysk. Ten dysk jest podzielony na małe części, zwane sektorami, w których przechowywane są informacje. Spójrz na to zdjęcie:

Obraz dysku

Sektor oznaczony jest literą C.

Ten sektor jest bardzo mały: ogólnie tylko 512 bajtów. Tak więc, aby przechowywać wspólny plik 10k, musisz użyć wielu sektorów.

Wyobraź sobie, że te sektory następują jeden po drugim, podobnie jak zielona reprezentacja, litera D, na zdjęciu. Kiedy trzeba odczytać plik, głowica dysku twardego zostanie ustawiona na początku pierwszego sektora i będzie czytać je wszystkie, gdy dysk się obraca.

Tak właśnie powinno działać.

Teraz może się zdarzyć, że plik zostanie rozłożony na wiele sektorów, każdy w jednej części dysku. Co to znaczy? Aby ponownie odczytać plik, głowica dysku twardego zostanie umieszczona na początku pierwszego sektora, przeczytaj go, a następnie będzie musiał przejść na początek drugiego sektora (czyli gdzieś na dysku), przeczytam i tak dalej ...

Zajmie to dużo czasu. Mówimy o fizycznym ruchu głowy. Im bardziej głowa się porusza, tym dłużej to trwa.

Defragmentujesz dysk: program próbuje przenieść wszystkie części pliku, aby skończyły się w sekwencji, łatwiej i szybciej czytając, ponieważ ruch fizyczny głowy będzie mniejszy, aby wszystko przeczytać.

Jak dotąd? Zaczynamy więc mówić o SSD: są to układy pamięci na płycie. Kiedy zapisujesz lub odczytujesz coś z nich, układ kontrolera musi po prostu aktywować niektóre bity i, voila , właściwy układ jest odczytywany z pamięci. I nie ma znaczenia, gdzie jest przechowywany, działanie dostępu do układu pamięci jest znacznie szybsze niż fizyczny ruch dysku twardego. Z grubsza rzecz biorąc, nie zauważyłbyś tego czasu w pofragmentowanym pliku na SDD.

A ponieważ jest bardziej szczegółowy i poprawny, układ kontrolny rozproszy Twój plik wśród wielu układów, aby skorzystać z równoległych odczytów itp., Więc wie, jak obsługiwać pliki, aby zawsze były przechowywane w najlepszej jakości (zoptymalizowane pod kątem szybkości i zużycie tych układów pamięci) niż Windows mógł wiedzieć.

woliveirajr
źródło
Fragmentacja to nie tylko problem dysku fizycznego, ale także systemu plików zarządzającego danymi. Wysoko pofragmentowane pliki mają wiele rozszerzeń / uruchomień zapisanych w swoim rekordzie NTFS, które należy przetworzyć podczas odczytywania całego pliku z dysku. Nie inaczej jest na dyskach SSD.
Gen
Defragmentacja rozwiązująca niewielki problem z organizacją NTFS to inna klasa rzeczy niż defragmentacja kompensująca problemy z wydajnością z powodu obracających się dysków z ruchomymi głowami. Jedyny powód, dla którego NTFS ma nawet te zakresy, to ze względu na obracanie dysków z ruchomymi głowami, prawda?
Kaz
@Gene: Nie powiedział, że używa NTFS ... Tak, defragmentacja poprawia wydajność, jeśli jesteś najlepszym użytkownikiem :-). Ale nie taki zadziwiający wynik, jaki ktoś miał, gdy defragmentował dysk w erze Win95. A często uruchamianie defragmentacji, aby zarobić te 0,01 mikrosekundy, nie jest warte zużycia. Martwiąc się o defragację na SSD, za kilka dni będziemy dyskutować, czy zmiana przeplotu sektorów na SSD będzie warta, jak to było w tych dyskietkach . ;-)
woliveirajr
2
@woliveirajr - Pamiętam, że zmieniłem przeplot na moim dysku twardym pod koniec lat osiemdziesiątych, a prędkość mojego komputera wzrosła ponad dwukrotnie. Czasami zastanawiam się, czy interleave zrobiłby jakąkolwiek różnicę na dzisiejszych komputerach.
Paddy Landau
@PaddyLandau :) O ile mi wiadomo, wszystkie dyski twarde faktycznie nie wymagają przeplotu (wszystkie sektory są odczytywane z rzędu, nie trzeba ustawiać przeplotu)
woliveirajr
13

Wbudowane narzędzie do defragmentacji w systemie Windows 8 nie defragmentuje dysku SSD, ale wyśle ​​do urządzenia kilka poleceń przycinania. Aby uzyskać więcej informacji na ten temat, zobacz to pytanie . Jak już zauważył Roberts, wcale nie chcesz defragmentować dysku SSD.

Gen
źródło
2
Fajnie, nie wiedziałem, że Windows 8 może zoptymalizować dyski SSD. W przypadku mojego dysku Intel w systemie Windows 7 możesz użyć programu SSD Toolbox firmy Intel, aby zoptymalizować wydajność dysku. Nigdy nie zauważyłem, że to naprawdę robi różnicę.
Tim B