Zarządzanie i przechowywanie danych w nowoczesnym przemyśle

| Technika

Gwałtowny wzrost ilości danych gromadzonych oraz przetwarzanych przez nowoczesny zakład produkcyjny generuje spore trudności dla rozwiązań opartych w dużym stopniu na architekturze chmur. Jednym ze sposobów rozwiązania tych problemów jest przeniesienie części danych oraz obliczeń z chmury do układów lokalnych. Wymaga to jednak znalezienia efektywnego sposobu na bezpieczne oraz niezawodne przechowywanie dużej ilości informacji. Jednymi z najlepszych kandydatów do sprostania temu zadaniu są urządzenia oparte na układach pamięci NAND Flash.

Zarządzanie i przechowywanie danych w nowoczesnym przemyśle

Nowoczesny zakład produkcyjny nie jest już tylko zbiorem niezależnie pracujących maszyn. Przyjęcie koncepcji zawartych w technologii IoT, takich jak usieciowienie, intensywne korzystanie z mikroprocesorów czy też duże nasycenie środowiska czujnikami doprowadziło do powstania terminu IIoT (Industrial Internet of Th ings), czyli przemysłowego Internetu Rzeczy, określanego niekiedy jako "Przemysł 4.0”. W zakładach wdrażających tę ideę poszczególne urządzenia połączone są ze sobą za pomocą technologii sieciowych, co umożliwia centralne zarządzanie ich pracą, monitorowanie wydajności i dużo lepszą kontrolę przebiegu całego procesu produkcyjnego.

Technologia IIoT pozwala na znaczące usprawnienie funkcjonowania zakładu, przede wszystkim poprzez maksymalnie efektywne wykorzystanie danych gromadzonych przez rozmieszczone na hali produkcyjnej maszyny oraz czujniki. Chociaż rodzaj i ilość rejestrowanych informacji zazwyczaj nie odbiega znacząco od wartości typowych dla bardziej tradycyjnych rozwiązań, zauważalnie poprawia się jednak zdolność ich przetwarzania oraz wspólnej analizy. W efekcie zakłady zorganizowane zgodnie z koncepcją tzw. inteligentnej fabryki charakteryzują się bardziej skutecznym wykorzystaniem dostępnych zasobów oraz lepszą organizacją pracy. Skutkiem ubocznym tego rozwiązania jest ciągłe generowanie ogromnych ilości danych, które muszą być gdzieś przechowywane w celu ich późniejszej analizy. Przeciętnej wielkości zakład może w ciągu jednego miesiąca rejestrować setki terabajtów danych, co stanowi dość duże wyzwanie dla projektantów i konstruktorów tego typu systemów.

Rozwiązania chmurowe, będące jednym z fundamentów koncepcji IoT, nie zawsze są w stanie efektywnie radzić sobie z tak dużą ilością danych, przede wszystkim z powodu konieczności zapewnienia odpowiednio szybkiego łącza internetowego. Brak wystarczającej infrastruktury sieciowej doprowadzić może do dużych opóźnień w przesyle oraz przetwarzaniu danych, w efekcie zaś do skokowego spadku wydajności całego systemu a nawet utraty części rejestrowanych informacji.

Lokalne centra obliczeniowe

Jednym z rozwiązań powyższego problemu jest przeniesienie części obliczeń z chmury do urządzeń pełniących funkcję lokalnego centrum obliczeniowego, rozmieszczonego na terenie zakładu produkcyjnego, zatem w fizycznej bliskości układów rejestrujących dane. Taki lokalny system musi charakteryzować się wystarczającą mocą obliczeniową oraz zdolnością do bezpiecznego i niezawodnego przechowywania określonej ilości danych. Wartości obu tych wymagań znacząco rosną wraz z rozwojem technik uczenia maszynowego oraz sztucznej inteligencji. Technologie te umożliwiają tworzenie bardzo zaawansowanych oraz skutecznych algorytmów decyzyjnych, potrzebują jednak szybkiego dostępu do dużych zbiorów danych.

 
Rys. 1. Elementy typowego systemu pamięci NAND

Lokalne centrum obliczeniowe może również pełnić funkcję bramki zarządzającej dostępem do chmury. Z jednej strony komunikuje się z całą siecią "rzeczy”, czyli węzłów sieci, takich jak urządzenia produkcyjne, transportowe, magazynowe czy czujniki, z drugiej strony połączone jest z Internetem i usługami sieciowymi. Dzięki temu jest w stanie zarządzać procesem zbierania informacji, przeprowadzić aktualizacje oprogramowania w poszczególnych układach, logować aktywność systemu oraz obsługiwać interfejs użytkownika. W momentach krytycznie wysokiego obłożenia sieci może zaś pełnić funkcję bufora, umożliwiającego tymczasowe przechowanie nadmiaru gromadzonych danych do momentu przesłania ich do chmury. Wszystko to powoduje, że urządzenie takie gwarantować musi bezpieczny i niezawodny mechanizm gromadzenia informacji, wyposażone powinno być zatem w odpowiedni rodzaj pamięci masowej.

Ważnym czynnikiem koniecznym do uwzględnienia podczas projektowania tego typu systemu jest otoczenie i jego wpływ na pracę układu. Typowe przemysłowe środowisko pracy charakteryzuje się wysokim poziomem drgań oraz wstrząsów, zmiennością temperatury (typowy zakres pracy układów przemysłowych to od –40°C do +85°C), a często również obecnością zapylenia oraz wilgotności.

Układy pamięci Flash

