Korzyści ze stosowania nadmiarowych bloków pamięci

Jak nadmiarowe bloki pamięci podnoszą wydajność dysku SSD

Każda kostka pamięci NAND Flash składa się z wielu bloków, z których każdy zawiera wiele stron.

Pamięć NAND Flash można odczytywać i zapisywać na poziomie strony, ale kasowanie jest możliwe tylko na poziomie bloku.

Jeśli konieczna jest modyfikacja lub skasowanie jednej strony, która została już zaprogramowana w obrębie bloku, cała zawartość bloku zawierającego wiele stron musi zostać najpierw wczytana do pamięci tymczasowej, a następnie skasowana, co umożliwi zaprogramowanie nowej zawartości bloku pod tym samym adresem bloku.

Jedyną sytuacją, w której stronę można zapisać bezpośrednio w bloku pamięci NAND Flash bez wykonywania całego złożonego procesu odczytu-modyfikacji-zapisu, jest sytuacja, gdy strona jest już pusta.

Utrzymywanie dużej liczby pustych bloków oraz zapewnienie ich rezerwy za pomocą nadmiarowych bloków pamięci pomaga w zachowaniu niezmiennej wydajności, zwłaszcza w przypadku losowych operacji zapisu, w których występuje najwyższy współczynnik zwiększenia natężenia zapisu. {{Footnote.N52105}}

Jak nadmiarowe bloki pamięci podnoszą wytrzymałość dysku SSD

Aby zrozumieć, dlaczego konfiguracja dysku SSD obejmuje nadmiarowe bloki pamięci i dowiedzieć się, w jaki sposób wspomagają one działanie kontrolera dysku SSD, należy przeanalizować typową operację wykonywaną przez dysk SSD oraz ograniczenia nieulotnej pamięci NAND Flash.

Każda komórka pamięci NAND Flash ma skończony oczekiwany okres eksploatacji, wyznaczany na podstawie jej trwałości w zakresie wykonywania cykli programowania i kasowania (P/E). Ten okres jest określany podczas procesu produkcyjnego przez producenta pamięci NAND Flash, ponieważ każda operacja programowania lub kasowania wykonywana w komórce pamięci NAND Flash zmniejsza możliwość komórki do niezawodnego przechowywania ładunku elektrycznego, co może mieć wpływ na integralność danych.

Jednak wraz zastępowaniem w układach NAND architektury dwuwymiarowej trójwymiarową następuje poprawa wytrzymałości pamięci NAND, zwiększenie gęstości ich upakowania przy jednoczesnej redukcji kosztów produkcji prowadzącej do obniżenia cen dysków SSD.

Podsumowując, trzy główne czynniki wpływające na trwałość dysku SSD to:
  • Trwałość w zakresie wykonywania cykli programowania/kasowania pamięci NAND Flash oraz geometria wpływająca na złożoność operacji odczytu/programowania/kasowania (w tym przypadku geometria odnosi się do zastosowanej technologii produkcji: dwu- lub trójwymiarowej).
  • Pojemność dysku SSD
  • Przepustowość i efektywność kontrolera dysku SSD (usuwanie pozostałości danych, zwiększenie natężenia zapisu, zarządzanie blokami, równoważenie zużycia, kod korekcji błędów).

Zachowanie wydajności i trwałości dzięki nadmiarowym blokom pamięci

Aby uniknąć sytuacji wypełnienia całego dysku SSD nieprawidłowymi stronami, realizowana przez kontroler dysku SSD funkcja usuwania pozostałości danych używa nadmiarowych bloków pamięci jako tymczasowego obszaru roboczego. Służy on do zarządzania zaplanowanymi operacjami scalania prawidłowych stron i odzyskiwania bloków wypełnionych nieprawidłowymi (lub usuniętymi) stronami.

Następnie wszystkie odzyskane strony/bloki są dodawane do przestrzeni nadmiarowych bloków pamięci, gdzie są używane do obsługi operacji zapisu wykonywanych przez kontroler dysku SSD i maksymalizacji wydajności podczas największego obciążenia. Wpływ odczytu, kasowania, modyfikowania i zapisywania wszystkich prawidłowych stron z powrotem w blokach, które są już częściowo wypełnione nieprawidłowymi stronami, na wydajność dysku byłby zdecydowanie niekorzystny.

