wersja mobilna
Online: 306 Niedziela, 2016.12.11

Temat miesiąca

Przemysłowe pamięci Flash

wtorek, 01 lipca 2014 10:33

Karty pamięci i dyski SSD dla przemysłu powinny się charakteryzować większą liczbą cykli programowania i kasowania niż wersje dla elektroniki użytkowej, zwiększonym zakresem temperatur pracy, a prawdopodobieństwo występowania błędów danych powinno zostać ograniczone do minimum. Przedstawiamy wykorzystywane rozwiązania i dostępne na rynku produkty, które pozwalają na spełnienie tych wymogów.

Spis treści » Budowa i klasyfikacja pamięci
» Jeśli Flash, to tylko typu SLC
» Równoważenie zużycia wydłuża żywotność pamięci
» Równoważenie dynamiczne kontra statyczne
» Detekcja uszkodzonych obszarów pamięci
» Jak działa BBM?
» Kodowanie korekcyjne wykrywa błędy danych
» Przykłady kodów korekcyjnych
» Pamięci wzmocnione przechodzą specjalne testy
» Pokaż wszystko

Karty pamięci oraz dyski SSD w przemyśle są używane, jeżeli trzeba wyeliminować inne nośniki, które mogłyby się uszkodzić w trudnych warunkach, na przykład w obrabiarkach, komputerach przemysłowych, podręcznych rejestratorach i czytnikach kodów kreskowych. Inne zastosowanie to sprzęty, na przykład pomiarowe, do których dostęp jest utrudniony i kluczowe urządzenia, na przykład sieciowe albo w systemie sterowania. W obu przypadkach ważna jest niezawodność pamięci.

Poza tym z nośników półprzewodnikowych korzysta się w zastosowaniach specjalistycznych, w medycynie, wojsku, lotnictwie i handlu. Przykłady to: przenośne rejestratory stanu pacjentów, systemy radarowe i sprzęt do zdalnych pomiarów, czołgi, helikoptery, pojazdy bezzałogowe, terminale POS oraz automaty z różnymi towarami.

Wszędzie tam nośniki danych narażone są na m.in. ekstremalne temperatury, wibracje, wilgoć, zaburzenia elektromagnetyczne i zapylenie. Dlatego w tych urządzeniach nie można używać "zwykłych" pamięci Flash, z jakich korzystamy na co dzień. Alternatywą są te wzmacniane (industrial grade). Wymaganą wytrzymałość i niezawodność uzyskuje się w nich zarówno konstrukcyjnie, jak i programowo.

BUDOWA I KLASYFIKACJA PAMIĘCI

Rys. 1. Bramka sterująca odczytuje, kasuje i zapisuje zawartość bramki pływającej

Pamięci Flash zbudowane są z komórek, z których każda składa się z dwóch bramek: pływającej i sterującej. W tej pierwszej gromadzony jest ładunek. Bramka sterująca odczytuje go jako wartość logiczną 0 lub 1. Może też ona kasować i zapisywać zawartość bramki pływającej (rys. 1).

Ze względu na rodzaj bramki logicznej pamięci Flash dzieli się na: NOR i NAND. Zapis i odczyt danych w tych drugich jest szybszy. Dlatego pamięci typu NOR są używane przede wszystkim do przechowywania informacji rzadko aktualizowanych, na przykład jako odpowiednik pamięci ROM.

Pamięci NAND mają też o około 60% mniejsze komórki niż te typu NOR, dzięki czemu cechuje je większa gęstość upakowania danych. Są zatem tańsze. Dostęp do pierwszych jest sekwencyjny, a do pamięci NOR - swobodny.

Pamięci NAND dzieli się ponadto ze względu na liczbę bitów, którą można zapisać w pojedynczej komórce na: SLC (Single-Level Cell) i MLC (Multi-Level Cell). W pierwszych jednocześnie jest to tylko jeden bit informacji, natomiast w tych typu MLC - dwa, a nawet więcej. Wpływa to na ich właściwości, z powodu których w przemyśle używane są (prawie) wyłącznie pamięci SLC.

