Zastosowanie pamięci Flash typu pSLC w zaawansowanych aplikacjach przemysłowych

| Prezentacje firmowe Artykuły

Pamięć Flash, przez lata swojej obecności na rynku, przyczyniła się do prawdziwej rewolucji. Chyba nawet sam jej wynalazca, dr Fuzjo Masouka, pracownik japońskiego koncernu Toshiba, nie spodziewał się tego, że jego projekt z 1980 roku znajdzie tak szerokie zastosowanie. Od telefonów komórkowych, poprzez telewizory, tablety, lodówki do zaawansowanych rozwiązań przemysłowych - pamięci Flash nieustannie zastępują starsze technologicznie zastosowania, a możliwa liczba jej aplikacji stale rośnie. Z jednej strony producenci prześcigają się w dostarczaniu coraz tańszych pamięci, z drugiej strony zaś najwyższej jakości nośników Flash odpowiednich do zaawansowanych rozwiązań przemysłowych.

Zastosowanie pamięci Flash typu pSLC w zaawansowanych aplikacjach przemysłowych

W nośnikach danych jak karty pamięci, pendrive, SSD, powszechnie stosuje się układy pamięci NAND Flash typu SLC, MLC, TLC. Właściwości tych układów pamięci i produktów je zawierających są dobrze znane. Oprócz wymienionych jednak, występują również pamięci typu pSLC, które trwałością oraz ceną plasują się pomiędzy SLC i MLC i są jednym z rozwiązań proponowanych przez Wilk Elektronik S.A., polskiego producenta pamięci i znaczącego dostawcę rozwiązań przemysłowych w Polsce i Europie.

WŁAŚCIWOŚCI TYPOWYCH UKŁADÓW PAMIĘCI NAND FLASH

Rys. 1. Rozkład poziomów napięć w komórce SLC

Układy pamięci NAND Flash, jak i inne typy pamięci działające w oparciu o komórkę pamięci z pływającą bramką, cechują się ograniczoną liczbą cykli zapisu wynikającą z zasady jej działania. Cykle zapisu powodują zużycie komórek pamięci, co można nazwać także degradacją. Opisanie procesu degradacji za pomocą modeli oraz przedstawienie fizyki powstawania uszkodzeń przekracza ramy jednego artykułu, a nawet często jest niemożliwe bez dogłębnej wiedzy na temat implementacji danego układu pamięci.

Określenie "degradacja" jednak doskonale odnosi się do istoty problemu, gdyż cykle zapisu powodują pogorszenie się właściwości komórek pamięci. Wraz ze zużyciem komórek pamięci wzrasta upływność danych, czyli skróceniu ulega czasu, w którym dane mogą być bezpiecznie przechowywane w pamięci. Rośnie również zależność czasu upływności danych od temperatury, tj. w układzie zdegradowanym wysoka temperatura przechowywania lub pracy drastycznie skróci czas upływności. Wzrasta także liczba losowych błędów danych w cyklu odczytu oraz zależność liczby błędnych bitów od liczby zadanych cykli odczytu (Read Disturb).

Warto pamiętać, że degradacja cyklami zapisu dotyczy wszystkich typów pamięci NAND Flash,tj. SLC, MLC oraz TLC. Układy pamięci typu SLC (jedna komórka pamięci przechowuje tylko jeden bit danych) są najmniej podatne na degradację, zaś TLC najbardziej, ponieważ podatność typów pamięci na degradację wynika z ich zasady działania. Na rys. 1 zobrazowano różnice w funkcjonowaniu układów typu SLC, MLC, TLC mające znaczący wpływ na ich właściwości.

Rys. 2. Rozkład poziomów napięć w komórce MLC

Obydwie krzywe dzwonowe odzwierciedlają rozkład napięcia elektrycznego w komórkach pamięci SLC, w których jedna komórka pamięci przechowuje tylko jeden bit danych. Logiczną wartość '1' bitu danych reprezentuje krzywa dzwonowa z lewej strony osi Y, tj. bitowi '1' odpowiada niezaprogramowana komórka pamięci. Z prawej strony osi Y krzywa dzwonowa reprezentuje wartość '0' bitu danych - w komórce pamięci zgromadzono ładunek. Hipotetycznie różnica napięć pomiędzy komórką przechowującą '1' a '0' na rys. 1 została oznaczona jako 1. Wskazywanie poziomów napięcia odpowiadających poziomom logicznym przechowywanych bitów danych w tym miejscu jest niezasadne, gdyż wartości te bardzo różnią się pomiędzy producentami, typami a nawet wersjami rdzenia układu pamięci.