Idealnym rozwiązaniem dla przemysłowych centrów obliczeniowych są układy pamięci Flash. Technologia ta świetnie współpracuje z układami PLC, będącymi powszechnie stosowanymi w systemach industrialnych układami obliczeniowymi. Ze względu na brak elementów ruchomych (pamięć Flash oparta jest w całości na układach półprzewodnikowych), technologia Flash cechuje się wysoką odpornością na drgania oraz wstrząsy, małym zużyciem energii elektrycznej oraz krótkim czasem dostępu do zapisanych danych.

Ze względu na specyficzną konstrukcję układów Flash oraz wynikające z tego ograniczenia, ich praca musi być zarządzana przez sprzętowy lub programowy kontroler. Układy Flash, w przeciwieństwie np. do pamięci magnetycznych, nie mają możliwości swobodnego zapisu oraz kasowania dowolnych obszarów danych. Cały obszar pamięci podzielony jest na mniejsze podobszary (strony oraz bloki), które muszą być jednocześnie zapisywane oraz kasowane (zapis odbywa się stronami, zaś kasowanie blokami). Typowy rozmiar strony pamięci Flash to od 512 B do 4 kB, zaś blok składa się zazwyczaj z kilkudziesięciu do kilkuset stron.

 
Rys. 2. Przykładowa płytka drukowana zawierająca układ NAND Flash oraz układ kontrolera

Wydajność pamięci Flash w bardzo dużym stopniu zależy od jakości oraz efektywności kontrolera, stanowiącego warstwę pośrednią, sterującą dostępem do fizycznych obszarów i adresów pamięci. Na rynku znaleźć można wiele tego typu rozwiązań, zarówno sprzętowych (gotowe moduły kontrolerów), jak i programowych (oprogramowanie przeznaczone do integracji w projekcie). Parametry kontrolera mogą być niekiedy w pewnym zakresie elastycznie dopasowywane w zależności od sposobu wykorzystania pamięci w aplikacji, tj. rodzaju i objętości najczęściej zapisywanych i odczytywanych danych. Kontroler zoptymalizowany dla jednego rodzaju aplikacji, np. pamięci przenośnej USB, niekoniecznie będzie dobrze radził sobie np. w przemysłowym systemie monitoringu pracy linii produkcyjnej.

Układy przemysłowe mają czasami dość ostre ograniczenia co do dostępności miejsca, przez co niewykonalne okazać się może dołączenie do systemu dodatkowego modułu pamięci lub dysku SSD. W tej sytuacji pozostaje wciąż możliwość integracji układu pamięci Flash z kontrolerem na płytce drukowanej zawierającej inne podzespoły systemu, np. sterownik PLC.

Długość życia układów pamięci Flash również jest w dużym stopniu zależna od wydajności kontrolera, a w szczególności od jakości i efektywności zaimplementowanego w nim algorytmu określanego jako wear-levelling. Mechanizm ten odpowiedzialny jest za równomierne obciążanie i zużycie wszystkich obszarów pamięci, co opóźnia moment ich uszkodzenia. Przyjmuje się, że przeciętna żywotność komórki pamięci Flash wykonanej w technologii SLC (Single Level Cell) wynosi ok. 100 000 cykli kasowania i zapisu, zaś w przypadku komórek wykonanych w technologii MLC (Multi Level Cell, charakteryzujące się większą gęstością upakowania informacji) jest to ok. 10 000 cykli.

Układ pamięci w aplikacji przemysłowej musi być szczególnie odporny na problemy związane z zanikiem zasilania, gwarantując bezpieczeństwo zapisanych danych w przypadku wystąpienia tego typu zdarzenia. System musi być zorganizowany w sposób umożliwiający szybkie wznowienie pracy. Jest to kolejne z zadań realizowanych przez układ kontrolera, który po ponownym uruchomieniu musi zadbać o odtworzenie struktury pamięci i odzyskanie wszystkich wprowadzonych do systemu danych.

Większość dostępnych na rynku komercyjnych pakietów oprogramowania do obsługi pamięci Flash udostępnia również szereg narzędzi diagnostycznych i analitycznych. Umożliwiają one śledzenie wydajności pamięci, informowanie o konieczności dokonania naprawy lub wymiany określonych podzespołów, a także rejestrację sposobu wykorzystania układu pamięci, co pozwala na optymalizację parametrów jej pracy w dłuższej perspektywie czasowej.

Podsumowanie

Wykorzystanie lokalnych centrów obliczeniowych przedstawiane jest często jako jedna z najatrakcyjniejszych i najefektywniejszych dróg do realizacji koncepcji przemysłu 4.0. Rozwiązanie to sprzyja minimalizacji czasów opóźnień w przesyłaniu danych oraz znacząco ogranicza wymagane pasmo transmisji internetowej, redukując jednocześnie potrzebę korzystania z usług chmurowych. Sukces tego typu koncepcji wymaga jednak szybkich i niezawodnych układów pamięci, zdolnych do bezpiecznego przechowywania dużej ilości danych. Układy NAND Flash są obecnie najlepszym kandydatem do realizacji tego zadania, zarówno ze względu na atrakcyjną cenę, jak i dobre parametry techniczne.

Kluczowym elementem całego systemu pamięci jest kontroler układów Flash, realizujący wszystkie funkcje związane z fizyczną obsługą układów pamięci. Wydajność zaimplementowanych w nim algorytmów przekłada się na efektywność pracy całego systemu. Większość dostępnych na rynku komercyjnych rozwiązań tego typu pozwala na pewną swobodę konfiguracji oprogramowania kontrolera, umożliwiając dopasowanie jego sposobu działania do potrzeb aplikacji.

 

Damian Tomaszewski