Dyski bez... dysków

Optymalizacja wydajności dysku SSD

W wielu magazynach i portalach internetowych znajdziemy mnóstwo testów nowych dysków SSD, ale najczęściej na podstawie wyników pomiarów wydajności trudno ustalić nawet najprostsze fakty. Wiele osób uznaje, że nie ma problemu i z całą powagą zamieszcza bez żadnego komentarza wyniki różniące się od pozostałych. Jeżeli jeszcze w testach syntetycznych, które polegają na symulacji pracy popularnych aplikacji, różnice w wynikach dają się wytłumaczyć używaniem innej platformy, procesora, pamięci itd., to przyczyn rozbieżności w benchmarkach bezpośrednio mierzących transfery dyskowe można szukać tylko w sferze cudów. Warto zacząć od komputera. Była już mowa o dwóch milisekundach traconych na skasowanie dużego bloku pamięci prawie przy każdym zapisie nawet pojedynczych bitów. Większość kontrolerów napędów SSD usiłuje skrócić te opóźnienia, łącząc kilka małych porcji danych w większe partie w celu zapisania ich w jednym kroku. Wtedy kasowanie przeprowadza się raz, a nie kilka razy. Zwykle do takiego połączenia danych wykorzystywany jest mechanizm NCQ, wymyślony do twardych dysków w zupełne innym celu. Część kontrolerów SSD, w tym Intela, opiera się na możliwościach mostka południowego płyty głównej. Uaktywnienie tego mechanizmu wymaga przestawienia komputera w tryb AHCI i zainstalowania dodatkowego sterownika. Jak to wykonać bez reinstalacji systemu, napiszemy w jednym z najbliższych numerów. Wysiłek poświęcony na instalację AHCI zwraca się w postaci dużego wzrostu wydajności podczas transferu małych plików.

Większość użytkowników jest przekonana, że wydajność dysku SSD będzie cały czas taka sama i rzeczywiście - pierwsze napędy z prostymi mechanizmami wyrównywania obciążenia poszczególnych komórek pamięci miały te cechy. Skomplikowanie algorytmów transferu przyniosło efekt podobny do znanego fizykom z mechaniki kwantowej. Nie sposób nawet przewidzieć, czy takie same operacje dyskowe spowodują zwiększenie czy obniżenie wydajności następnych. Ponieważ fizyczna lokalizacja konkretnych danych w komórkach pamięci flash nie jest znana systemowi operacyjnemu, nie może on bezpośrednio manipulować ich położeniem. Ewentualną defragmentację mógłby wykonywać tylko sam napęd. Rozdrobnione części plików pozostają na swoim miejscu, dopóki nie zostaną przesunięte przy okazji zapisania w tym miejscu dużych, niepodzielonych zbiorów danych. W efekcie różnych operacji o większym i mniejszym zasięgu napęd nie ma ustalonego poziomu fragmentacji. W różnych testach przekonaliśmy się, że "używany" X25-M zawsze będzie miał gorszą wydajność niż "nowy" bez względu na zastosowanie jakichkolwiek algorytmów adaptacyjnych, usiłujących to zmienić. Są jednak sposoby na przywrócenie optymalnej wydajności dysku. Dwa z nich zaproponował sam Intel.

Sposób pierwszy

Pierwsza kuracja polega na przeprowadzeniu sekwencyjnego zapisu na "leczonym" napędzie za pomocą programu IOMeter, który należy tak skonfigurować, żeby wykonał test trwający jedną sekundę. Na napędzie musi być pusta partycja NTFS. W takim wypadku IOMeter "przygotuje" napęd do testu odczytu, wypełniając sekwencyjnie cały dostępny obszar plikiem IOBW.tst. Wszystkie LBA napędu zostaną oznaczone jako "dane użytkownika" i to spowoduje szybką adaptację napędu do typowej pracy.

Sposób drugi

Alternatywna i szybsza metoda polega na wykorzystaniu narzędzia HDDErase (w wypadku X25-M w wersji wcześniejszej od 4.0!) do wykasowania całego dysku. Polecenie SECURE ERASE spowoduje zwolnienie wszystkich lokacji LBA zapisanych wewnętrznie w napędzie. To odpowiada stanowi, jaki nadaje się dyskowi w wytwórni przed wysyłką, i powinno przywrócić optymalną wydajność.

Aby zachować dobrą wydajność SSD nie należy na dysku umieszczać często używanych plików (w rodzaju Temporary Internet Files). Istotne jest także zrezygnowanie plików wymiany. Warto też unikać aplikacji zapisujących nawet duże pliki, ale małymi porcjami, takich jak BitTorrent. Kluczowe jest również nieuruchamianie żadnych programów defragmentujących. Ten stan rzeczy może się szybko zmienić. Do akcji wkraczają kontrolery dysków SSD z dużo większymi możliwościami. Samsung S3C49 czy nowy Barefoot z debiutującej firmy Indilinx, zastosowany w Verteksach z OCZ, to prawdziwe komputery z procesorem ARM i wymiennym programem. Prawdopodobnie tutaj zostaną ulokowane nowe algorytmy, które wspólnie z wielką pamięcią podręczną pomogą dyskom półprzewodnikowym lepiej udawać talerze i głowice tradycyjnych twardzieli.