Strona korzysta z plików cookies w celu realizacji usług i zgodnie z Polityką Plików Cookies.



24.05.2022

Nowe możliwości w zakresie...

VMware rozszerza ofertę zabezpieczeń end-to-end dla obciążeń cloud-native poprzez ochronę...
24.05.2022

Zarządzanie kluczami

IBM przedstawił nowe rozwiązanie do zarządzania kluczami w wielu chmurach, oferowane jako...
24.05.2022

Ochrona przed zagrożeniami

ESET wprowadził nowe wersje swoich produktów biznesowych do ochrony stacji roboczych,...
24.05.2022

Value Stream Management

Micro Focus zaprezentował nową platformę do zarządzania strumieniem wartości VSM (ang....
24.05.2022

Unijna decyzja Value Stream...

Komisja rynku wewnętrznego i ochrony konsumentów Parlamentu Europejskiego poparła...
24.05.2022

Nowy laptop Dynabooka

Sprzęt waży 1,45 kg, a jego grubość to 17,8 mm. Jest odporny na czynniki zewnętrzne, gdyż...
24.05.2022

Przepływ pracy

QNAP oferuje model TS-435XeU wykorzystujący procesor Marvell OCTEON TX2 CN9131 2,2 GHz z...
24.05.2022

Wideo bez wstrząsów

Kamera stałopozycyjna firmy Axis Communications służy do monitoringu miejsc zagrożonych...
24.05.2022

Akceleratory dla naukowców

Firma AMD ogłosiła wprowadzenie do sprzedaży opartych na architekturze AMD CDNA 2...

Napędy flash, czyli nowoczesne systemy storage

Data publikacji: 03-02-2022 Autor: Marcin Bieńkowski

Wirtualizacja, przetwarzanie danych w chmurze, Data Lake czy Big Data potrzebują znacznie wyższej wydajności IOPS związanej z prędkością dostępu do danych i szybkością transferu informacji składowanych na nośnikach pamięci masowej. Parametry techniczne, jakie muszą być tu spełnione, wykraczają poza fizyczne możliwości tradycyjnych dysków twardych.

 

Wszędzie tam, gdzie od pojemności ważniejsza jest wydajność i wysoka liczba operacji wejścia/wyjścia na sekundę (IOPS), producenci systemów magazynowania danych sięgają po półprzewodnikowe napędy SSD. Półprzewodnikowe napędy SSD nie są już technologiczną nowością i zdążyły na dobre zagościć na rynku. Niemniej wciąż pojawiają się nowe rozwiązania, które pozwalają w jeszcze większym stopniu przyspieszyć działanie kluczowych aplikacji takich jak systemy analityki biznesowej, transakcji bankowych i transakcji online, systemów e-commerce, w tym sklepów internetowych, wirtualizacji czy obliczeń klasy HPC (ang. high performance computing). Oczywiście niezależnie od tego, czy zdecydujemy się na klasyczne rozwiązanie z dyskami twardymi, architekturę hybrydową SSD/HDD, czy pamięć masową wykorzystującą wyłącznie elektroniczne napędy półprzewodnikowe, takie zagadnienia jak integracja z istniejącymi platformami, łatwość zarządzania, nadmiarowość, niezawodność i skalowalność dotyczą również wszystkich systemów storage. Szczegółowe rozwiązania mogą się jednak znacznie od siebie różnić.

 

> Rodzaje napędów SSD

 

Budowa półprzewodnikowych napędów SSD, niezależnie od ich formy zewnętrznej, czy to np. w postaci modułu M.2, czy 2,5-calowej (odpowiadającej wymiarom i kształtom tradycyjnym dyskom twardym) obudowy, nie jest skomplikowana. W skrócie i oczywiście w dużym uproszczeniu można powiedzieć, że napędy SSD składają się z podstawowych elementów. Pierwszym z nich są kości pamięci flash, w których przechowywane są dane. Drugim jest kontroler zarządzający pracą tychże kości i, co ważne, odpowiadający również za współpracę z pamięcią podręczną dysku, czyli szybka pamięć cache, gdzie buforowane są dane. Trzecim elementem jest interfejs komunikacyjny wraz z kontrolerem i wszystkimi złączami, w tym złączami systemu zasilania.


Jeśli chodzi o pamięci flash, to w prostej linii są one konstrukcyjnym następcą programowalnych pamięci EEPROM (ang. Electronically Erasable Programmable Read Only Memory), które mogły być zapisywane i kasowane elektronicznie. Obecnie jako pamięci flash wykorzystuje się niemal wyłącznie układy pamięci NAND, których struktura i sposób działania zbliżone są do sposobu adresowania i działania komórek pamięci operacyjnej RAM. Jednak podobnie jak w pierwowzorze, czyli pamięciach EEPROM, pamięć flash nie potrzebuje do podtrzymania zawartości komórek pamięci zasilania.


Nie wdając się w szczegóły konstrukcyjne związane z technologią półprzewodnikową, wystarczy wspomnieć, że fizycznie pamięci flash zbudowane są z tranzystorów polowych MOSFET. Odpowiednio zaprojektowany układ tych tranzystorów tworzy komórki pamięci, które wykorzystywane są do przechowywania danych. Każda komórka zbudowana jest z dwóch bramek: pływającej i sterującej. Bramka pływająca gromadzi ładunek i przy raz zadanym napięciu utrzymuje określony potencjał elektryczny pozwalający zapamiętać zapisaną w komórce informację przez bardzo długi czas, nawet gdy napięcie zasilające zostanie odłączone. Bramka sterująca odczytuje zaś logiczną wartość, 0 lub 1, zgromadzonego ładunku, a także kasuje i zapisuje ładunek bramki pływającej. Dokonując pomiaru napięcia progowego bramki, można odróżnić naładowaną komórkę pamięci (logiczne jeden) od komórki nienaładowanej (logiczne zero). Komórki pamięci, podobnie jak w pamięci RAM, ułożone są w kolumnach i wierszach.


Ze względu na rodzaj bramki logicznej, jaka jest realizowana przez komórki pamięci, pamięć flash podzielić można na dwa rodzaje – NOR, w którym komórki pamięci łączone są równolegle, i NAND, gdzie komórki łączone są szeregowo. Konsekwencją tego jest brak możliwości komunikacji z pojedynczymi komórkami pamięci NAND. W tym przypadku komórki mogą być odczytywane porcjami, tzw. stronami, przez co ten rodzaj pamięci jest znacznie szybszy. W przypadku pamięci typu NOR mamy co prawda zagwarantowany bezpośredni dostęp do każdej komórki, ale proces zapisu i kasowania danych w komórkach przebiega znacznie wolniej niż w pamięci NAND, stąd, o czym już wspomnieliśmy, w praktyce wykorzystuje się niemal wyłącznie pamięci NAND, a pamięć ta stosowana może być we wszelkich aplikacjach, gdzie nie wymaga się swobodnego dostępu do każdej komórki pamięci z osobna.


Pamięć NAND oferuje też znacznie krótsze czasy dostępu, większą gęstość upakowania (komórki zajmują o około 60% mniej miejsca). Ponadto pamięci te są trwalsze, gdyż charakteryzują się 10-krotnie większą liczbą cykli kasowania niż w przypadku pamięci NOR, a także niższy jest ich koszt produkcji w przeliczeniu na jednostkę pojemności nośnika, przy założeniu tego samego procesu produkcyjnego. Logicznie pamięci tego typu składają się ze stron i bloków. Strony mają określoną liczbę bajtów – 512, 2048, 4096, 8192 itd. – i łączą się w bloki po 32, 64, 128, 512, 1024 itd. stron. O wielkości tych parametrów decydują producenci kości pamięci na etapie ich wytwarzania.


> Podział pamięci ze względu na liczbę bitów


Ze względu na liczbę bitów, które można zapisać w komórce pamięci, pamięć flash dzieli się na:

 

  • SLC (Single Cell Level) – zapisujące 1 bit pamięci;
  • MLC (Multi Cell Level) – zapisujące 2 bity pamięci (najczęściej spotykane);
  • TLC (Triple Cell Level) – zapisujące 3 bity pamięci;
  • QLC (Quad Level Cell) – zapisujące 4 bity pamięci.


Jak można się domyślić, napędy z pamięcią SLC są najszybsze, ale ze względu na to, że gęstość upakowania informacji jest w nich najmniejsza, są też najdroższe w produkcji spośród dostępnych modeli, a ich pojemność najmniejsza. Najczęściej napędów tych używa się w profesjonalnych systemach storage’owych, gdzie szybkość działania pamięci masowej ma znaczenie krytyczne.


Pamięci TLC z kolei potrzebują z kolei aż ośmiu poziomów napięć progowych (w MLC potrzeba czterech, a w QLC 16 poziomów) do odczytania zapisania informacji, co sprawia, że są nie tylko dużo wolniejsze, ale też najbardziej złożone pod względem odczytu informacji, ponieważ mogą tu pojawić się błędy, które trzeba skorygować, stosując różne korekcje algorytmów. Kompromisem pomiędzy szybkością działania, gęstością upakowania i implementacją mechanizmów korekcji błędów są obecnie najczęściej wykorzystywane napędy MLC.


Obecnie coraz częściej wykorzystywane są kości typu 3D pozwalające na zwielokrotnienie pojemności pojedynczej pamięci, czyli zwiększenie gęstości upakowania informacji i obniżenie kosztu w stosunku do pojemności standardowej, dwuwymiarowej pamięci flash. Jak można się domyślić, wykorzystano tu trójwymiarową strukturę układu zamiast struktury powierzchniowej. Rzędy komórek pamięci są rozmieszczone pionowo w krzemie, co pozwala zmieścić wielokrotnie więcej bitów na tej samej powierzchni. Produkcja pamięci Flash 3D wiąże się ze sporymi wyzwaniami technicznymi, jednak pamięci te wykorzystywane są do tworzenia układów o bardzo wysokiej pojemności.


Do niedawna najbardziej znanym rodzajem pamięci wykonanej w technologii 3D był Intel Optane Memory, który bazuje na układach 3D XPoint i jest stosowany jako pamięć buforowa w systemach pamięci masowej korzystających z tradycyjnych dysków twardych. Obecnie do produkcji pojemnych napędów flash wykorzystuje się niemal wyłącznie pamięci 3D NAND TLC, np. firmy Toshiba, Samsung czy Micron, i nieco rzadziej 3D NAND QLC, spotykane np. w napędach Intela. Układy 3D NAND są wyraźnie tańsze od konkurencyjnych rozwiązań MLC i pozwalają budować pojedyncze napędy o pojemności dochodzącej do 4 TB, a nawet więcej.


> Żywotność pamięci


Co ciekawe, układy flash mogące zapisać więcej bitów w komórce charakteryzują się znacznie mniejszą żywotnością w stosunku do układów o mniejszej pojemności bitowej. We wszystkich typach pamięci, od SLC po QLC, liczba odczytów danych z komórki może być wykonana dowolną liczbę razy, jednak liczba zapisów do komórki pamięci potrafi się diametralnie różnić. W przypadku pamięci SLC jest to zwykle 100 tys. cykli zapisu i kasowania P/E (Program/Erase Cycle), dla dysków MLC 10 tys., dla współczesnych pamięci 3D NAND TLC ok. 3000 cykli P/E, a dla 3D QLC ok. 1000.


Kontroler, aby zmaksymalizować żywotność dysku i zminimalizować problem przedwczesnego zużywania się poszczególnych komórek pamięci, stosuje specjalne algorytmy równoważące wykorzystanie komórek – zapis nie rozpoczyna się od pierwszej komórki i nie posuwa systematycznie do kolejnych, ale jest rozłożony na wszystkie komórki. Proces ten, określany mianem wear levelling, zapewnia równomierne i optymalne zużywanie się wszystkich komórek i w znaczący sposób wydłuża żywotność pamięci. Taki system zapisu niejako przy okazji zwiększa szanse na odzyskanie skasowanych przypadkowo danych, gdyż pliki nie są od razu po skasowaniu nadpisywane.


Ze względu na zużywanie się komórek pamięci pamięć flash charakteryzuje się pewną dodatkową, nadmiarową pulą stron pamięci (tzw. overprovisioning), która może zostać uruchomiona, gdy oprogramowanie kontrolera stwierdzi, iż dla danej strony limit cykli P/E został wyczerpany. Gdy wyczerpaniu ulegnie również ta pula, zapis nośnika przestaje być możliwy, a z poszczególnych komórek można już tylko ewentualnie odczytywać dane.


Oczywiście te mechanizmy dotyczą wewnętrznego sposobu działania napędu SSD i nie mówią nic o żywotności urządzenia istotnej z punktu widzenia użytkownika. Do określenia trwałości dysków SSD stosuje się tu bowiem współczynnik TBW (ang. Total Bytes Written), czyli liczbę zapisanych bajtów. Parametr ten określa maksymalną liczbę danych, jaką możemy zapisać na dysku w okresie trwania jego gwarancji. Określa on też, do jakiej grupy urządzeń możemy zaliczyć nasz napęd. Co więcej, dzięki współczynnikowi TBW mamy też możliwość bezpośredniego porównywania żywotności napędów różnych firm, co sprawi, że nie trzeba będzie samemu analizować użytych technologii oraz zaimplementowanych specyficznych tylko dla danego producenta funkcji.


W tym miejscu warto podkreślić, że osiągnięcie wyznaczonego limitu TWB nie musi od razu oznaczać końca pracy dysku, ale jedynie koniec jego gwarancji – podobnie jak ma to miejsce w wypadku określonego przez producenta przebiegu kilometrów w samochodzie. Co więcej, większość współczesnych nośników SSD cechuje się odpowiednio wysokim parametrem TBW, który pozwala swobodnie obsłużyć wszystkie typowe zastosowania, nawet przy bardzo intensywnym wykorzystaniu dysku.


Drugim często używanym parametrem jest DWPD (ang. Data Write Per Day), czyli liczba pełnych zapisów na dzień. DWPD zwykle stosuje się w przypadku modeli napędów SSD, które przeznaczone są do profesjonalnych zastosowań, i oznacza krotność pojemności dysku, jaką można codziennie zapisać, również do momentu utraty gwarancji. Parametry TWB i DWPD są od siebie zależne. Dla przykładu dysk SSD o pojemności 800 GB, współczynniku DWPD 3 i pięcioletniej gwarancji odpowiada współczynnikowi 4,38 TBW: [3 DWPD (liczba zapisów dziennie) × 800 GB (pojemność dysku)] × [365 dni (1 rok) × 5 lat (gwarancja)] = 4,38 TBW.

 

[...]

 

Autor jest niezależnym dziennikarzem zajmującym się propagowaniem nauki i techniki.

Pełna treść artykułu jest dostępna w papierowym wydaniu pisma.

prenumerata Numer niedostępny Spis treści

.

Transmisje online zapewnia: StreamOnline

All rights reserved © 2019 Presscom / Miesięcznik "IT Professional"