wersja mobilna | kontakt z nami

Nowoczesne pamięci nieulotne

Numer: Grudzień/2016

Pamięci elektroniczne to dosyć nudne podzespoły. Nie mają bogatych funkcji ani same w sobie nie pozwalają uzyskać widowiskowych efektów. Mimo to ich znaczenie w ostatnich latach istotnie wzrosło. Coraz silniejszy trend, polegający na przenoszeniu funkcji urządzeń elektronicznych ze sprzętu do oprogramowania narzuca większe wymagania odnośnie pamięci, w których - czy to kod programu, czy dane - mają być przechowywane. W niniejszym artykule pokazujemy, po jakie pamięci nieulotne warto sięgnąć w różnych aplikacjach.

Pobierz PDF

Projektując jakiekolwiek nowoczesne urządzenie cyfrowe, niemal na pewno staniemy przed kwestią zapewnienia pamięci dla tej aplikacji. W przypadku prostszych projektów często wystarczy pamięć wbudowana w mikrokontroler, ale jeśli tylko zechcemy zaimplementować obsługę jakichś funkcji multimedialnych lub przygotować atrakcyjny interfejs graficzny, dodatkowa pamięć nieulotna najpewniej będzie niezbędna. Jednakże wybór optymalnego modułu lub układu pamięci nie jest taki oczywisty. Dobór podzespołu należy poprzedzić rozważaniami na temat następujących kwestii:

- jak dużo pamięci jest potrzebne?
- jak szybka musi być pamięć w zapisie, a jak szybka w odczycie?
- jak często będzie prowadzony zapis i jaka ma być żywotność urządzenia?
- w jakich temperaturach ma pracować pamięć?
- jaki interfejs zostanie użyty do komunikacji z pamięcią?
- czy pamięć ma być wlutowana na stałe, czy wymienna?
- jak dużą fizyczną przestrzeń może zajmować moduł pamięci?
- czy komunikacja z pamięcią musi być szyfrowana?
- jak długo pamięć będzie pozostawał bez zasilania?
- jaką moc może pobierać układ pamięci?
- jaki może być dopuszczalny koszt wybranej pamięci?

rysJak widać, lista kwestii do zastanowienia jest dosyć długa, ale w wielu przypadkach podjęcie decyzji odnośnie tylko kilku z wymienionych punktów pozwala jednoznacznie określić rodzaj optymalnej pamięci. Wynika to z faktu, że – jak to często w technice bywa – zalety w jednej kategorii są okupione wadami w innej. Dlatego warto zacząć analizę od początkowych punktów i stopniowo przechodzić do kolejnych.

Pojemność

W dziedzinie pojemności, spośród pamięci elektronicznych, dominują układy NAND FLASH. Oczywiście w niektórych aplikacjach można rozważać użycie magnetycznych dysków mechanicznych, czy nawet przechowywanie wszelkich danych na serwerach w chmurze (to też właściwie forma pamięci) i dostęp do nich przez sieć. Niemniej w niniejszym artykule koncentrujemy się na podzespołach półprzewodnikowych i zapamiętywaniu danych bezpośrednio w tworzonym urządzeniu.

W dziedzinie pamięci NAND FLASH nastąpił w ostatnich latach bardzo duży postęp. Wynika to przede wszystkim z faktu, że rynek ten jest mocno konkurencyjny oraz bardzo duży. Pamięci tego typu instalowane są we wszelkich komputerowych i mobilnych urządzeniach konsumenckich, a także w wielu aplikacjach przemysłowych. Pozwalają z powodzeniem zastąpić nośniki magnetyczne, a jednocześnie cechują się lepszymi parametrami pod większością względów. Stanowią też podstawę wszelkiego rodzaju nośników wymiennych – czy to w postaci kart, czy pendrive’ów.

