Jak działają dyski SSD?

Często omawiana jest różnica między różnymi typami struktur NAND – pionowymi NAND i płaskimi, komórkami wielopoziomowymi (MLC) i komórkami trzypoziomowymi (TLC). Ale warto zastanowić się na prostszym i fundamentalnie istotnym pytaniu: jak działa dysk SSD?

Jak działają dyski SSD?

Aby zrozumieć, w jaki sposób dyski SSD różnią się od wirujących dysków, trzeba poruszyć temat dysków twardych. Dysk twardy przechowuje dane na obracających się dyskach magnetycznych zwanych płytkami. Istnieje elektryczny manipulator z dołączonymi głowicami do odczytu / zapisu. Ten manipulator kieruje głowice nad pożądaną częścią dysku w celu odczytu lub zapisu informacji.

Z uwagi na fakt, że głowica musi być zamocowana powyżej pewnego obszaru dysku do odczytu lub zapisu informacji (a dysk stale się obraca), czas oczekiwania na dane jest niezerowy. Dysk czasami musi czytać z różnych części dysku, aby uruchomić program lub otworzyć plik, co oznacza, że płytki muszą zostać przewinięte kilka razy, aby odczytać z określonej sekcji, zanim polecenie będzie mogło zostać wykonane. Jeśli dysk znajduje się w trybie uśpienia lub oszczędzania energii, przyspieszenie do maksymalnej prędkości i uzyskanie mocy odczytu może potrwać kilka sekund.  Od samego początku było jasne, że dyski twarde nie będą w stanie zapewnić prędkości niezbędnej do uzyskania natychmiastowej prędkości komputera. Opóźnienie dysku twardego jest mierzone w milisekundach, a opóźnienie procesora w nanosekundach. Jedna milisekunda to 1 000 000 nanosekund, a znalezienie dysku twardego i rozpoczęcie odczytu zajmuje około 10-15 milisekund. Przemysł dysków twardych wprowadził mniejsze płyty, miejsce na dysku, wyższą prędkość obrotową, aby jakoś przyspieszyć dysk, ale istnieje ograniczenie prędkości takich napędów.

Jaka jest różnica między dyskami SSD?

Dyski SSD są tak nazywane, ponieważ nie polegają na ruchomych częściach obracających się dysków. Zamiast tego dane są przechowywane w puli pamięci NAND. Sama pamięć NAND składa się z tak zwanych tranzystorów bramkowych. W przeciwieństwie do konstrukcji tranzystorów używanych w pamięci DRAM, które muszą być aktualizowane kilka razy na sekundę, pamięć NAND została zaprojektowana tak, aby utrzymywać ten sam ładunek, nawet, jeśli nie ma zasilania. To sprawia, że NAND jest pamięcią niezależną od energii. Ponieważ dysk SSD nie zawiera ruchomych części, mogą one pracować z prędkościami niedostępnymi dla zwykłego dysku twardego. NAND nie znajduje się nawet w pobliżu pamięci głównej, ale jest o kilka rzędów wielkości szybszy niż zwykły dysk twardy. Chociaż opóźnienie zapisu w pamięci NAND jest znacznie dłuższe niż opóźnienie odczytu, wciąż wyprzedzają zwykły dysk.

Czytaj, pisz, usuwaj

Jednym z funkcjonalnych ograniczeń dysków SSD jest to, że odczytywanie i zapisywanie z / na pusty dysk jest bardzo szybkie, ale przepisywanie informacji jest czasem wolniejsze. Dzieje się tak, gdy dysk SSD odczytuje informacje na poziomie strony (w wartości pojedynczych wierszy w pamięci typu NAND) i może również zapisywać na poziomie strony, zakładając, że otaczające komórki są puste, mogą usuwać dane tylko na poziomie bloku. Jest tak, ponieważ czynność wymazywania pamięci NAND wymaga dużego napięcia. Chociaż teoretycznie można wymazać pamięć NAND na poziomie strony, wymaganą wartość napięcia ustawia się, sprawdzając poszczególne komórki wokół zastępowanej komórki. Kasowanie danych na poziomie bloku pomaga złagodzić ten problem.

Jedynym sposobem na aktualizację istniejących stron przez SSD jest po prostu skopiowanie zawartości całego bloku do pamięci, usunięcie bloku, a następnie zapisanie zawartości bloku z powrotem plus zaktualizowane strony. Jeśli dysk jest pełny i nie ma pustych stron, dysk SSD musi najpierw zeskanować bloki oznaczone do usunięcia, ale jeszcze nieusunięte, wyczyścić je i zapisać nowe dane na ich miejscu. Właśnie, dlatego dyski SSD stają się wolniejsze z upływem czasu w rzeczywistości pusty dysk jest pełen bloków, które można natychmiast przepisać, a prawie pełny dysk najprawdopodobniej będzie zmuszony przejść przez całą sekwencję programów do czyszczenia.

Jeśli ktoś używał dysku SSD, prawdopodobnie słyszał o czymś, co nazywa się „odśmiecaniem”. Śmieci to proces w tle, który pozwala dyskowi ograniczyć wpływ na wydajność cyklu czyszczenia i zapisu, wykonując określone zadanie w tle. Obraz pokazuje proces zbierania śmieci. Trzeba zauważyć, że dysk korzysta z faktu, że może bardzo szybko pisać, opróżniać strony i zapisywać nowe wartości dla pierwszych czterech bloków. W okresie nieaktywności dysk SSD przenosi nowe strony do nowego bloku, wycierając stary blok i zaznaczając go, jako puste miejsce. Oznacza to, że następnym razem, gdy dysk SSD będzie musiał nagrywać, może zapisywać bezpośrednio do już pustego bloku X, zamiast wykonywać cykl czyszczenia i zapisu.

Następną koncepcją, o której należy wspomnieć, jest polecenie TRIM które pozwala systemowi operacyjnemu powiedzieć dyskowi SSD, że może pominąć nadpisywanie niektórych danych przy następnym czyszczeniu bloku. Zmniejsza to całkowitą ilość danych zapisywanych na dysku i zwiększa trwałość dysku SSD