Wyjaśnienie nadmiarowych bloków pamięci (over provisioning, OP) dysków SSD

Procent przeznaczony na nadmiarowe bloki pamięci =

Pojemność fizyczna - Pojemność dostępna dla użytkownika


Pojemność dostępna dla użytkownika

Wzór pozwalający obliczyć procent przeznaczony na nadmiarowe bloki pamięci

Dyski półprzewodnikowe (SSD) przypominają często wyglądem i wymiarami mechaniczne dyski twarde (HDD) (mają podobną wagę, szerokość i długość), mają też takie same interfejsy zewnętrzne (np. SATA lub SAS), jednak wewnętrznie wykonywane operacje niskiego poziomu i komponenty dysku SSD zdecydowanie różnią się od tych znanych z dysków HDD wyposażonych w obrotowe talerze magnetyczne.

Po zakończeniu montażu dysku SSD producent może podczas programowania oprogramowania sprzętowego zarezerwować dodatkowy procent łącznej pojemności dysku na potrzeby nadmiarowych bloków pamięci (ang. Over-Provisioning, OP). Zastosowanie nadmiarowych bloków pamięci poprawia wydajność dysku SSD i często podnosi wytrzymałość i wydłuża czas jego przydatności eksploatacyjnej dzięki temu, że kontroler ma do dyspozycji więcej pamięci NAND Flash pozwalającej niwelować skutki jej zużywania się w czasie.

Pojemność fizycznaPojemność dostępna dla użytkownikaNadmiarowe bloki pamięci (%)Klasa zastosowania
64GB 60GB 7% Intensywne obciążenie operacjami odczytu
96GB 90GB 7% Intensywne obciążenie operacjami odczytu
128GB 120GB 7% Intensywne obciążenie operacjami odczytu
128GB 100GB 28% Bardziej intensywne obciążenie operacjami zapisu
256GB 240GB 7% Intensywne obciążenie operacjami odczytu
256GB 200GB 28% Bardziej intensywne obciążenie operacjami zapisu
512GB 480GB 7% Intensywne obciążenie operacjami odczytu
512GB 400GB 28% Bardziej intensywne obciążenie operacjami zapisu
1024GB 960GB 7% Intensywne obciążenie operacjami odczytu
1024GB 800GB 28% Bardziej intensywne obciążenie operacjami zapisu
2048GB 1800GB 14% Intensywne obciążenie operacjami odczytu
2048GB 1600GB 28% Bardziej intensywne obciążenie operacjami zapisu
Nadmiarowe bloki pamięci według pojemności i klasy zastosowań

Dyski mogą być stosowane w warunkach większego obciążenia operacjami odczytu, np. w typowych zastosowaniach klienckich, gdzie proporcje zapis/odczyt zazwyczaj kształtują się na poziomie 20%/80%. W zastosowaniach korporacyjnych, gdzie urządzenia magazynujące służą jako bufor dla operacji odczytu, dyski są bardziej intensywnie obciążone operacjami odczytu. Jeśli jednak przeważają operacje zapisu na dysku, mówimy o bardziej intensywnym obciążeniu operacjami zapisu.

Określona przez producenta dysku SSD pojemność nadmiarowych bloków pamięci może być różna, w zależności od klasy zastosowań dysku SSD oraz łącznej pojemności pamięci NAND Flash.

Dyski o większej pojemności i innej klasie zastosowań zazwyczaj są konfigurowane z zastosowaniem proporcjonalnie większej liczby nadmiarowych bloków pamięci. Wynika to z wymagań dotyczących zasobów potrzebnych do zarządzania większą ilością pamięci NAND Flash przy użyciu funkcji usuwania pozostałości danych, zapasowych bloków i ulepszonej ochrony danych.

Przestrzeń przeznaczona na nadmiarowe bloki pamięci nie jest dostępna dla użytkownika i nie jest widoczna dla systemu operacyjnego hosta. Jest ona przeznaczona do wyłącznego wykorzystania przez kontroler dysku SSD.

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.