rysNależy jednak odróżnić samą pamięć, dostępną np. w postaci pojedynczego układu scalonego, od jej kompletnego modułu – choćby nośnika SSD. Ten ostatni to dysk, który składa się z odpowiedniej liczby kości pamięci i kontrolera oraz złącza, poprzez które kontroler komunikuje się z urządzeniem, do którego dysk jest podłączany. To akurat nie w odniesieniu do pojemności nie ma znaczenia. Pojemność (w przeliczeniu na powierzchnię zajmowaną przez układy) zależy natomiast od rodzaju zastosowanych układów NAND FLASH. Te można podzielić na dwa sposoby.

Po pierwsze w oparciu o liczbę bitów zapisywanych w jednej komórce pamięci. Na rynku zaleźć można układy:

- SLC (Single-Level Cell), przechowujące po jednym bicie w komórce,
- MLC (Multi-Level Cell) i eMLC (enterprise MLC), przechowujące po dwa bity w jednej komórce,
- TLC (Triple-Level Cell), przechowujące po trzy bity w jednej komórce.

Po drugie aktualnie dokonuje się też podziału na sposób ułożenia komórek, a więc planarny, w którym komórki pamięci znajdują się obok siebie, w jednej płaszczyźnie, 3D, w którym komórki pamięci są umieszczane nie tylko obok siebie, ale też na sobie, tworząc trójwymiarową strukturę.

Teoretycznie wszystkie rodzaje, różniące się liczbą przechowywanych bitów w komórce można wykonać zarówno w postaci planarnej, jak i 3D, ale w praktyce w 3D spotyka się przede wszystkim pamięci MLC i TLC.

rysRóżnice pomiędzy poszczególnymi rodzajami pamięci NAND FLASH są duże i dotyczą nie tylko samej pojemności. Ta natomiast jest największa (w przeliczeniu na zajmowaną powierzchnię płytki drukowanej) w przypadku trójwymiarowych układów TLC, a najmniejsza dla planarnych SLC. Aktualnie producenci pracują przede wszystkim nad rozwijaniem technologii trójwymiarowego nakładania warstw komórek, osiągając umiejętność tworzenia do 48 lub 64 warstw, w zależności od producenta. Postęp w tej dziedzinie jest dynamiczny, gdyż biorą w nim udział takie firmy jak Intel, Toshiba, Micron i Samsung. Ten ostatni zresztą chwali się, że ich technologia pozwala na układanie nawet do 100 warstw na sobie.

Szybkość odczytu i zapisu

Sposób budowy pamięci decyduje o możliwej szybkości odczytu i zapisu. Spośród układów NAND FLASH najszybsze są modele SLC, a więc te o najmniejszej pojemności. Na drugim miejscu eMLC, a następnie MLC i w końcu TLC. Jednocześnie producenci wprowadzający technologię pamięci 3D twierdzą, że pozwala ona zredukować czas dostępu do pamięci, względem układów planarnych, co pozwala podzespołom TLC osiągać prędkości dostępne dla MLC.

W przypadku gotowych modułów NAND FLASH, a więc wszelkiego rodzaju dysków i pendrive’ów, o szybkości decyduje zastosowany kontroler. Jego funkcje – poza adresowaniem – obejmują też pilnowanie, by komórki pamięci się równomiernie zużywały, a także decydowanie, w której kości zapamiętane zostaną które dane. Im kontroler szybszy i im sprawniej układa dane w poszczególnych układach scalonych, tym szybszy jest cały nośnik. To właśnie jeden z powodów, dla których dyski SSD są znacznie droższe i bardziej sprawne niż tanie pendrive’y, mimo że oba te rodzaje konstrukcji bazują na technologii NAND FLASH. Przewagę szybkości mają często dyski wyposażone w więcej identycznych układów pamięci, gdyż – jeśli kontroler na to pozwala – dane są wtedy równocześnie zapisywane do wielu układów jednocześnie.

rysPamięć NAND FLASH świetnie nadaje się do przechowywania dużych ilości danych, które odczytywane są blokami. Jeśli jednak konieczne jest tylko wczytanie programu lub prostych ustawień, lepiej sprawdzą się układy NOR FLASH.

Liczba cykli zapisu i żywotność