JEŚLI FLASH, TO TYLKO TYPU SLC

Rys. 2. Aby zapisać 2 bity w jednej komórce MLC, trzeba określić 4 poziomy napięć progowych a). W SLC poziom ten jest tylko jeden b)

Aby na przykład zapisać dwa bity w jednej komórce MLC, trzeba określić cztery poziomy napięć progowych odpowiadające stanom 00, 01, 10 i 11 (rys. 2a). W SLC jest to tylko jeden poziom dla stanów 0 i 1 (rys. 2b). Dlatego, chociaż dzięki większej gęstości upakowania danych pierwsze są znacznie tańsze, jednocześnie, z powodu większej złożoności algorytmów odczytu i zapisu, są wolniejsze.

Rozróżnienie poszczególnych poziomów w pamięciach MLC wymaga też większej precyzji, co sprawia, że łatwiej w nich, w obecności zaburzeń lub ekstremalnych temperatur, o błędy danych niż w nośnikach SLC. Ponadto czas przechowywania informacji w tych ostatnich jest liczony w dziesiątkach lat, natomiast w pamięciach MLC nie przekracza kilku.

Każdą operację zapisu nowych danych poprzedza skasowanie dotychczasowej zawartości komórek. Wpływa to na ich właściwości fizyczne, powodując stopniowe zużywanie się. W cienkiej warstwie izolatora oddzielającej bramkę pływającą od bramki sterującej powstają defekty. Gromadzą się w nich ładunki. Łatwiej również te ostatnie mogą wówczas przepływać do bramki albo odpływać z bramki pływającej.

Dlatego liczba cykli programowania / kasowania pamięci jest ograniczona. Po jej przekroczeniu pewny i bezbłędny zapis i odczyt danych nie jest już gwarantowany. Zwykle żywotność pamięci typu SLC to 100 tys. cykli programowania / kasowania, a pamięci typu MLC - 10 tys. takich operacji.

Marcin Malinowski

CSI

  • Jak przez ostatnią dekadę zmieniły się zastosowania pamięci i dysków Flash? Jak zmieniło się postrzeganie tych technologii przez lokalnych klientów i potrzeby tych ostatnich?

Rynek nośników Flash stale rozwija się, pojawiają się nowe formaty mechaniczne dysków, przez co wygodniejsze jest ich stosowanie w także rosnącym rynku komputerów embedded, gdzie nie ma już interfejsu IDE, a w jego miejsce pojawił się SATA i SD/e.mmc. Wersje o dużych pojemnościach nie są już tak drogie jak kiedyś, co umożliwia ich stosowanie w mobilnych systemach CCTV. Wiedza na temat specyfiki działania dysków SSD wśród klientów jest z roku na rok większa. Niestety nadal niezawodne rozwiązania przemysłowe lub tzw. półprzemysłowe stale porównywane są z tanimi dyskami konsumenckimi (SanDisk, Kingston, OCZ, Intel, Samsung itp.) głównie pod kątem stosunku pojemność/cena, a nie żywotność/cena.

  • Co zmienia się w technologiach pamięci i dysków Flash? Jakie pozytywne i negatywne procesy występują na rynku?

