Wpływ zjawiska starzenia na wydajność dysków SSD

| Technika

Pojawienie się dysków SSD otworzyło nowy rozdział w historii masowego przechowywania danych. Na przykładzie wyników badań opublikowanych przez zespół pracowników Hyperstone, jednego z producentów tego typu układów, przyjrzymy się zmianom ich wydajności w trakcie rzeczywistych warunków pracy, z uwzględnieniem czynników takich jak temperatura oraz starzenie się układu. Uzyskane wyniki dalece odbiegają od wartości umieszczanych przez producentów w katalogach.

Wpływ zjawiska starzenia na wydajność dysków SSD

Dyski SSD wyróżniają się obecnie świetnymi osiągami zarówno pod względem dopuszczalnej pojemności, jak i prędkości odczytu oraz zapisu danych. Mają wiele zalet w porównaniu do dysków magnetycznych (HDD) – brak części ruchomych czyni je odpornymi na drgania i wstrząsy, a także pozwala na cichszą pracę. SSD charakteryzują się ponadto większą energooszczędnością oraz, przede wszystkim, większą prędkością zapisu i odczytu danych. Pojawienie się dysków SSD wyposażonych w magistralę PCI Express (zamiast powszechnie stosowanego interfejsu SATA) umożliwiło kolejną znaczącą poprawę ich osiągów.

Wydajność, mierzona przede wszystkim z uwzględnieniem prędkości transmisji, jest kluczowym parametrem pozwalającym oceniać jakość dysków SSD, jak również dokonywać rozróżnienia oraz gradacji pomiędzy poszczególnymi produktami tego typu. Porównanie dwóch różnych modeli wydaje się w tej sytuacji raczej łatwe – każdy producent umieszcza w karcie katalogowej wartość prędkości zapisu/odczytu (w MB/s) oraz liczby możliwych operacji wejścia/wyjścia na sekundę (IOPS). Jak wynika z opublikowanych pomiarów, wartości te mogą być jednak znacząco odbiegające od rzeczywistości. Po analizie zgromadzonych danych można dojść do wniosku, że informacje katalogowe stanowią zazwyczaj jedynie dość dokładne odzwierciedlenie parametrów układu w momencie jego zakupu, zazwyczaj nie uwzględniają jednak pogorszenia jego wydajności w wyniku procesów starzenia. Warto zatem mieć świadomość skali oraz rzędu wielkości, o jaki mogą zmienić się wskaźniki pracy dysku SSD wraz z czasem trwania jego eksploatacji.

Prędkość sekwencyjnych operacji zapisu oraz odczytu wyraża się w MB/s. Operacje sekwencyjne polegają na uzyskaniu dostępu do kolejno następujących po sobie adresów z przestrzeni adresowej urządzenia. Wiążą się najczęściej z transferem dużej ilości danych (rzędu setek kB lub więcej), leżących w sąsiadujących ze sobą obszarach pamięci. W przeciwieństwie do nich operacje dostępu losowego (random access operations) opierają się na odczycie lub zapisie adresów w sposób nieciągły. Miarą skuteczności oraz szybkości pracy dysku SSD w tym trybie jest liczba operacji wejścia/wyjścia wykonywanych na sekundę (IOPS, Input/Output Operations per Second). Z operacjami dostępu losowego ma się do czynienia przede wszystkim podczas odczytu małych porcji danych, np. pojedynczych niewielkich plików. Nowoczesne dyski SSD charakteryzują się osiągami na poziomie nie niższym niż 3000 MB/s dla zapisu sekwencyjnego oraz ponad 200 000 IOPS przy zapisie losowym.

Różnica pomiędzy parametrami katalogowymi a rzeczywistymi

Zapewne wielu projektantów byłoby w stanie zgodzić się ze stwierdzeniem, że wartości parametrów podawane w katalogach będą charakteryzować dysk SSD przez większość jego czasu pracy. Zespół z Hyperstone przeprowadził badania mające na celu zweryfikowanie tej hipotezy. Grupę różnych modeli dysków SSD pochodzących od odmiennych producentów poddano testom mającym na celu długookresowe sprawdzenie wydajności, jak również zbadanie wpływu temperatury otoczenia na parametry produktu.