Bardzo istotną kwestią jest żywotność pamięci, która podawana jest zarówno w cyklach zapisu i odczytu, jak i w latach. Różnice pomiędzy poszczególnymi technologiami są niebagatelne. Najbardziej pojemne układy cechują się niestety najkrótszą żywotnością. NAND FLASH pozwala na do ok. 100 tysięcy cykli zapisu (niektóre źródła mówią o milionie) w przypadku technologii SLC. Dla eMLC wartość ta spada mniej więcej 2-3-krotnie, a w przypadku MLC wynosi już ok. 10 tysięcy cykli. Układy TLC pozwalają jedynie na kilka tysięcy cykli zapisu, co niestety oznacza, że w wielu aplikacjach szybko ulegną uszkodzeniu. Jest to bardzo duży problem w przypadku licznych aplikacji, gdzie o zapisach do pamięci decyduje system operacyjny. Zdarza się, że zastosowane oprogramowanie, czy to bezpłatne, czy na licencji firm trzecich, nie zostało pomyślane pod kątem wykorzystania w komputerach z nośnikami typu Flash i co chwile dokonuje zapisów, skutecznie zużywając komórki pamięci. Bywa, że stosując niedrogą, nową kartę pamięci, w której nie zaimplementowano mechanizmu równoważenia zużycia komórek i podłączając ją do minikomputera z linuksowym systemem, już po kilku-kilkunastu tygodniach zaczynają pojawiać się nieodwracalne błędy. Dlatego tworząc urządzenia tego typu należy sięgać po pamięci bardziej trwałe, w których kontroler dba o równomierny rozkład zapisów oraz w których użyto układów SLC lub ewentualnie eMLC. Warto też przyjrzeć się oprogramowaniu i upewnić, że ograniczono częstość zapisów na nośnik.

rysDla porównania, w przypadku pamięci NOR FLASH, układów FRAM czy PRAM, wytrzymałość może wynosić ok. 1010 – 1014 cykli, a więc o wiele rzędów wielkości więcej.

Drugi aspekt dotyczy samego czasu życia układu i podtrzymywania zapisanych danych. Ten zazwyczaj jest dosyć długi i w zależności od rodzaju układu, wynosi od 10 do kilkudziesięciu lat. W praktyce te wyższe wartości to tylko szacunki producentów, których prawdziwość jest aktualnie trudna do zweryfikowania.

Temperatura pracy

Układy pamięci, tak jak i wszelkie inne układy elektroniczne, są produkowane z myślą o konkretnym zakresie temperatury pracy. W praktyce na rynku znaleźć można zarówno podzespoły, które nie powinny być narażane na więcej niż 60 °C, jak i takie, które podobno z powodzeniem znoszą do 125 °C. Naturalnie te o szerszym, dopuszczalnym zakresie temperaturowym będą droższe, ale można je zastosować do aplikacji przemysłowych, wojskowych lub choćby do motoryzacji. I o ile większość z technologii pamięci elektronicznych nie jest mocno wrażliwa na temperatury, dobierając układy, szczególnie do urządzeń przenośnych, warto przewidzieć jakie są szanse, że użytkownik pozostawi gotowy produkt np. w samochodzie ustawionym w nasłonecznionym miejscu i czy urządzenie powinno nadal funkcjonować po kilku tak spędzonych godzinach.

Interfejs komunikacyjny i wymienialność pamięci

Dostępne interfejsy komunikacyjne bardzo się od siebie różnią w zależności od tego, czy wykorzystywane są pojedyncze układy scalone pamięci, czy gotowe moduły.

W przypadku pojedynczych układów najczęściej wykorzystywane są interfejsy szeregowe, takie jak SPI i I2C. Układy pamięci o większych pojemnościach korzystają najczęściej z interfejsów równoległych. Na rynku znaleźć można też podzespoły ze zmodyfikowanymi wersjami interfejsów szeregowych – np. QSPI (Quad SPI) i HyperBus.

