SSD - superszybkie, ale nie zawsze opłacalne

Algorytmy SSD wprowadzają nie tylko złożoność, ale również mogą mieć negatywny wpływ na wydajność. Poza mechanizmem LSA, kontroler SSD ma algorytmy odpowiedzialne za utrzymanie spójności danych. Przykładowo, zadaniem jednego z nich jest unikanie nadmiernego użycia poszczególnych bloków danych, co ma zapobiegać ich zużyciu. Zużyty blok jest bowiem oznaczany jako niedostępny. Należy zwrócić uwagę, że faktyczna pojemność nośników flash jest znacznie większa (nawet dwukrotnie) od nominalnej, podawanej przez producenta, którą „widzą” serwery. Operacje odczytu mogą wpływać na napięcie sąsiadujących bloków, jeśli te komórki nie będą regularnie nadpisywane. Dlatego kontroler wymusza periodyczne nadpisanie statycznych danych, aby uniknąć błędów i utraty danych.. Ponieważ ten algorytm wymaga dodatkowych operacji I/O, może wpływać na wydajność SSD, gdy jest uruchamiany.

SSD - superszybkie, ale nie zawsze opłacalne
SSD - superszybkie, ale nie zawsze opłacalne

Kolejny mało eksponowany fakt to dostosowanie algorytmów macierzy do specyfiki twardych dysków. W większość przypadków kod używany w macierzach korporacyjnych został opracowany z myślą o technologii HDD. Przykładowo, ma on wbudowane funkcjonalności wykorzystujące zapis w oparciu o ścieżki, podczas gdy w pamięciach SSD nie ma znaczenia, czy odczytuje się sekwencyjnie wskazaną ścieżkę czy pojedyncze, chaotycznie rozrzucone strony.

Zobacz również:

  • Nowa era w pojemności dysków twardych

Komponenty sprzętowe wbudowane w macierze również były projektowane z uwzględnieniem specyfiki dysków HDD. Tymczasem pojedynczy nośnik SSD może wykonywać dziesiątki tysięcy operacji I/O na sekundę. W efekcie kontroler wbudowany w macierz może być w pełni obciążony już przy jednym nośnik flash. W ten sposób powstaje wąskie gardło w systemie, który może sobie dobrze radzić z setkami terabajtów dysków twardych.

Poza tym wydajność SSD bywa niestabilna, dopóki nośnik przez chwilę nie popracuje. Po uruchomieniu nowego nośnika jego wydajność będzie wybitna, dopóki nie zostaną zapisane wszystkie komórki pamięci w ramach danego nośnika. Ważne dla kondycji SSD jest, aby przynajmniej raz zapisać pełną pojemność, również tę nadmiarową, przed wykonaniem jakichkolwiek testów wydajności. To da pewność, że zostaną uruchomione algorytmy odpowiadające za ochronę bloków przed nadmiernym zużyciem.

Dynamiczne przydzielanie danych (tiering) jest świetną technologią, jeśli mamy do czynienia z powtarzającymi się wzorcami, które wskazują, na jakich nośnikach umieszczać poszczególne dane. Każdy rodzaj tej technologii lokuje na nośnikach SSD dane, które charakteryzują się odczytem małych bloków, a dane o sekwencyjnym charakterze odczytów umieszcza na dyskach twardych. Decyzje są podejmowane na podstawie historycznych danych. Jeśli wzorzec odczytu danych się zmieni, zostaną one przeniesione na inny rodzaj nośnika. Jeśli jednak zmiany są trudne do przewidzenia i częste, mechanizm ten nie będzie w stanie za nimi nadążyć i w konsekwencji zysk na wydajności będzie niewielki.

Wszyscy producenci korporacyjnych macierzy SSD kupują te nośniki od zewnętrznych dostawców, bądź jak w przypadku Hitachi od innego oddziału swojej korporacji. To oznacza, że producenci SSD nie współpracują zbyt blisko z ludźmi, którzy później rozwijają produkty wyposażone w te nośni. Owszem, to samo można powiedzieć o twardych dyskach, jednak ta technologia jest znacznie dojrzalsza, a jej charakterystyka jest znacznie lepiej znana. W przypadku SSD producenci pamięci masowych nie mają wyboru i muszą polegać na producentach SSD w zakresie gwarancji jakości. Jeśli pojawią się problemy z jakością, konieczne będzie ściągnięcie inżynierów od SSD. Producenci macierzy stają wtedy w pozycji nie do pozazdroszczenia jako pośrednik między klientem a dostawcą nośników flash.

Flash korporacyjny vs konsumencki

Między korporacyjnymi i klienckimi nośnikami SSD są istotne różnice dotyczące trwałości pamięci flash w zakresie cykli programowania i kasowania oraz implementacji złożonych technik zarządzania dostosowanych do różnych obciążeń.

Z pamięcią flash wiąże się kilka problemów, jednym z nich jest współczynnik naturalnie występujących błędów (BER, Bit Error Ratio), które dzielimy na korygowalne (procesor wbudowany w nośnik SSD potrafi je naprawić) i niekorygowalne. Ten drugi rodzaj błędów występuje dziesięciokrotnie częściej w klienckich nośnikach SSD niż w korporacyjnych. Ponadto producenci stosują w korporacyjnych produktach dodatkowe technologie, które pozwalają obniżyć współczynnik błędów o kilka rzędów wielkości. Jest to bardzo istotne z punktu widzenia integralności danych.

Korporacyjne SSD mogą też zawierać elektronikę sterującą wykrywającą utraty zasilania W przypadku awarii jej zadaniem jest włączenie tymczasowego zasilania pamięci z kondensatorów, co umożliwi ukończenie operacji zapisu.

Drugi problem to trwałość komórek w pamięci flash. Z każdym cyklem programowania i kasowania (P/E) komórki w pamięci flash spada jej zdolność do przechowywania danych. Aż w pewnym momencie należy ją oznaczyć jako niedostępną. Trwałość pamięci flash zależy od procesu wytwarzania, a różnice sięgają nawet kilku rzędów wielkości.

Organizacja JEDEC Committee zaproponowała wprowadzenie miary trwałości oznaczanej jako liczba zapisanych terabajtów (TeraBytes Written, TBW). Parametr wskazuje, ile danych można zapisać na dysku SSD, zanim trzeba będzie go wymienić. TBW to ważny parametr odróżniający korporacyjne dyski SSD od klienckich.

Kolejna różnica to technologia S.M.A.R.T. Ta stosowana w dyskach SSD klasy korporacyjnej umożliwia urządzeniu dokładniejsze przewidywanie awarii. Często są także obsługiwane ostrzeżenia zgłaszane przed wystąpieniem awarii. Klienckie dyski SSD oferują tylko minimalne możliwości technologii S.M.A.R.T.

W zależności od klasy i pojemności dysku SSD może mieć wbudowaną większa liczbę nadmiarowych komórek, które pełnią funkcję zapasowych bloków pamięci (OP). Pojemność zapasowych bloków pamięci jest niewidoczna dla użytkownika i systemu operacyjnego.


TOP 200