Pamięć masowa flash

Podstawy technologii - co trzeba wiedzieć o układach flash

Znajomość technologii flash ułatwia ocenę informacji prezentowanych przez producentów. Dlatego warto wiedzieć jakie są rodzaje układów flash, ich parametry oraz wady i zalety w porównaniu do systemów pamięci wykorzystujących klasyczne dyski magnetyczne.

Początkowo układy flash były projektowane jako nieulotna pamięć półprzewodnikowa przeznaczona do zastosowań w cyfrowych fotoaparatach, a więc urządzeniach, które nie wymagają częstego zapisywania/odczytywania informacji, jak to ma miejsce w wypadku aplikacji biznesowych.

Zobacz również:

Każda operacja kasowania zawartości i zapisu nowych danych w komórkach układów flash wpływa na ich zużycie. Dlatego też średni czas trwałości układów jest definiowany przez parametr PE (Program/Erase) określający liczbę cykli zapisu/kasowania danych, które można statystycznie zrealizować zanim komórki pamięci ulegną zużyciu. W ogólności wartość PE jest odwrotnie proporcjonalna do ceny układów, choć należy zwrócić uwagę, że na praktyczną trwałość pamięci półprzewodnikowej mają też wpływ inne parametry urządzenia.

Rodzaje pamięci

Choć podstawowa architektura układów flash jest jedna, ale występują 4 odmiany tej pamięci – SLC (Single-Level Cell), MLC (Multi-Level Cell), eMLC (enhanced MLC) i TLC (Triple-Level Cell) różniące się pod względem ceny, a także wydajności i niezawodności, które można osiągnąć w urządzeniach wykorzystujących takie układy.

Układy SLC to najdroższy typ pamięci półprzewodnikowej, który pozwala na zapis jednego bitu danych w każdej komórce, a więc zapewnia najniższą gęstość i pojemność. Ale z drugiej strony SLC oferuje najwyższą wydajność, która niewiele ustępuje pamięci DRAM, a także wysoką odporność na zużycie w porównaniu do innych typów flash.

Pamięci flash MLC umożliwiają zapis 2 bitów danych w każdej komórce co zwiększa gęstość i pojemność pamięci w porównaniu do SLC. Obecnie są to układy najpopularniejsze na rynku, wytwarzane masowo i dlatego też względnie tanie. Wersja eMLC różni się od MLC zastosowaniem dodatkowych mechanizmów umożliwiających praktyczne zwiększenie ich trwałości, ale kosztem wydajności i nieco wyższej ceny.

TLC to najnowsza wersja układów flash, która umożliwia zapis 3 bitów w każdej komórce pamięci. Umożliwia to zwiększenie pojemności układów i obniżenie stosunku cena/pojemność. Największymi wadami TLC są wyższy poziom błędów zapisu oraz najniższa trwałość w porównaniu do SLC i MLC.

Trwałość i mechanizmy starzenia się układów

Sposób w jaki następuje zużycie pamięci flash różni się znacznie w porównaniu do dysków magnetycznych.

W wypadku dysków klasycznych błędy pojawiają z reguły w zbliżonym obszarze (w pojedynczym sektorze) a ich poziom jest względnie stały i niewiele się zmienia w czasie użytkowania.

Komórki układów flash zużywają się stopniowo w całym obszarze, a poziom błędów narasta wykładniczo wraz z liczbą zapisywanych danych. Dlatego też średnia liczba błędów zapisu jest początkowo, w wypadku flash, znacznie mniejsza, ale z czasem rośnie i przekracza poziom występujący w dyskach magnetycznych.

W praktyce oznacza to, że mechanizmy korekcji błędów stosowane w pamięciach półprzewodnikowych i dyskach magnetycznych muszą być zasadniczo różne.

Asymetria wydajności zapisu i odczytu danych

Następna ważna różnica między dyskami klasycznymi i pamięciami flash dotyczy operacji zapisu i odczytu danych, które w układach flash mają różne parametry. Znacznie więcej czasu wymaga operacja zapisu (w praktyce jest to kasowanie zawartości komórki, a dopiero następnie zapis nowych danych) niż odczytu.

W efekcie tej asymetrii, pod względem wydajności, architektura pamięci opartej na układach flash musi być optymalizowana pod kątem minimalizacji liczby cykli zapisu.