Pierwsze badanie polegało na wykonaniu testu CrystalDiskMark w celu sprawdzenia zgodności parametrów rzeczywistych z katalogowymi dla nowego produktu. Następnym etapem badania było przeprowadzenie 72-godzinnego powtarzania operacji zapisu losowego za pomocą narzędzia IOMeter. Po długotrwałym zapisie dysk był ponownie testowany za pomocą CrystalDiskMark, co pozwalało wyznaczyć dwa rodzaje parametrów każdego z produktów – dla warunków najbardziej (best-case) oraz najmniej optymalnych (worst-case). O ile samo istnienie różnicy pomiędzy tymi dwoma rodzajami parametrów nie było żadnym zaskoczeniem, o tyle niespodziankę stanowić może skala tej różnicy. Dość niespodziewany jest też czas, po jakim parametry ulegały znaczącej degradacji. Autorzy badania na podstawie wszystkich zgromadzonych danych doszli do wniosku, że zdecydowana większość modeli dysków SSD była w stanie utrzymać parametry pracy zbliżone do katalogowych nie dłużej niż przez ok. 100 s ciągłej pracy.

 
Rys. 1. Cyklicznie i długotrwale powtarzana operacja zapisu losowego jest w stanie w ciągu kilkudziesięciu sekund drastycznie obniżyć parametry pracy dysku SSD

Na rysunku 1 przedstawiono wykres wartości IOPS na przestrzeni testu dla jednego z badanych układów. Urządzenie było w stanie utrzymać stałą (i jednocześnie maksymalną) wartość parametru przez około 50 s. Następnie wydajność dysku spadła ponaddziesięciokrotnie, oscylując pomiędzy wartością 1000 a 2000 przez resztę testu.

Przyczyny degradacji wydajności dysków SSD

Znaczący spadek wydajności dysków SSD w miarę upływu czasu pracy związany jest z wieloma czynnikami. Każda operacja odczytu/zapisu wymaga wielu dodatkowych zabiegów na pamięci Flash wykonywanych przez kontroler pamięci. Układ ten prowadzi również różnego typu działania w tle normalnej pracy, związane np. z usuwaniem nieaktualnych sektorów (garbage collecting), zapewnieniem równomiernego zużycia wszystkich bloków pamięci (wear-leveling), odświeżaniem zapisanych danych, itd. W przypadku krótkotrwałych operacji zapisu/odczytu kontroler jest w stanie ukryć obecność dodatkowych operacji, przez co nie wpływają one na wydajność urządzenia. Większość testów typu benchmark służących do porównywania jakości układów pamięci również uruchamia się jedynie na kilka sekund, przez co nie są w stanie odnotować spadku wydajności układu w czasie pracy.

Zmiana parametrów na przestrzeni całego cyklu życia dysku

Kolejne z opublikowanych wyników badań pokazują, jak zmienia się wydajność dysków w okresie całego ich życia. Do oceny tego parametru wykorzystano sekwencyjny oraz cykliczny zapis danych aż do zapełnienia całkowitej pojemności dysku, następnie zaś ich odczyt. Dokonano pomiaru czasu trwania obu tych operacji. Badanie powtarzano aż do osiągnięcia granicy maksymalnego czasu życia produktu. Na rysunku 2 przedstawiono wyniki badania dla jednego z testowanych urządzeń.

 
Rys. 2. Prędkość odczytu znacząco rośnie w końcowym etapie życia urządzenia, przede wszystkim z powodu obecności coraz większej liczby uszkodzonych bloków pamięci Flash

Rezultaty pokazują, że czas życia badanego modelu wynosi ok. 6000 cykli zapisu. Jest to wynik znacznie lepszy od większości przebadanych dysków korzystających z technologii TLC (Triple Cell Level, zapis 3 bitów danych w jednej komórce pamięci Flash) – średnia wartość żywotności zmierzona wśród testowanych produktów z tej grupy wyniosła ok. 3000 cykli. Technologia TLC pozwala uzyskać znacznie większą pojemność oraz gęstość upakowania danych niż SLC (Single Level Cell, 1 bit w każdej komórce pamięci), stosowane pierwotnie w układach Flash. Układy SLC charakteryzowały się jednak znacznie większą żywotnością, na poziomie ok. 100 000 cykli.