W układach pamięci typu MLC jedna komórka pamięci przechowuje 2 bity informacji. Bity te są zakodowane w postaci czterech poziomów napięć (rys. 2). Hipotetyczna różnica pomiędzy poziomami napięć na rys. 2 została oznaczona jako 0,5. W TLC przechowywane są 3 bity informacji, co pociąga za sobą konieczność ich zakodowania za pomocą 8 poziomów napięcia (rys. 3).

Rys. 3. Dystrybucja poziomów napięć w komórce TLC

W tym przypadku, różnica pomiędzy poziomami napięcia kodującymi bity danych została oznaczona jako 0,25. Degradacja, upływność, dystrybucja cykli zapisu i kasowania powoduje, że poziomy napięć kodujące przechowywane dane zaczynają na siebie zachodzić jak na przykładowym rysunku 4.

Zachodzące na siebie krzywe (linia przerywana) uniemożliwiają prawidłowe zdekodowanie poziomów napięcia, co w konsekwencji prowadzi do powstawania błędnych bitów danych. Liczba błędnych bitów jest tym większa im bardziej na siebie zachodzą krzywe. Krzywe zachodzą na siebie tym bardziej, im większy jest stopień degradacji układu pamięci. Można zatem powiedzieć, że postęp degradacji powoduje przyrost błędnych bitów. Gdy zostaje przekroczona liczba błędów możliwa do skorygowania przez kontroler znajdujący się w nośniku danych, następuje przekłamanie danych użytkownika, a często ich utrata.

Rys. 4. Dryf poziomów napięć w MLC spowodowany degradacją

Podsumowując - dryf poziomów napięć jest główną przyczyną powstawania błędnych bitów danych. W przedstawionych przypadkach, różnica pomiędzy poziomami napięć w SLC wynosi 1 - jest to największa wartość, MLC - 0,5, TLC - 0,25. W konsekwencji, pamięci SLC gwarantują największą odporność na powstawanie błędnych bitów danych spowodowanych degradacją gdyż posiadają największy margines błędu - w przypadku SLC margines błędu ma wartość aż 1, gwarantując najdłuższy czas przechowywania danych i największą liczbę cykli kasowania/zapisu. Z drugiej strony jednak komponenty oparte na bazie technologii SLC są najdroższe. Właściwości te zostały zestawione w tabeli.

Cechy różnych typów pamięci NAND Flash

Z podstawionych w powyższej tabeli danych wynikają specyficzne dla poszczególnych technologii Flash zastosowania. Pamięć typu SLC można stosować z powodzeniem w bardzo trudnych warunkach środowiskowych, gdzie narażona jest na ekstremalne temperatury pracy i przechowywania, obciążona jest dużą liczbą cykli kasowania/zapisu i gdzie jest wymagana najwyższa niezawodność pamięci oraz samego urządzenia.

Flash typu MLC można znaleźć zastosowanie w każdych trudnych warunkach w przemyśle, komunikacji, gdzie podstawowe znaczenie ma wysoka pojemność nośnika oraz jego odporność na wysoką ilość cykli zapisu oraz kasowania. Preferowaną aplikacją dla pamięci typu TLC są zaś multimedia oraz rozrywka. Jednak w niektórych wykonaniach i w określonej aplikacji, technologia TLC może znaleźć również zastosowanie również w przemyśle! Niewątpliwą przewagą pamięci TLC w stosunku do MLC, a w szczególności do SLC, jest cena za 1GB pojemności.

Pamięci SLC są relatywnie droższe od pozostałych. Istnieje jednak rozwiązanie wypośrodkowujące pomiędzy jakością zbliżoną do SLC, a ceną MLC - jest nim pamięć typu pseudo SLC, czyli tzw. pSLC.