Funkcja usuwania pozostałości danych działa niezależnie od systemu operacyjnego i jest uruchamiana automatycznie w okresach niskiej aktywności, okresowo lub w wyniku wykonania odpowiedniego polecenia TRIM funkcji zarządzania zestawami danych interfejsu ATA, które służy do planowania operacji usuwania pozostałości danych.

Określona liczba zawsze dostępnych pustych bloków w obszarze nadmiarowych bloków pamięci pomaga w zachowaniu efektywnego równoważenia zużycia pamięci NAND Flash. Dzieje się tak ponieważ kontroler dysku SSD inteligentnie rozkłada operacje zapisu równomiernie między wszystkie komórki pamięci NAND Flash i nie ma to negatywnego wpływu na ogólną wydajność dysku SSD w sytuacji największego obciążenia.

Ponadto polecenie TRIM funkcji zarządzania zestawami danych interfejsu ATA umożliwia poszerzanie przestrzeni dostępnej na dysku SSD poprzez odzyskiwanie nieprawidłowych stron i nieużywanej przestrzeni dostępnej dla użytkownika.

Pojemność sformatowanego dyskuMiejsce na nadmiarowe bloki pamięciPrzepustowość odczytu/zapisu sekwencyjnegoLosowe operacje wej./wyj. odczytu/zapisu plików 4 KB w stanie ustalonymTBW (JEDEC Enterprise{{Footnote.N52105}})DWPD{{Footnote.N37134}}
480GB (DC500R) 7% 550/500MB/s 98,000/12,000 IOPS 438 0.5
480GB (DC500M) 32% 555/520MB/s 98,000/58,000 IOPS 1139 1.3
960GB (DC500R) 7% 555/520MB/s 98,000/20,000 IOPS 876 0.5
960GB (DC500M) 32% 555/520MB/s 98,000/70,000 IOPS 2278 1.3
1920GB (DC500R) 7% 555/520MB/s 98,000/24,000 IOPS 1752 0.5
1920GB (DC500M) 32% 555/520MB/s 98,000/75,000 IOPS 4555 1.3
3840GB (DC500R) 7% 555/520MB/s  98,000/28,000 IOPS  3504  0.5
3840GB (DC500M)  32% 555/520MB/s  98,000/75,000 IOPS 9110  1.3
Nadmiarowe bloki pamięci według pojemności i klasy zastosowań

Aby zrozumieć korzyści zastosowania nadmiarowych bloków pamięci, przyjrzymy się przykładowi bazującemu na dysku SSD klasy korporacyjnej firmy Kingston – DC500R. Ten SSD dysk jest dostępny w wersjach o pojemności do 3,84 TB i pozwala na wykorzystanie narzędzia Kingston SSD Manager służącego między innymi do modyfikacji parametrów nadmiarowych bloków pamięci. Dzięki zmianie liczby nadmiarowych bloków pamięci od 7% w górę można zaobserwować, jak takie zmiany wpływają na wydajność i trwałość.

Porównując różne pary pojemności, widzimy, że:
  1. Bardziej pojemne dyski (o niższej wartości OP) w każdej parze zachowują takie same prędkości transferów (przepustowość), jednak wyraźnie spada wskaźnik losowych operacji wej./wyj. zapisu na sekundę. Oznacza to, że zastosowanie niższego poziomu OP nie ma znaczenia dla zastosowań o dużym obciążeniu operacjami odczytu, jednak w porównaniu do dysków z OP równym 32% może powodować obniżenie wydajności w przypadku intensywnych operacji zapisu.
  2. Niższy procent przestrzeni przeznaczony na nadmiarowe bloki pamięci powoduje też dla każdego dysku obniżenie wartości wskaźnika TBW, czyli całkowitej liczby zapisanych bajtów. Im wyższa wartość OP, tym dłuższy okres eksploatacji dysku SSD. Dysk DC500R o pojemności 960 GB może wytrzymać zapis 876 TB danych, podczas gdy model 800 GB osiąga wynik 860 TB. Firma Kingston ustala wartość wskaźnika TBW na podstawie obciążeń wzorcowych ustalonych przez komitet JEDEC{{Footnote.N52105}}.
  3. Dzięki przeliczeniu wskaźnika TBW na liczbę zapisów dysku dziennie (ang. Drive Writes Per Day, DWPD) w okresie gwarancji widać, że dyski z OP na poziomie 32% mają niemal dwukrotnie wyższą liczbę zapisów dziennie. Dlatego właśnie zaleca się ustawienie OP na wartość 32% w przypadku zastosowań o wysokim obciążeniu operacjami zapisu.