Wprowadzenie do powszechnego użytku technologii TLC oraz związana z tym większa liczba błędów odczytu wymusiły opracowanie nowych i bardziej czasochłonnych metod korekcji błędów. Większość układów korzysta z metody określanej jako soft -decoding, polegającej na wielokrotnym odczycie tych samych komórek pamięci w celu zminimalizowania ryzyka wystąpienia przekłamania odczytu. W końcowej fazie życia produktu, w związku ze wzrastającą liczbą uszkodzonych obszarów pamięci, przekładającą się na znacząco wyższą częstotliwość występowania błędów odczytu, zwiększa się liczba koniecznych powtórzeń operacji, przez co maleje prędkość odczytu.

Wpływ temperatury otoczenia

Większa liczba błędów może być spowodowana nie tylko starzeniem się układu, ale również oddziaływaniem czynników zewnętrznych, przede wszystkim temperatury otoczenia. Szczególnie niebezpieczne są sytuacje, podczas których dane zapisywane były na nośnik przy innej temperaturze otoczenia niż ta występująca podczas odczytu. Nawet w zwyczajnym laptopie temperatura może zmieniać się podczas pracy o kilkadziesiąt stopni Celsjusza, od temperatury pokojowej (ok. 25°C) do tej przekraczającej 60°C. Innego rodzaju urządzenia, jak np. systemy nawigacji samochodowej, mogą doświadczać jeszcze większych różnic temperaturowych. Nowoczesne technologie Flash, takie jak TLC, są znacznie bardziej podatne na wahania temperatury oraz występowanie drobnych różnic w wartości odczytanego sygnału.

Ponieważ układy TLC Flash charakteryzują się zazwyczaj wolniejszym czasem dostępu (zapisu oraz odczytu) od układu SLC, te drugie są często wykorzystywane jako dodatkowy element wyposażenia dysku SSD, pozwalający poprawić parametry jego pracy. Kontroler pamięci korzysta z pamięci SLC jako swego rodzaju bufora, pozwalającego gromadzić dane przeznaczone do dalszego umieszczenia w wolniejszej pamięci TLC. Rozwiązanie to również może być częściowo odpowiedzialne za degradację wydajności dysków wraz z upływem ich czasu pracy.

 
Rys. 3. W wyniku sekwencyjnego zapisu przeprowadzanego w temperaturze pokojowej dysk SSD z interfejsem PCI Express nagrzał się do temperatury dochodzącej do 70°C

Temperaturowa degradacja parametrów dysku może być związana z dwoma czynnikami – temperaturą otoczenia oraz temperaturą samego urządzenia wzrastającą wskutek jego nagrzewania się podczas pracy. Na rysunku 3 przedstawiono wykres wzrostu temperatury dysku SSD z interfejsem PCI Express wskutek normalnej pracy urządzenia. Badanie przeprowadzane było w temperaturze pokojowej 25°C. Po ok. 95 s sekwencyjnego zapisu układ nagrzał się do temperatury ok. 70°C. Po osiągnięciu pewnej wartości progowej załączony został mechanizm zabezpieczający urządzenie, chroniący przed przegrzaniem oraz polegający na obniżeniu szybkości pracy układu.

 
Rys. 4. Przykładowa konstrukcja dysku SSD z interfejsem SATA. Większą część płytki zajmują układy pamięci NAND Flash, pracą całości zarządza mikroprocesor.

Podsumowanie

Przedstawione badania pokazały, że parametry publikowane w kartach katalogowych dysków SSD nie mogą być traktowane jako jedyny oraz niezmienny wskaźnik ich wydajności oraz efektywności. W rzeczywistości produkty te są w stanie utrzymać parametry pracy zbliżone do zakładanych na nie dłużej niż kilkadziesiąt sekund ciągłej pracy. Planując wykorzystanie tego typu urządzeń w systemie, należy liczyć się z możliwością znaczącej degradacji prędkości zapisu oraz odczytu. Konieczne jest zatem uwzględnienie tego zjawiska podczas obliczania wydajności oraz możliwości systemu.

 
Rys. 5. Typowy schemat blokowy dysku SSD

 

Damian Tomaszewski