Postaw na polskiego producenta

Firma Wilk Elektronik S.A., producent pamięci marki GOODRAM, to jedyny europejski wytwórca pamięci komputerowych. Dzięki wąskiej specjalizacji oraz ponad 20-letniemu doświadczeniu firma zyskała miano eksperta w swojej dziedzinie. W 2003 roku Wilk Elektronik SA wprowadziła na rynek pierwsze moduły pamięci RAM własnej marki GOODRAM, zaś w kolejnych latach poszerzyła ofertę o karty pamięci, pamięci USB oraz dyski SSD. Obecnie polska marka jest dostępna w ofercie wszystkich największych dystrybutorów sprzętu komputerowego w Polsce, krajach Europy Środkowo-Wschodniej, Bliskiego Wschodu i Afryki.

Długoletnia specjalizacja w dziedzinie pamięci komputerowych pozwoliła producentowi na wprowadzenie serii pamięci GOODRAM Industrial dedykowanej profesjonalnym rozwiązaniom przemysłowym. GOODRAM Industrial to seria kart pamięci (w tym kart Compact Flash) dysków SSD oraz modułów pamięci mających zastosowanie w zarówno wewnętrznych jak i zewnętrznych aplikacjach przemysłowych.

Już dziś pamięci przemysłowe implementowane są między innymi w wideorejestratorach, rozwiązaniach POS, parkomatach, biletomatach, paczkomatach, szafach sterowniczych oraz innych urządzeniach pracujących w trudnych warunkach przemysłowych. Wprowadzenie nowej przemysłowej linii produktowej poprzedziły inwestycje w najnowocześniejsze technologie produkcji.

Obecnie firma ma jedne z najbardziej zaawansowanych i innowacyjnych maszyn do montażu powierzchniowego marki Panasonic. Zrealizowana przez Wilk Elektronik inwestycja pozwoliła na zwiększenie mocy produkcyjnych i rozszerzenie oferty marki a także możliwość rozbudowy parku maszynowego w przyszłości.

PAMIĘCI TYPU PSLC

Rys. 5. Kolejność programowania typowej komórki pamięci MLC

Na wstępie należy wyjaśnić, że pSLC jest raczej techniką zapisu układów pamięci typu MLC, niż odrębnym rodzajem NAND Flash. Zastosowanie tej techniki wymaga unikalnych właściwości wybranych modeli układów pamięci, a wyjaśnienie jej idei wymaga odniesienia się do rozkładu napięć w komórce (rys. 2) i sposobu programowania.

W typowej pamięci MLC programowanie dwóch bitów danych wymaga dwóch rund programowania, jak pokazano to na rys. 5.

W pierwszej rundzie, poprzez tzw. stronę LSB, zapisywany jest pierwszy bit danych. Jeżeli bit ma wartość '0', komórka pamięci przyjmuje poziom "01b". W drugiej rundzie, poprzez tzw. stronę MSB, zapisywany jest drugi bit danych. Jeżeli ma on wartość '0' programowany jest stan "00b" lub "10b", w zależności od tego czy komórka pamięci jest w stanie "11b" czy "01b".

W pamięciach typu pSLC stosowane są NAND Flash MLC, w których występuje pośredni stan napięcia pomiędzy "01b" a "00b". Jest on nazwany "X0b".

Przykładowe pamięci

W pierwszej rundzie, gdy przez LSB zapisywany jest bit danych mający wartość '0', programowany jest stan pośredni "X0b". Stan pośredni ma wyższy poziom napięcia niż "01b" i jest bardziej odległy od stanu "11b". Dzięki temu, bit zapisany poprzez LSB jest znacznie mniej podatny na degradacje niż w konwencjonalnych układach pamięci MLC.

W drugiej rundzie typowo, poprzez stronę MSB następuje zapisanie drugiego bitu danych i zmiana stanu komórki pamięci z pośredniego na "00b" lub "10b". Zapisanie bitu MSB w konsekwencji zwiększa podatności bitu LSB na występowanie błędów spowodowanych degradacją właściwości komórki pamięci do stopnia odpowiadającego typowym NAND Flash MLC.