Ostatnia dekada w pamięciach NAND Flash to bardzo szybka ewolucja technologiczna, zwłaszcza widoczna w pamięciach MLC. Przykładowo 5-6 lat temu można było jeszcze spotkać układy MLC cechujące się 10 tys. cyklami programowania na komórkę oraz czasem przechowywania zapisanych danych (Data Retention) na poziomie 10 lat. Obecnie najlepsze produkowane chipy pamięci, określane jako półprzemysłowe mają 3 tys. cykli programowania, a układy przeznaczone do dysków na rynek elektroniki użytkowej już tylko 0,5-1,5 tys. cykli oraz data retention zazwyczaj niespecyfikowany, bo trudny jednoznacznie do określenia. Z badań producentów wynika, że ten ostatni wynosi od około 6 miesięcy do 3 lat, zależnie od temperatury pracy i intensywności zapisu. Najtańsze a jednocześnie najmniej żywotne dyski wykorzystują pamięci TLC (inaczej zwane MLC X3), czyli 3 bity danych na komórkę, co stanowi kolejny krok w dopasowaniu (obniżeniu) żywotności dysku do czasu życia komputera domowego. Najnowsze chipy SLC przeznaczone do rozwiązań przemysłowych mają 60-70 tys. cykli programowania w stosunku do 100 tys. cykli urządzeń produkowanych jeszcze w 2013. Data retention to wciąż 10 lat.

W 2013 roku nastąpiła też zmiana układu sił wśród producentów chipów SLC - Samsung porzucił produkcję SLC na rzecz MLC i TLC do dynamicznie rozwijających się własnych rozwiązań konsumenckich, liderami stały się więc Micron i Toshiba. Inne klony tych technologii (MLC w trybie SLC-mode, iSLC, itp.) zapewniają nieco większą żywotność niż MLC, ale data retention równie krótki co TLC.

Zestawiając technologię SLC z MLC, widzimy więc coraz większą przepaść na korzyść rozwiązań SLC, jednakże tendencja do dalszej redukcji żywotności poprzez coraz większe upakowanie komórek pamięci będzie się stale utrzymywać i jest to trend niezmienny od lat.

  • Jak będzie rozwijała się branża?

Patrząc na globalne trendy, można stwierdzić, że rynek nośników Flash będzie się rozwijał przez kolejne kilka lat w podobnym tempie jak dotychczas. Polska na nasze szczęście w ostatnich pięciu latach zrobiła znaczny postęp w zakresie wdrażania nowych technologii, co owocuje nowymi, coraz ciekawszymi projektami w tym zakresie. Największa sprzedaż omawianych produktów (liczona w milionach sztuk) odbywa się niestety poza Polską, bezpośrednio do globalnych dostawców systemów do sektora automotive, który wykorzystuje półprzemysłowe dyski MLC jako bazowy nośnik do multimedialnych systemów nawigacji GPS.

RÓWNOWAŻENIE ZUŻYCIA WYDŁUŻA ŻYWOTNOŚĆ PAMIĘCI

Rys. 3. Algorytm tworzenia tablicy z adresami uszkodzonych bloków pamięci

Żywotność pamięci można wydłużyć przez optymalizację jej zużycia (wear leveling). Polega to na monitorowaniu częstości użycia poszczególnych bloków pamięci i równomiernym rozmieszczaniu w nich danych tak, aby żaden z bloków nie był czyszczony ani zapisywany częściej niż pozostałe. W efekcie wszystkie bloki pamięci są chociaż raz zapisane, zanim operacja ta zostanie powtórzona. Maksymalna liczba komórek pamięci jest wtedy zużyta minimalnie, a żywotność jest najdłuższa z możliwych.

Wyjaśnia to przykład pamięci o żywotności 10 tys. cykli programowania / kasowania złożonej z 4096 bloków, w której zapisane są trzy pliki. Każdy z nich zajmuje 50 bloków pamięci. Co 10 minut dane zapisane w jednym pliku są aktualizowane. Przez godzinę zawartość pamięci jest więc zmieniana sześciokrotnie.

Zakładając, że dane będą stale wprowadzane do tych samych 200 bloków pamięci będzie się ona nadawała do użytku krócej niż rok: (10000·200) / (50·6·24) = 278. Jeśli do zapisu takiej samej ilości informacji z tą samą częstością wykorzystać wszystkie bloki pamięci, można by natomiast korzystać z niej ponad 15 lat: (10000·4096) / (50·6·24) = 5689. Wear leveling realizuje się dynamicznie albo statycznie. Pierwsza metoda polega na optymalizacji zapisu wyłącznie danych dynamicznych, czyli tych, które są często zmieniane.