rysW przypadku pamięci w postaci modułów wykorzystuje się albo interfejsy kart pamięci (MMC, SD, CF, CFast), albo wewnętrzne interfejsy komputerowe (SATA, mSATA, PCIexpress, miniPCIexpress, M.2), albo też uniwersalne interfejsy zewnętrzne (USB, eSATA, FireWire, Thunderbolt). Ich wybór będzie zależał przede wszystkim od dostępnych złączy oraz tego, czy nośnik ma być regularnie wymieniany, czy też wymiana ma być jedynie okazyjna. Wbrew pozorom, wybór nośnika z interfejsem USB lub SD do instalacji wewnątrz obudowy urządzenia i bez możliwości jego wyjmowania przez użytkownika czasem ma uzasadnienie. Po pierwsze bywa tak, że jest to rozwiązanie tańsze dla niedużych woluminów produkcyjnych, a po drugie wgrywanie danych na takie nośniki można bardzo łatwo, samodzielnie zrealizować.

Rozmiar fizyczny

Kolejna kwestia jest istotna szczególnie w przypadku urządzeń przenośnych. Obecnie zmieszczenie dużej ilości pamięci elektronicznej w małym sprzęcie zazwyczaj nie stanowi problemu, ale ci, którzy chcą tworzyć urządzenia rekordowo małych rozmiarów, muszą przyłożyć wagę także do rozmiaru samych pamięci. Ogólna zasad mówi, że mniejszy rozmiar można uzyskać samodzielnie decydując o rozłożeniu pojedynczych komponentów, niż gdy korzysta się z gotowych modułów. W przypadku pamięci NAND FLASH warto sięgnąć po  układy z trójwymiarowo ułożonymi warstwami, co znacząco zmniejsza sumaryczny rozmiar podzespołów. Oczywiście większą pojemność i to tańszym kosztem, da się uzyskać w tej samej przestrzeni z użyciem układów TLC niż MLC lub SLC. W przypadku pamięci wykonanych w zupełnie innych technologiach nie ma tak dużych różnic pomiędzy poszczególnymi ich odmianami. Przykładowo – komórki pamięci FRAM są praktycznie niezależnie od wersji technologii – bardzo duże.

rysOstatnio popularnym wyborem jest użycie kart pamięci microSD (a więc NAND FLASH), które są tanie, mają minimalny rozmiar, choć ich wadą jest konieczność zastosowania gniazda. Ponadto są w większości przypadków bardzo mało odporne na zużycie.

Szyfrowanie

Bywa, że w pamięci mają być przechowywane wrażliwe dane, których wyciek mógłby narazić producenta na poważne straty. Wtedy to zapisana treść powinna być zaszyfrowana i najlepiej niedostępna w inny sposób niż z oryginalnego kontrolera, który ma z niej korzystać. Jeśli to możliwe, warto sięgnąć po pamięć jednorazowego zapisu. Warto też zainteresować się autorskimi rozwiązaniami różnych firm, oferujących mikrokontrolery z zabezpieczoną pamięcią i to właśnie w nich przechowywać najbardziej wartościowe dane. Pozostałe informacje można już umieścić w mniej zabezpieczonej pamięci.

Podtrzymywanie pamięci

