Mój stary dysk SSD 128 GB ma teraz około półtora roku i od tego czasu zaktualizowałem go do innego.
Chciałbym wyczyścić mój stary dysk SSD, aby ...
przywrócić jego wydajność do prawie nowych poziomów
zrehabilituj go i ogólnie sprawdź stan zdrowia
Jak mam to zrobić?
ssd
maintenance
Jeff Atwood
źródło
źródło
Odpowiedzi:
W systemie Linux po prostu uruchom
przekazując zakresy bloków, które chcesz TRIM zamiast
start
icount
oraz urządzenie SSD zamiast/dev/sda
. Ma tę zaletę, że jest szybki i nie zapisuje zer na dysku. Raczej po prostu wysyła polecenia TRIM do kontrolera SSD, informując go, że nie obchodzą cię dane w tych blokach i może swobodnie założyć, że nie są one wykorzystywane w algorytmie odśmiecania.Prawdopodobnie musisz uruchomić tę komendę jako root. Ponieważ to polecenie jest bardzo niebezpieczne, ponieważ może natychmiast spowodować poważną utratę danych, musisz również przekazać
--please-destroy-my-drive
argument dohdparm
(nie dodałem tego do wiersza poleceń, aby zapobiec przypadkowej utracie danych spowodowanej kopiowaniem i wklejaniem).W powyższym wierszu polecenia
/dev/sda
należy zastąpić urządzenie SSD, do którego chcesz wysłać polecenia TRIM.start
jest adresem pierwszego bloku (sektora) do TRIM icount
jest liczbą bloków, które należy oznaczyć jako wolne od tego adresu początkowego. Możesz przekazać wiele zakresów do polecenia.Po tym, jak osobiście zrobiłem to z hdparm v9.32 na Ubuntu 11.04 na moim laptopie z 128 GB Crucial RealSSD C300, muszę zwrócić uwagę na problem: nie byłem w stanie przekazać całkowitej liczby bloków dysku (0: 250069680) jako zakresu . Ręcznie (w zasadzie „ręcznie wyszukiwane binarnie”) znalazłem wystarczająco dużą wartość dla liczby bloków, która działała (40000) i byłem w stanie wydać polecenia TRIM w sekwencji 40000 zakresów, aby zwolnić cały dysk. Można to zrobić za pomocą takiego prostego skryptu powłoki (testowanego na Ubuntu 11.04 pod rootem):
aby usunąć cały dysk, weź tę całkowitą liczbę sektorów i zamień 250069680 w następującym wierszu na tę liczbę i uruchom (dodaj
--please-destroy-my-drive
):I jesteś skończony! Możesz spróbować odczytać surową zawartość dysku
hexedit /dev/sda
przed i po oraz sprawdzić, czy dysk odrzucił dane.Oczywiście, nawet jeśli nie chcesz używać Linuksa jako podstawowego systemu operacyjnego komputera, możesz wykorzystać tę sztuczkę, uruchamiając płytę CD na żywo i uruchamiając ją na napędzie.
źródło
Po pierwsze, zacznijmy od zrozumienia, co powoduje obniżenie wydajności. Nie wiedząc o tym, wiele osób zasugeruje nieodpowiednie rozwiązania (jak to już widzę). Sedno tej całej sytuacji sprowadza się zasadniczo do następującego faktu, cytowanego z Wikipedii . Pamiętaj, to ważne:
Dyski SSD składają się z pamięci flash NAND, a pamięć flash składa się z „bloków”. Każdy blok zawiera wiele „stron”. Dla uproszczenia wyobraźmy sobie, że właśnie kupiliśmy nowy błyszczący dysk SSD, który zawiera niesamowity pojedynczy blok pamięci, który składa się z 4 pustych stron.
Dla jasności rozróżniam puste strony, używane strony i usunięte strony za pomocą ∅, 1 i X. Kluczem jest to, że istnieje różnica między nimi z perspektywy kontrolerów! To nie jest tak proste jak 1 i 0. Na początek strony naszego świeżego dysku wyglądają tak:
∅, ∅, ∅, ∅ (wszystkie puste)
Teraz przechodzimy do zapisywania niektórych danych na dysku, co kończy się zapisaniem na pierwszej stronie, a zatem:
1, ∅, ∅, ∅
Następnie piszemy nieco więcej danych, tym razem tyle, że wymaga dwóch stron, a więc jest przechowywany na drugiej i trzeciej stronie:
1, 1, 1, ∅
Kończy nam się miejsce! Zdecydowaliśmy, że tak naprawdę nie potrzebujemy zapisanych początkowych danych, więc usuńmy je, aby zrobić miejsce:
X, 1, 1, ∅
Wreszcie mamy kolejny duży zestaw danych, które musimy przechowywać, które zajmą pozostałe dwie strony. TO JEST GDZIE WYDAJNOŚĆ WYSTĘPUJE W NAPĘDACH BEZ WYKOŃCZENIA !! Przechodząc od naszego ostatniego stanu do tego:
1, 1, 1, 1
... wymaga więcej pracy, niż większość ludzi zdaje sobie sprawę. Ponownie wynika to z faktu, że flash może wymazywać tylko blokowo, a nie stronniczo, co jest dokładnie tym, czego wymaga końcowe przejście powyżej. Układ różniczkujący między wykończenia i non-TRIM SSD oparte jest przy następujących praca jest wykonywana!
Ponieważ musimy skorzystać z pustej strony i usuniętej strony, dysk SSD musi najpierw odczytać zawartość całego bloku w zewnętrznej pamięci / pamięci, usunąć oryginalny blok, zmodyfikować zawartość, a następnie zapisać tę zawartość z powrotem w blok. To nie jest tak proste jak „pisanie”, zamiast tego staje się teraz „czytaniem-kasowaniem-pisaniem”. Jest to duża zmiana, a do tego, aby doszło do tego, kiedy piszemy dużo danych, jest prawdopodobnie najbardziej nieodpowiednim czasem do jej wystąpienia. Można tego wszystkiego uniknąć, jeśli ta „usunięta” strona zostanie odzyskana z wyprzedzeniem, co dokładnie ma na celu TRIM. Dzięki TRIM dysk SSD albo odzyskuje nasze usunięte strony natychmiast po usunięciu, albo w innym odpowiednim czasie, który algorytmy TRIM uznają za właściwe. Ważną częścią jest jednak to, że z TRIM tak się nie dzieje, gdy jesteśmy w trakcie pisania!
Bez TRIM ostatecznie nie możemy uniknąć powyższego scenariusza, ponieważ zapełniamy dyski danymi. Na szczęście niektóre nowsze dyski SSD wykraczają poza TRIM i skutecznie robią to samo, co TRIM w tle na poziomie sprzętowym bez niezbędnych poleceń ATA (niektóre nazywają to odśmiecanie). Ale dla tych, którzy mają pecha, że go nie mają, ważne jest, aby pamiętać, że zapisywanie zer na całym dysku nie wystarcza do odzyskania oryginalnej wydajności !!!!! Zapis wszystkich zer na dysku nie oznacza kontrolerowi, że strona w pamięci flash jest wolna do zapisu. Jedynym sposobem, aby to zrobić na dysku, który nie obsługuje TRIM, jest wywołanie polecenia ATA bezpiecznego wymazywania na dysku za pomocą narzędzia takiego jak HDDErase (za pośrednictwem Wayback Machine) .
Uważam , że niektóre wczesne dyski SSD obsługiwały TRIM tylko po usunięciu partycji lub na takich rzeczach, jak „diskpart clean all all” systemu Windows 7, a nie po usunięciu pojedynczych plików. Może to być powód, dla którego starszy dysk odzyskał wydajność po wykonaniu tego polecenia. Wydaje mi się to trochę mgliste ...
Duża część mojej wiedzy na temat dysków SSD i ogólnie sprzętu / gadżetów pochodzi z anandtech.com . Myślałem, że ma świetny list wyjaśniający to wszystko, ale dla mojego życia nie mogę tego znaleźć!
źródło
Najwyraźniej standardową rekomendacją jest zapisywanie wszystkich zer na pełnym dysku. Nie jestem do końca pewien, dlaczego to pomaga (czy nie wiele zapisów ostatecznie zabija dyski SSD?), Ale wydaje się, że jest to wspierane przez fora wsparcia SSD największych dostawców.
Aby to zrobić w systemie Windows:
diskpart
W narzędziu zobaczysz
DISKPART>
monit i wydaj następujące polecenia:Oczywiście UPEWNIJ SIĘ , ŻE WYBRAŁO PRAWIDŁOWY NAPĘD SSD, zanim przejdziesz dalej!
Magia polega na
clean all
tym, że zapisuje wszystkie zera na dysku :Po wykonaniu tej czynności mogę potwierdzić, że wydajność dysku znacznie wzrosła.
źródło
Znalazłem również narzędzie, SSD Life Pro . Ma dla mnie złe wieści.
Jak to oblicza, wykorzystuje wskaźniki SMART SSD. Najwyraźniej próbuje przewidzieć na podstawie danych SMART :
Jest to trudne, ponieważ musi również wiedzieć, kiedy dane zostały zapisane w celu oszacowania, ale oto podstawowe dane:
Straszną liczbą jest pozostała żywotność dysku, która wynosi 4 .. procent!
I wynikające z tego obliczenia:
Dla przypomnienia, ten dysk został pierwotnie zakupiony w październiku 2009 r., Więc ma nieco ponad półtora roku.
źródło
Przekonałem się, że zapisywanie zer przez dysk nie jest najlepszym podejściem. Chociaż może to pomóc w krótkim okresie, okazało się, że zdecydowanie nie przywróciłem dysku do pełnej wydajności (mam raczej stary dysk SSD Intel-SSD nie obsługujący TRIM). Po około roku dość intensywnego użytkowania zacząłem uruchamiać się w ciągu 1-2 sekund, gdy dysk SSD próbował zapisać w dowolnym pliku, nawet po wyzerowaniu dysku SSD.
Jedyną rzeczą, którą odkryłem, że w pełni przywraca działanie było bezpieczne wymazywanie użyciu
hdparm
. Przyzwyczaiłem się do bezpiecznego wymazywania mojego dysku SSD co 6-12 miesięcy, kiedy zaczyna doświadczać drobnych czkawek. Ktoś na Macrumors stworzył samouczek dla komputerów Mac, w jaki sposób zrobić to na urządzeniach Mac *.Zgodnie ze wszystkimi twierdzeniami, które widziałem, bezpieczne wymazywanie wysyła specjalne polecenie na dysk SSD, który powoduje, że wszystkie sektory są zerowane na znacznie niższym poziomie niż tylko użycie
dd
lub coś.źródło
Na komputerze Mac sprawdź digilloydTools DiskTester . Istnieje również kilka interesujących punktów danych, aby zobaczyć wpływ regeneracji na wydajność dysku.
źródło
cat /dev/zero > /tmp/bigfile
.ThinkPady mają ukryte menu BIOS (włącz z http://www-307.ibm.com/pc/support/site.wss/MIGR-68369.html ), które resetuje dysk SSD.
źródło
Aby sprawdzić żywotność SSD pozostałą na dysku SSD (SSD), musisz zainstalować pakiet smartmontools. Zawiera dwa programy narzędziowe (smartctl i smartd) do sterowania i monitorowania systemów pamięci masowej za pomocą systemu technologii samokontroli, analizy i raportowania (SMART) wbudowanego w większość nowoczesnych dysków twardych ATA i SCSI.
Dla dystrybucji opartych na Ubuntu, Mint lub Debian
Media_Wearout_Indicator jest tym, czego szukasz. Dla 100 oznacza, że twoje ssd ma 100% życia, niższa liczba oznacza mniej życia.
Wyjście z mojego laptopa
Jeśli chcesz zobaczyć więcej szczegółów i pełne atrybuty z dysku, możesz uruchomić
Źródło: namhuy.net/1024/how-to-check-ssd-life-left.html
źródło
Istnieje teraz znacznie lepsza odpowiedź dla systemów Linux w porównaniu do odpowiedzi @LeakyCode:
Polecenie „fstrim” z „util-linx” uruchomi system plików i wyda polecenia TRIM dla całego nieużywanego miejsca. W dystrybucjach takich jak Ubuntu jest to domyślnie wyłączone, z wyjątkiem wybranej listy „znanych bezpiecznych” napędów Intel i Samsung. Ale polecenie można uruchomić ręcznie na dowolnej partycji dla dowolnego dysku.
źródło