Organizacja pamięci Flash

Rys. 4. Bloki i strony to podstawowe jednostki organizacyjne pamięci Flash

Podstawowe jednostki organizacyjne w strukturze pamięci Flash to bloki oraz strony. Te pierwsze są podstawową jednostką w operacji kasowania danych, a strony - w procesie ich zapisu. Wszystkie bloki składają się z takiej samej oraz stałej liczby stron. W tych ostatnich można z kolei wyróżnić dwa obszary. W pierwszym przechowywane są dane bieżące.

W drugiej części (spare area), która jest niewidoczna dla użytkowników, system zarządzający zasobami pamięci zapisuje informacje pomocnicze. Pojemność tego obszaru jest odpowiednio mniejsza w stosunku do pojemności całej strony. Przykładowo w wypadku stron o pojemności 512 bajtów oraz 2048 bajtów spare area zajmuje zwykle zaledwie odpowiednio16 bajtów oraz 64 bajty.

RÓWNOWAŻENIE DYNAMICZNE KONTRA STATYCZNE

Tabela 1. Pamięci Flash typu SLC kontra MLC

Zapisuje się je do tych bloków, których dotychczas używano najrzadziej. Przyjmijmy, że we wcześniejszym przykładzie 25% pamięci zajmują dane dynamiczne, a 75% dane statyczne, tj. zmieniane bardzo rzadko. Stosując wear leveling dynamiczny, żywotność tego nośnika można wydłużyć z mniej niż roku do prawie 4 lat: (10000·1024) / (50·6·24) = 1422. Ponieważ równoważenie dynamiczne realizuje się dość łatwo, stosuje się go w urządzeniach tańszych, których czas użytkowania z założenia jest krótki. Przykład to pamięci USB.

Druga metoda polega na zarządzaniu zapisem danych dynamicznych i statycznych. Monitorowany jest w niej stopień zużycia wszystkich bloków pamięci. Jeżeli te, z których dotychczas korzystano najrzadziej, są aktualnie puste, zapisuje się do nich nowe informacje. Gdy jednak znajdują się już w nich dane statyczne, te ostatnie przenosi się do bloków bardziej zużytych.

Z powodu złożoności technika ta bardziej obciąża kontroler pamięci i spowalnia zapis. W zamian zapewnia jednak maksymalną możliwą żywotność nośnika - w przykładzie 15 lat. Wear leveling dynamiczny jest stosowany w droższych nośnikach danych, m.in. w dyskach SSD.

DETEKCJA USZKODZONYCH OBSZARÓW PAMIĘCI

Niektóre bloki pamięci ulegają uszkodzeniu w czasie produkcji. Wykrywa się je w czasie testów, które polegają na powtórzeniu kilku cykli programowania / kasowania. Następnie takie obszary pamięci (bad blocks) są oznaczane przez zapisanie w spare area pierwszych stron uszkodzonego bloku odpowiedniej informacji.

Kolejne bloki uszkadzają się też w trakcie użytkowania pamięci z różnych przyczyn. Na przykład pomimo stosowania mechanizmu równoważenia zużycia pewna nierównomierność rozmieszczenia danych jest nieunikniona. Niektóre bloki zużyją się więc wcześniej niż pozostałe. Jeżeli liczba bad blocks przekroczy określoną przez producenta wartość, zwykle kilka %, całą pamięć uznaje się za zepsutą.

Uszkodzone bloki nie wpływają na działanie pozostałych, ponieważ jednostki te w pamięci są od siebie odizolowane. Ważne jednak, by system zarządzania zasobami pamięci zidentyfikował te jej obszary, z których nie może korzystać jeszcze przed podjęciem jakiejkolwiek próby zapisu danych. Inaczej informacje w spare area zostałyby skasowane. Dlatego niezbędny jest system zarządzania uszkodzonymi blokami (Bad Block Management, BBM).