Choć pamięć nieulotna nie potrzebuje zasilania by przechowywać dane, trwałość zapisanych informacji jest skończona. W trakcie pracy – zapisu, a czasem i odczytu, a więc gdy pamięć jest podłączona do zasilania, zawartość komórek poddawanych operacjom bywa odświeżana. Z czasem jednak gromadzone ładunki elektryczne mogą się stopniowo rozpłynąć, a domeny magnetyczne – poprzestawiać. Bywają też pamięci typu nvRAM, w których stosowane są dodatkowe superkondensatory lub baterie/akumulatory, służące do podtrzymywania zawartości po odłączeniu zasilania. Ciekawe skonstruowane są pamięci FRAM (nazywane też mianem FeRAM albo F-RAM, w zależności od producenta), których działanie oparto na zjawisku ferroelektrycznym. Efekt ten polega na przechowywaniu polaryzacji elektrycznej pomimo braku obecności pola elektrycznego. Komórka takiej pamięci jest zbudowana z nałożonego, krystalicznego materiału ferroelektrycznego, ułożonego pomiędzy dwa doprowadzenia elektrod, co tworzy swoisty kondensator z ferroelektrykiem jako dielektrykiem. Jest to więc konstrukcja zbliżona do budowy komórki pamięci dynamicznej RAM, z tą różnicą że zamiast przechowywać informacje w postaci naładowanego kondensatora, bity są reprezentowane przez polaryzację ładunków w krysztale. Oznacza to, że wewnątrz kryształu znajduje się ruchomy atom, który po przyłożeniu pola elektrycznego przesuwa się zgodnie z kierunkiem tego pola. Po znalezieniu się w jednej z dwóch pozycji stabilnych, atom nie zmienia położenia, chyba że zostanie poddany działaniu przeciwnego pola elektrycznego. Tak przechowywana informacja nie znika nawet przez ponad 100 lat, choć długość tego okresu zależy od temperatur, w jakich pamięć jest przechowywana.

rysPobierana moc

Zużycie energii przez pamięć odgrywa rolę zarówno w systemach przenośnych, inteligentnych czujnikach, jak i większych urządzeniach. Problem sprowadza się albo do konieczności dostarczenia odpowiednio dużej ilości energii albo do odprowadzenia energii cieplnej. Małą moc pobierają przykładowo pamięci FRAM, a spośród pamięci NAND FLASH, największy postęp dotyczy układów wielowarstwowych, które zyskują m.in. dzięki krótszej drodze pomiędzy poszczególnymi komórkami.

Koszt

Niewątpliwie, często ostatecznym ograniczeniem w wyborze pamięci jest przede wszystkim koszt. Oczywiście, im pamięć ma mniejsze rozmiary (ale większą pojemność), im jest szybsza i im trwalsza, tym droższa. Najwięcej informacji, w przeliczeniu za złotówkę, można przechowywać w pamięci NAND FLASH, wielowarstwowej i wykonanej w technologii TLC. Ponadto sposobem na tanie pamięci jest korzystanie z kart microSD. Niestety, są to rozwiązania mało wytrzymałe, a w praktyce też dosyć powolne. Znacznie lepszą wydajnością i trwałością cechują się wysokiej jakości układy SLC, czy np. pamięci FRAM oraz NOR FLASH, ale oczywiście kosztują istotnie więcej. Niemniej koszt pamięci nie powinien stanowić głównego kryterium wyboru, jedynie czynnik ograniczający. Zaprojektowanie urządzenia przemysłowego z użyciem pamięci TLC NAND FLASH jest po prostu błędem, jeśli nie celowym zaniedbaniem. Dlatego jeśli budżet jest mały, lepszą praktyką będzie po prostu obniżenie ilości wbudowanej pamięci niż zmiana jej rodzaju.

rysKompromis ten jest oczywiście dosyć problematyczny, szczególnie dla dostawców sprzętu na rynek automatyki. Klienci nierzadko mają problem ze zrozumieniem, dlaczego komputer przemysłowy z dyskiem SSD jest istotnie droższy, niż klasyczny PC z – wydawałoby się – topowym SSD. Zorientowanie się, że najdroższe i najszybsze z oferowanych obecnie nośników SSD na potrzeby rynku konsumenckiego zawierają układy MLC (a większość popularnych modeli ma już komórki TLC), wymaga pewnych starań. Natomiast w klasie przemysłowej dostępne są przede wszystkim nośniki SLC. Aby umożliwić redukcję kosztów, niektórzy producenci wprowadzili SSD w technologiach eMLC lub np. iSLC, które w specyficzny sposób wykorzystują komórki zbliżone do MLC, ale zwiększając ich trwałość. Pozwala to uzyskać zbliżone parametry pracy do układów SLC, oferując je za mniejszą cenę niż prawdziwe SLC.

Główni producenci

