Když se hovoří o internetu věcí, dojde se časem nevyhnutelně i k diskusi o problémech, kterým taková zařízení čelí. Nejčastěji to je spotřeba elektrické energie (tedy napájení z baterií), bezpečná bezdrátová komunikace a ukládání dat. Dnes bych se rád věnoval tomu poslednímu tématu.
Pro ukládání naměřených dat se používá několik různých typů pamětí. A protože vím, že tento sloupek čtou i lidé, kteří nejsou zcela kovaní v elektronice, dovolte mi na úvod malé opáčko: Paměti dělíme v zásadě na dva druhy: RAM (Random Access Memory, což je historický a nepřesný název, přesněji jde o RWM – Read Write Memory), tedy paměti, ze kterých lze číst a do kterých lze i zapisovat, a ROM (Read Only Memory), tedy paměti, ze kterých lze jen číst. Ta první zhruba odpovídá pracovní paměti ve vašem počítači, ta druhá svou funkcí připomíná třeba vylisovaná datová CD (taky proto označení CD ROM).
Paměti ROM udržují informaci i poté, co je obvod vypnutý, na rozdíl od pamětí RAM. Paměti RAM obvykle o svůj obsah přijdou ve chvíli, kdy je odpojeno napájecí napětí.
Svět ale není černobílý a binární, a tak i mezi RAM a ROM existuje celá škála pamětí, které jsou „trochu i jako ty druhé“. Začalo to ve světě ROM. První ROM měly svůj obsah už z výroby, natvrdo „vypálený“ do křemíkových struktur. Později výrobci nabídli paměti, které nazývali PROM – Programmable ROM. Ty obsahovaly jemné propojky, které bylo možné určitým postupem a za použití vyššího napětí (většinou 12 voltů) přepálit a tím naprogramovat jejich obsah. Jednou naprogramovaná paměť PROM už tedy nešla smazat a přeprogramovat znovu. Funkce je tedy obdobná jako u zapisovatelných CD a někdy se označuje jako paměť WORM – Write Once, Read Many. Tuto nevýhodu odstranily až paměti EPROM (Erasable PROM), což byly paměti, které bylo možno nejen naprogramovat jako PROM, ale poté i smazat pomocí ultrafialového záření a naprogramovat znovu. K tomu, aby bylo možné tyto paměti mazat, byly vybaveny skleněným okénkem nad čipem.
Po pamětech EPROM přišly EEPROM, tedy „Electrically Erasable PROM“. Technicky obdoba EPROM, ale obsah nebylo nutné mazat ultrafialovým světlem. Pomocí speciální sekvence se nastavilo, jaká oblast má být smazána, a obsah se smazal přímo za chodu zařízení, nebylo potřeba paměti vyjímat a mazat pod UV lampou. Další generaci po EEPROM známe jako FLASH. Technologie FLASH dále vylepšuje EEPROM – jsou rychlejší, mají menší spotřebu, vyšší kapacitu, ale nevýhodou je, že po určitém počtu zápisů, obvykle nižším než u EEPROM, ztrácí svou funkci.
Nevýhodou mazatelných PROM (EPROM, EEPROM, FLASH) je i to, že časem zapomínají. Ten čas se měří sice na roky a desítky let, ale i tak – když dnes dostanete do ruky třeba starý počítač z 80. let minulého století, ve kterém byly použity méně kvalitní paměti EPROM, může se stát, že jejich obsah už bude poškozený. Za nějaký čas to čeká i dnešní FLASH.
Máme tedy řadu pamětí ROM, do nichž lze data s určitými omezeními zapisovat jako do paměti RAM. Jejich nevýhoda je, že jsou pomalejší než RAM. Z druhé strany máme paměti RAM, které jsou rychlé, ale zase po výpadku napájení zapomenou uložená data (jsou volatilní). Z tohoto směru zase přišla snaha výrobců udržet výhody RAM a nějak zajistit, aby výpadek napájení nesmazal zapsaná data, tedy vytvořit takzvanou nonvolatilní RAM (NVRAM). Nejjednodušší způsob je zajistit, aby napájení nikdy nevypadlo – třeba výrobce pamětí Dallas Semiconductors integroval do pouzdra i malou baterii, která fungovala jako záložní. Nevýhoda je jasná – každá baterie se po čase vybije, takže ani tyto paměti neudrží svůj obsah výrazně dlouho.
V posledních letech se na trh dostaly ve větší míře paměti, které využívají pro uložení dat namísto elektrického náboje jiný princip. Paměti FRAM (Ferroelectric RAM) využívají feroelektrickou vrstvu (feroelektrikum lze, zjednodušeně řečeno, přeměnit na permanentní magnet pomocí elektrického pole). FRAM využívají této vlastnosti a ukládají data tím, že mění polaritu takových látek. Při čtení se nastavuje buňka paměti na 0. Pokud už předtím byla 0, neděje se nic, pokud předtím byla 1, vznikne krátký puls, který logika vyhodnotí. Další paměti na podobném principu jsou MRAM (Magnetoresistive RAM), kde se při čtení využívá měření elektrického odporu.
Tyto paměti jsou prozatím „to nejlepší z obou světů“. Životnost dat v nich uložených je vyšší než u FLASH a EEPROM, udržují si data i po vypnutí napájecího napětí, zároveň jsou rychlé jako RAM, jsou odolnější vůči radiaci a lze je přepisovat téměř donekonečna (výrobce Texas Instruments udává u svých pamětí řádově 100–1000 bilionů zápisových cyklů). Na druhou stranu mají menší kapacitu než FLASH (míněno „na trhu dostupné čipy“) a jsou dražší.
Nejsou to však jediné směry, kterými se vývoj paměťových technologií ubírá. Z dalších stojí za zmínku například PMC, zvané též CBRAM, kde se informace ukládá ve vodivých můstcích, vytvářených a rušených elektrochemicky.
Když si shrneme výhody a nevýhody jednotlivých typů:
FLASH: levné, nonvolatilní, zápis poměrně pomalý, čtení rychlé, nízká spotřeba, ale velmi omezený počet záznamových cyklů (u běžnějších pamětí třeba 10 000 – v posledních letech se ale technologie zlepšuje a špičkové modely mají až milion cyklů).
EEPROM: levné, nonvolatilní, zápis pomalejší než u FLASH, čtení rychlé, spotřeba vyšší než FLASH, vyšší počet záznamových cyklů (okolo 100 000).
RAM: levné, volatilní (potřebují napájení, aby si udržely data), zápis i čtení velmi rychlé, spotřeba nižší než u FLASH, počet zápisů neomezený.
MRAM, FRAM: dražší, nonvolatilní, zápis zhruba stejně rychlý jako u RAM, čtení také, spotřeba se pohybuje mezi RAM a FLASH, počet záznamových cyklů v řádech stovek bilionů.
Co tedy použít, pokud ve svém zařízení potřebujete ukládat někam třeba naměřená data? Nejlevnější řešení s největší kapacitou nabízí FLASH (tuto technologii využívá třeba SD karta). Na druhou stranu musíte počítat s možnými chybami a ošetřit je, navíc při častějším přepisování dat paměť brzy odejde.
Pokud potřebujete často zapisovat a mazat, zvažte použití EEPROM. Nevýhodou je zase vysoká spotřeba a pomalý zápis, takže u zařízení, která chrlí rychle data, budete stejně potřebovat nějakou verzi cache.
Pokud potřebujete často a rychle zapisovat a mít nízkou spotřebu, využijte paměť RAM se záložním napájením. Riziko je, že po čase se i záložní akumulátor vybije a vy na to přijdete třeba až ve chvíli, kdy paměť zapomene data.
Pokud potřebujete spojit všechny výhody, tj. nízkou spotřebu, vysokou rychlost zápisu a čtení a dlouhodobé uchování dat bez napájení, zvolte FRAM nebo MRAM. Nevýhodou je cena a malá dostupná kapacita těchto pamětí. Pro srovnání: FRAM čip FM25V20 s kapacitou 256 kB stojí v kusovém množství 350 Kč (podle ceníku Mouser.com), paměť FLASH se stejnou kapacitou LE25U20 vyjde na 18 Kč, obdobná EEPROM pak okolo 70 Kč.