Przykłady produktów

Przemysłowy dysk Flash 2,5" IDE 2GB, UDMA 2: pojemność: 32 MB... 32 GB, kompatybilny z 44-pinowym interfejsem IDE (ATA), temperatura pracy: -10°C... +70°C, -40°C... +85°C, odporna konstrukcja z systemem ESD i antywibracyjnym, wykrywanie i korekcja błędów: funkcja ECC.

Przemysłowa karta CF 1GB, UDMA 4: pojemność: 32 MB...8 GB, kompatybilny z 44pinowym interfejsem IDE (ATA), wbudowana funkcja ECC, temperatura pracy: -10°C... +70°C, wysoka przepustowość do 22 MB/s, ultra DMA, true IDE Mode jako dysk twardy.
www.jm.pl

Apro Hammer rugged USB: pamięć NAND Flash SLC, ochrona IP68, wysoka odporność mechaniczna, temperatura pracy: (standard) 0°C... +70°C, (industrial) -40°C...+85°C, wilgotność: 5%...95% bez kondensacji, wibracje: 16,3 g, zgodnie z normą MIL-STD-810F, udary: 1500 g, zgodnie z normą MIL-STD-810F, wysokość pracy: 70 tys. stóp, dostęp do dysku zabezpieczony hasłem.

Apro Hermit CF Industrial Grade: pamięć NAND SLC, wear-levelling statyczny, MTBF: > 3 mln godzin, ECC: 4 bity na 512 B blok, wytrzymałość: > 2 mln cykli zapisu, niezawodność danych: mniej niż 1 nienaprawialny błąd w 1014 odczytanych bitów, przechowywanie danych: 10 lat.
www.csi.pl

Cactus CF seria 503: Pojemność: 1 GB-64 GB, pamięć NAND SLC, zgodność z trybem ATA (PIO 0-6, Multiword DMA 0-4), UDMA 0-6, technologia SMART, Wear Levelling, odczyt: do 50 MB/s, zapis: do 30 MB/s, wytrzymałość: > 2 mln cykli zapisu, MTBF > 4 mln godzin, niezawodność danych: mniej niż 1 nienaprawialny błąd w 1014 odczytanych bitów, wysoka odporność na wstrząsy i wibracje, rozszerzony zakres temperatur pracy: od -45 do +90°C.



 

zobacz wszystkie Nowe produkty

Czujnik przewodności 1 µS/cm...500 mS/cm do aplikacji o wysokich standardach higienicznych

2016-12-09   | Endress+Hauser Polska Sp. z o.o.
Czujnik przewodności 1 µS/cm...500 mS/cm do aplikacji o wysokich standardach higienicznych

Endress+Hauser informuje o wprowadzeniu do oferty nowego typu czujnika przewodności o oznaczeniu Memosens CLS82D, zaprojektowanego do aplikacji o wysokich standardach higienicznych, m.in. biotechnologii, farmacji i produkcji żywności. Jest to czujnik 4-elektrodowy charakteryzujący się zakresem pomiarowym od 1 µS/cm do 500 mS/cm i zakresem dopuszczalnych temperatur pracy od -5 do +120°C.
czytaj więcej

Brama sieciowa do zastosowań w przemysłowych sieciach IoT

2016-12-09   | RS Components Sp. z o.o.
Brama sieciowa do zastosowań w przemysłowych sieciach IoT

RS Components został wyłącznym dostawcą bramy IoT firmy Siemens - Simatic IOT2020. Została ona zaprojektowana do ciągłej pracy w środowisku przemysłowym i może być używana do pobierania, przetwarzania, analizowania oraz przesyłania danych do urządzeń i sieci praktycznie każdego typu.
czytaj więcej

Nowy numer APA