Ponieważ w ostatnich latach w świecie elektroniki działo się dosyć dużo, fuzje pomiędzy firmami sprawiły że lista wiodących producentów pamięci elektronicznych się zmieniła. Co więcej, w ramach niektórych firm dostępne są dodatkowe marki handlowe, przeznaczone na poszczególne rynki.

Wśród największych producentów pamięci nieulotnych są firmy takie jak: Samsung, Intel, Toshiba, Hynix, Micron oraz Cypress Semiconductor, który w niedawnym czasie stał się właścicielem firm Spansion i Ramtron. Oferująca wiele różnych pamięci firma Lapis Semiconductor należy teraz do grupy ROHM. Ponadto pamięci nieulotne można znaleźć w ofertach firm takich jak Microchip, Adesto, Gigadevice, STMicroelectronics, a nawet ON Semiconductor, NXP, Maxim, Fujitsu, AMIC i Macronix, a nawet Xilinx. Bywa, że u niektórych dostawców, pamięci oferowane są jeszcze pod już nieistniejącymi markami, przejętymi przez większe firmy.

Marcin Karbowniczek, EP

Pozostałe artykuły

Poprawna aplikacja wyświetlacza OLED

Numer: Luty/2017

Wyświetlacze OLED coraz wyraźniej zaznaczają swoją pozycję na rynku i już niebawem mogą stać się dominującym produktem w zastosowaniach zarówno przemysłowych, jak i powszechnych. Cechuje je bardzo wysoki kontrast i energooszczędność nieosiągalna dla wyświetlaczy LCD. Nowe technologie wymagają jednak nowych rozwiązań.

IoT czyli...?

Numer: Luty/2016

Idea Internetu Rzeczy ? IoT ? od dwóch lat przyciąga uwagę konstruktorów urządzeń elektronicznych. Nie da się jej nie zauważyć, bowiem wykorzystując jej marketingową nośność, próbują na niej zarobić wszyscy potencjalni uczestnicy rynku, w tym nawet producenci ?specjalnych? złączy do aplikacji IoT. Czym tak naprawdę jest IoT?

Automaty w IoT. Nowoczesny sklepik osiedlowy

Numer: Luty/2016

Automat - już nikogo nie dziwi, że za jego pomocą otrzymamy gotówkę, bilety, kanapki i kawę, ale jednak w niedalekiej przyszłości sprzeda nam również nowe dętki rowerowe, znicze, baletki, iPoda czy nawet książkę. Dzięki nowym komponentom dotychczas raczej prymitywne automaty sprzedające stają się coraz bardziej inteligentne.

Ciemna i jasna strona mocy

Numer: Luty/2016

Moc jest jednym z ważniejszych parametrów urządzeń elektrycznych i elektronicznych. Nawet, jeśli funkcja danego urządzenia nie jest bezpośrednio związana z wykonaniem jakiejś pracy w sensie fizycznym (napędzanie silnika, oświetlenie, wzmocnienie sygnału akustycznego itp.), to i tak każde urządzenie, musi być zasilane, a więc musi czerpać moc ze źródła. Pomiary mocy są więc jednymi z podstawowych.

Jak dobierać wyświetlacze do komputerów przemysłowych

Numer: Luty/2016

Niezależnie od wielkości i rodzaju wybranego komputera - czy to przemysłowego, czy konsumenckiego, w zdecydowanej większości nowoczesnych aplikacji pojawia się konieczność zastosowania wyświetlacza. I o ile w przypadku komputerów wielu producentów ma kompleksową ofertę, przystosowaną do wszelkich zastosowań, tak w dziedzinie wyświetlaczy poszczególni wytwórcy najczęściej koncentrują się na jednym, dwóch lub maksymalnie trzech ...

Mobilna
Elektronika
Praktyczna

Elektronika Praktyczna

Luty 2017

PrenumerataePrenumerataKup w kiosku wysyłkowym

Elektronika Praktyczna Plus

lipiec - grudzień 2012

Kup w kiosku wysyłkowym