Pamięć masowa flash

Mechanizmy zapewniające ochronę danych

Pamięci flash często są stosowane w pierwszej warstwie systemu i wykorzystywane przez aplikacje, które potrzebują szczególnie szybkiego dostępu do danych. Oprogramowanie takie z reguły ma wymagania dotyczące zapewnienia wysokiej dostępności pamięci i poziomu zabezpieczenia przed utratą danych.

Pod tym względem dostępne na rynku rozwiązania oferują bardzo zróżnicowane funkcje.

RAID i pamięci flash

Najpopularniejsze rozwiązanie chroniące dane zapisane w pamięci masowej przed awarią dysków to system RAID. Został on opracowany przed wieloma laty, a później systematycznie ulepszany z myślą o zwiększeniu niezawodności pamięci wykorzystujących dyski magnetyczne, a nie układy flash.

Zobacz również:

Dlatego też zastosowanie odpowiedniej wersji RAID w pamięciach masowych flash wymaga głębszej analizy wykraczającej poza proste zastosowanie np. RAID poziomu 1, 5 lub 6.

W wypadku kart pamięci PCIe wykorzystywanych w serwerach jedyną metodą zabezpieczenia przed awarią jest wykorzystanie RAID 1 (mirroring) czyli instalacja dwóch kart na których zapisywane są te same dane. Jest to niestety kosztowne zabezpieczenie bo podwaja cenę systemu.

W macierzach (lub pamięciach typu appliance) NAS/SAN wykorzystujących układy flash mogą być stosowane różne standardowe poziomy RAID np. 5 lub 6.

Optymalny wybór rozwiązania zależy od takich czynników, jak wymagany czas odbudowy systemu pamięci po wystąpieniu awarii, stosunek liczby operacji zapisu/odczytu oraz wymagania na wydajność i użyteczną pojemność pamięci masowej.

Kolejną istotną różnicą między systemami HDD RAID i flash RAID jest sposób odtwarzania danych w wypadku awarii.

W klasycznym HDD RAID mechanizm odtwarzania wykorzystuje architekturę many-to-one – dane utracone wskutek awarii są zapisywane na jednym zapasowym lub wymienionym dysku. W wypadku kart pamięci lub dysków SSD można zaprojektować bardziej efektywne rozwiązanie, w którym dane są odtwarzane przy wykorzystaniu wolnej pojemności dostępnej na każdym z nośników pracujących w systemie (architektura many-to-many).

Serwis i upgrade

Przed podjęciem decyzji o wdrożeniu pamięci masowej z układami flash warto sprawdzić jakie oferuje ona możliwości wymiany uszkodzonych elementów lub upgrade’u pamięci bez przerywania pracy systemu.

Nie wszystkie rozwiązania oferują taką opcję. Niektóre z nich, zwłaszcza w wypadku kart pamięci PCIe stosowanych w serwerach lub urządzeniach appliance, wymagają wyjęcia obudowy z szafy, aby można było wymienić uszkodzony element lub zainstalować nowy model pamięci.

A warto pamiętać, że kolejne, nowe generacje technologii wytwarzania układów NAND są wdrażane co ok. 12 miesięcy. Na przykład Intel przechodzi obecnie z wykorzystywania w produkcji procesu 19-nanometrowego na 14-nanometrowy. W efekcie perspektywa upgrade’u nie jest wcale odległa. A nawet jeśli użytkownik nie widzi takiej potrzeby, to należy się upewnić jak długo producent będzie zapewniał serwis i elementy zamienne starszych generacji.

Redukcja liczby danych

W przypadku pamięci flash mechanizmy redukcji liczby danych takie jak deduplikacja, kompresja i oczyszczanie systemu ze zbędnych plików nie powinny być traktowane jako pożyteczny, ale tylko dodatkowy element systemu. Trzeba bowiem pamiętać, że mają one duży praktyczny wpływ na jego wydajność, a także koszt.

Jeśli chodzi o deduplikację, to jeśli nie jest ona standardową funkcją w konkretnym modelu pamięci flash, to należy zwrócić uwagę, że mechanizm ten należy stosować przed zapisem danych czyli najlepiej żeby działał on w trybie inline. Z jednej strony zwiększa to efektywną pojemność pamięci masowej, a z drugiej zmniejsza liczbę operacji zapisu co zwiększa jej wydajność i wydłuża czas życia układów flash.

Testowanie wydajności

Większość dostępnych obecnie na rynku testów, takich jak SPC-1, została zaprojektowana po kątem oceny wydajności pamięci masowych wyposażonych w klasyczne dyski magnetyczne. W wypadku pamięci flash ich wyniki nie są miarodajne i dają obiektywnej oceny porównawczej. Oprócz tego konfiguracja platform obliczeniowych w centrach danych jest często zoptymalizowana pod kątem wydajności dysków HDD tworząc na przykład długie, niepotrzebne kolejki zapytań I/O w serwerach.

Dlatego do oceny wzrostu wydajności związanej z zastosowaniem pamięci flash należy podejść z ostrożnością jeśli nie jest to praktyczny test przeprowadzony w środowisku wykorzystywanym przez użytkownika.

Niektórzy producenci oprogramowania udostępniają testy do oceny wydajności na poziomie aplikacji, które pozwalają na dość dobrą jej ocenę. Można tu przede wszystkim wymienić benchmarki dla środowiska VDI oferowane przez VMware (VMware View Storage Benchmarks) i Citrix (Citrix XenDesktop Storage Benchmarks).


TOP 200