Techniką zapisu pSLC pomijane są bity MSB komórek pamięci. W ten sposób w znaczącym stopniu podnoszona jest trwałość i niezawodność układu pamięci kosztem utraty połowy jej pojemności. Przykładowo, w nadającym się do tego zastosowania układzie pamięci NAND Flash MLC o pojemności 8 GB, w pSLC można zapisać tylko połowę danych tj. 4 GB. Dzięki wykorzystaniu tylko dwóch poziomów - stan wykasowania i stanu pośredniego, pamięci pSLC cechują się właściwościami zbliżonymi do SLC, tj.:

  • liczba cykli zapisu liczona w pełnej pojemności > 20000,
  • upływność danych > 10 lat,
  • szybkość zapisu - zbliżona do SLC,
  • niezawodność wyższa niż w MLC,
  • pojemność do 32 GB.

Cechy te predysponują pSLC do zastosowań przemysłowych, w których występuje duże obciążenie cyklami zapisu oraz do pracy w ekstremalnych warunkach temperaturowych.

ZASTOSOWANIA

Rys. 6. Programowanie NAND Flash MLC stosowanego w pSLC

Pamięci pSLC znajdują zastosowanie we wszystkich aplikacjach, gdzie wymagana jest duża niezawodność, pojemność oraz duża liczba cykli zapisu. Doskonałym przykładem zastosowania technologii pSLC może być aplikacja, którą jest system do monitorowania położenia pojazdu z możliwością równoległej rejestracji obrazu z dwóch kamer - jednej znajdującej się wewnątrz, drugiej na zewnątrz pojazdu.

Cechą aplikacji jest szeroki zakres temperatur - w Polsce możliwe poniżej -20°C oraz powyżej 80°C (zamknięty pojazd w miejscu nasłonecznionym), następnie duży strumień zapisywanych danych. Należy podkreślić, że aplikacje tego typu wymagają niezawodnych nośników danych, gdyż ich wymiana na ogół wymaga wizyty serwisanta, a w sytuacji gdy pojazd wyposażony jest w system elektronicznej blokady, może skutkować unieruchomieniem pojazdu.

Załóżmy dla przykładu, że obie kamery w omawianej aplikacji nagrywają obraz Full HD z kodekiem MPEG2 i każda generuje 15 Mb/s danych (łącznie 30 Mb/s tj. 3,75 MB/s). Obraz pochodzący z kamer jest na karcie nadpisywany po godzinie monitorowania pojazdu. Tryb pracy wskażmy tygodniowy jako 7x8 godzin pracy. Dodatkowo, wymagany okres eksploatacji - 10lat.

Minimalna pojemność karty zatem wynosi 16 GB wliczając w to 1GB dla dodatkowych plików systemu monitorowania. Szybkość zapisu karty typu pSLC - przekraczająca znacznie 10 MB/s - jest zupełnie wystarczająca, aby sprostać zadaniu. Zakres temperatur pracy również jest również pokrywany przez pSLC. Liczba cykli zapisu pSLC wynosi bowiem 25000 (według danych katalogowych).

Karta dzięki wbudowanemu dynamicznemu i statycznemu wear leveling-owi będzie korzystała z całej pojemności pamięci Flash - zatem statyczne dane (np. pliki systemowe) nie ograniczą jej żywotności. Kalkulację niezbędnej pojemności należy wykonać dzieląc liczbę zapisanych danych w okresie eksploatacji przez wskazaną minimalną pojemność karty. Dla przykładowej kalkulacji do karty zostanie zapisanych około 390 TB danych, co jest wartością niższą od maksymalnej dla naszego pSLC o pojemności 16GB. Zatem wskazana minimalna pojemność pSLC również jest wystarczająca. Dla porównania - w tym samym okresie eksploatacji karty typu MLC należałoby wymienić około siedmiokrotnie!

Przewaga kart pSLC nad MLC widoczna jest wyraźnie. Należy zaznaczyć, że jest to nośnik o wiele bardziej efektywny kosztowo od kart typu SLC. Dobierając pamięci typu NAND Flash do aplikacji należy mieć zatem na uwadze wszystkie powyżej omawiane aspekty.

Wilk Elektronik S.A.
www.goodram.com/pl