Interfejsy

Najwydajniejsze dyski klasyczne umożliwiają obecnie zapis/odczyt danych z szybkością około 200 MB/s. Przy odczycie informacji zapisanych w różnych miejscach dysku na zmniejszenie wydajności ma też wpływ tzw. czasu dostępu, który w klasycznych napędach wynosi ok. 8 milisekund. Natomiast półprzewodnikowe dyski SSD zapewniają szybkość odczytu na poziomie 500 MB/s przy typowym czasie dostępu poniżej 1milisekundy. W praktyce oznacza to, że mogą w pełni wykorzystać dostępną przepustowość interfejsów SATA 3 (nominalnie 600 MB/s).

Podstawowe typy pamięci masowych wykorzystujących flash

Karty pamięci flash z interfejsem PCIe

- Stosowane w serwerach z reguły do zwiększenia wydajności pojedynczych aplikacji

- Rozwiązanie zapewniające najwyższą wydajność

- Brak mechanizmów programowych zapewniających odporność na awarię. Jedyną metodą zabezpieczenia jest instalacja dodatkowych kart i dublowanie zapisu danych co oznacza 2-krotnie wyższy koszt.

- względnie niska pojemność do ok. 2 TB.

- z reguły karty takie wymagają zaawansowanej optymalizacji aplikacji.

- najwyższy koszt w porównaniu do innych rozwiązań.

Pamięci w formie urządzeń (appliance)

- Stosowane do akceleracji pojedynczych aplikacji

- Rozwiązanie zapewnia wysoką wydajność i pojemność pamięci.

- Najczęściej udostępnia ograniczony zestaw funkcji korporacyjnych (NDU, HA, kopie migawkowe).

- Wysoka pojemność rzędu dziesiątków terabajtów na 1U

Macierze all-flash

- Pamięci masowe ogólnego przeznaczenia z zasady stosowane w pierwszej warstwie systemu.

- Udostępniają zestaw funkcji klasy korporacyjnej, jak wysoka dostępność, możliwość wymiany rozszerzenia pojemności bez przerywania pracy systemu i wykonywania kopii migawkowych oraz inne funkcje instalowane w warstwie oprogramowania sterującego pracą macierzy.

- Wysoka pojemność rzędu setek terabajtów, którą można łatwo skalować.

Trzeba tu podkreślić, że szybkość zapisu danych w pojedynczym układzie NAND to tylko ok. 7 MB/s. W kartach pamięci lub dyskach SSD jest ona wielokrotnie większa, ale wynika to ze stosowania równoległego zapisu w wielu układach. Wykorzystanie mechanizmu zapisu równoległego powoduje, że teoretycznie nie ma bariery ograniczającej przepustowość dysku SSD lub karty pamięci flash bo można ją zwiększać instalując kolejne układy półprzewodnikowe. W praktyce ograniczenia narzucają interfejsy zewnętrzne.

Dlatego też pojawiają się pomysły na wykorzystanie innych interfejsów niż klasyczne złącza dyskowe SCSI, SAS FC lub SATA, ale zgodnych z istniejącymi już standardami .

Najpopularniejsze są karty pamięci flash wyposażone w interfejsy PCIe. Specyfikacja PCIe definiuje maksymalną wydajność interfejsu w wersji x16 na 16 GB/s (32 GB/s w dwóch kierunkach). Jest to więc ponad 25 razy większa przepustowość niż mogą zapewnić złącza SATA.

Kolejny pomysł to wykorzystanie interfejsu DRAM do komunikacji z pamięciami flash.

Ostatnio Diablo Technologies zaprezentowała architekturę MCS (Memory Channel Storage). Opracowana przez firmę technologia umożliwia wykorzystanie standardowych protokołów i złącz dla pamięci DDR3 do podłączenia pamięci masowej flash. Według Diablo, redukuje to opóźnienia w dostępie do danych o ponad 85%, a układy flash mogą zostać wykorzystane jako pamięć operacyjna o terabajtowej pojemności.

Złącza MCS mogą równolegle wykorzystywać wiele gniazd DIMM. Oznacza to możliwość skalowania pojemności pamięci przez instalację kolejnych kart z układami flash, a jednocześnie nie wpływa na zmniejszenie przepustowości, która, inaczej niż w przypadku PCIe, skaluje się liniowo.


TOP 200