Jste zde

Paměťový pětiboj: FRAM vyzývá Flash

Sportovně laděný článek sleduje paměťový pětiboj, ve kterém se utkají technologie FRAM spolu s Flash. Rozdíly jsou skutečně propastné, ale nepředbíhejme. Autorem původní, neobyčejně výstižné reportáže The FRAM Pentathlon je Matthias Poppel z Texas Instruments.

Texas Instruments představuje nového atleta s úžasnými schopnostmi na scéně embedded pamětí, zvaného

  • FRAM,

plným jménem pak

  • Ferroelectric Random Access Memory.

V pěti disciplínách nyní porovnáme výkonnost našeho sportovce, kterému se postaví dlouhodobě uznávaný soupeř: Flash. Než vše necháme vypuknout, pojďme si krátce „posvítit“ na naše dva atlety, abychom porozuměli tomu, jak poběží.

 

Jak poběží FRAM a jak zase Flash?

Paměť FRAM je vystavěna podobně jako DRAM – základ tvoří tranzistor, spínající proud, a kondenzátor, ukládající informaci. Nezvyklé je však dielektrikum kondenzátoru, využívající feroelektrického materiálu, zvaného PZT (Lead Zirconate Titanate). Výraz „feroelektrický“ však nesmíme zaměňovat s označením „feromagnetický“. Bude to pouze vztah mezi napětím a nábojem feroelektrického materiálu, co nám připomíná hysterezní charakter feromagnetického materiálu. FRAM neobsahuje železo a není tudíž snadno ovlivnitelná magnetickými poli. V přítomnosti elektrického pole dochází k formování dipólu uvnitř krystalu – může za to posun atomů včetně náboje elektronů ve směru pole. Dva polarizační stavy, které přicházejí v úvahu, následně reprezentují logickou jedničku nebo nulu. FRAM přitom řadíme mezi non – volatilní paměti, protože zmíněná polarizace robustně přetrvává a to i v případě, odstraníme – li elektrické pole. K „přepínání“ dipólu dochází rychle a s vynaložením jen malého množství energie.
 
 
Buňka paměti Flash – v mikrokontrolérech obvykle využíváme Flash typu NOR – se skládá z jednoho MOSFETu se dvěma hradly, umístěnými na sobě. Řídicí elektroda (Control Gate) spíná proud, tekoucí mezi vývody Source a Drain, jako v případě běžného tranzistoru NMOS. Plovoucí hradlo (Floating Gate), bezprostředně pod Control Gate, je zcela izolováno vrstvou oxidu. Nepřítomnost náboje na plovoucím hradle reprezentuje logickou jedničku. Připojením prahového napětí na řídicí elektrodu aktivujeme kanál a začíná protékat měřitelný proud. K naprogramování buňky na log. 0 potřebujeme na řídicí elektrodě nechat působit vyšší napětí, zpravidla 12 až 14 V. Nyní již bude proud, protékající mezi vývody Source a Drain, natolik velký, že některé elektrony přeskočí přes vrstvu oxidu až k plovoucímu hradlu. Tento proces nazýváme injekcí horkých elektronů. Náboj plovoucího hradla bude během obvyklé fáze čtení ovlivňovat průchod proudu kanálem, takže nenaměříme dostatečnou velikost proudu pro detekci log. 1.
 
Vymazání paměti Flash zpátky na log. 1 (zpravidla můžeme jen v bloku buněk, nazývaných sektor) dosáhneme připojením vysokého programovacího napětí s opačnou polaritou, což má za následek vypuzení elektronů z prostoru plovoucího hradla (kvantové tunelování). Programování a také mazání paměti Flash zabere nějaký čas a vyžaduje vyšší napětí, která z napájecího napětí dodávají vestavěné nábojové pumpy. Elektrony na plovoucím hradle, reprezentující binární informaci, zde spolehlivě zůstávají po mnoho let, ale jakákoli slabina izolačního oxidu, příp. fyzický účinek záření (např.), způsobující přesun elektronů z nebo také do oblasti plovoucího hradla, může vést k tzv. „otočení bitu“.
 
Struktura tranzistoru s plovoucím hradlem, tak jak se používá v pamětech Flash typu NOR
 

Pětiboj s FRAM

Všestranně nadaný atlet

Kdo z lidí, pohybujících se v oblasti embedded zpracovávání, by neznal otázky, vyplouvající na povrch již na začátku celého projektu, tj. ve fázi, kdy vybíráme procesor a především jeho konfiguraci paměti: Jak velkou non – volatilní paměť potřebujeme pro program a data? Kolik zabere boot loader? Jak moc paměťového prostoru vyhradit na doplňkové funkce, příp. měli bychom použít externí Flash a na čipu jen SRAM? Jak velkou SRAM musíme vyhradit pro běh programu a data, stejně jako rychlou pomocnou paměť (scratch pad)? Bude docházet k záznamu dat na vysokých frekvencích, budeme vyžadovat nepřetržité přepisování a potřebujeme v této věci alokovat externí EEPROM?
 
Díky FRAM máme nyní k dispozici univerzálního hráče, bez ohledu na to, zda jsme dříve používali paměti typu Flash, SRAM či EEPROM. FRAM je non - volatilním paměťovým prostorem, takže si svůj obsah udrží i po vypnutí napájení. Rodina obvodů MSP430FR57xx si na svém čipu dokáže zajistit dostatečné množství energie pro dokončení operace zápisu do paměti a to dokonce i v případě výpadku napájení, čímž udrží definovaný stav. A co více, vývojáři si již nemusí dělat starosti kvůli velikosti sektoru nebo omezením při mazání sektoru, protože FRAM dokonce nabízí bitové programování. Vývojáři si mohou celou vestavěnou paměť svobodně rozdělit přesně podle svých potřeb. 

 

Prakticky žádná strava

V našem experimentu budeme zapisovat data rychlostí 13 kB za sekundu. V prvním případě využijeme MSP430FR5739 a jeho FRAM, ve druhém pak MSP430F2274 a odpovídající paměť typu Flash. Na grafice níže vidíme proudovou spotřebu, vyžadovanou v obou případech.
 
Předpokládejme 9 μA, srovnatelných s jedním banánem, který si náš atlet FRAM potřebuje vzít sebou jako energetickou zásobárnu. Aby však stejnou úlohu zvládl i náš soupeř, paměť Flash, bude si muset donést obrovský ruksak s 244 banány! Jak příjemná to hmotnostní výhoda, kterou bezesporu ocení každý, kdo již někdy běžel.
 
 
Předpokládejme 9 μA, srovnatelných s jedním banánem, který si náš atlet FRAM potřebuje vzít sebou jako energetickou zásobárnu. Aby však stejnou úlohu zvládl i náš soupeř, paměť Flash, bude si muset donést obrovský ruksak s 244 banány!
 
 
Přeloženo zpět do světa embedded zpracování to znamená další významné úspory energie, vždyť přístupem do paměti rozumíme neodmyslitelnou funkci kterékoli aplikace s mikrokontroléry. Hlavní příčina mimořádně nízké spotřeby paměti spočívá v tom, že struktuře FRAM stačí malé množství energie, protože programujeme na 1,4 V, zatímco Flash se neobejde bez nábojových pump, které musí vyrobit programovací napětí 12 až 14 V.
 
Proudová spotřeba pamětí FRAM a Flash, požadovaná při zápisu 13 kB za vteřinu
 
 

Přeborník ve sprintu na 400 m

A to již opět vyzýváme oba naše soupeře z předchozího pokusu. Nyní zapíšeme 64 bajtů dat do FRAM, resp. Flash, a budeme přitom měřit čas. Zápis do paměti MSP430FR5738 trvá 1,6 μs, naflashování paměti MSP430F5438 pak něco okolo 1,6 ms. Přepnutí dipólu krystalu FRAM je skutečně rychlé, srovnáváme – li to s řízením náboje přes silnou vrstvu oxidu směrem k plovoucímu hradlu.
 
Abychom opět zachytili rozdíl, vyslali jsme oba naše atlety na 400 m dlouhý sprint. Oba jsou připraveni, balancují a netrpělivě očekávají výstřel ze startovací pistole. Zazněl signál, ale závodník v běhu, paměť Flash, je stále zaneprázdněna z titulu své reakční doby a pořád neopustila svou startovací pozici, zatímco FRAM již téměř ukončuje třetí kolo. Když už konečně Flash dokončuje svůj první 400 metrový úsek – rychlostí světového rekordu – bude mít FRAM za sebou celou jednu tisícovku okruhů!
 
Z této mimořádně krátké doby zápisu budou zcela jistě těžit nízkopříkonové aplikace, protože dokážeme zkrátit probouzecí fáze procesoru a následně tím prodloužit životnost baterie. Další výhoda spočívá v úspoře času včetně nákladů během in – line programování, kde můžeme rovněž výrazně zkrátit dobu, potřebnou k nahrání kódu do zařízení.
 
 
Zazněl signál, ale závodník v běhu, paměť Flash, je stále zaneprázdněna z titulu své reakční doby a pořád neopustila svou startovací pozici, zatímco FRAM již téměř ukončuje třetí kolo.
 

 

Maratón

Ze sprintu se nyní přesuneme k vytrvalostním disciplínám. Počet cyklů zápisu / mazání je u embedded pamětí typu Flash omezen na 10 000, ve výjimečných případech pak na 100 000 cyklů. FRAM jich však v případě zápisu ustojí přinejmenším 1014.
 
Během našeho pokusu názorně si představit rozdíl mezi těmito čísly budeme předpokládat, že 105 cyklů symbolizuje výdrž, spojenou s maratónem v délce 42 km. Zatímco náš běžec Flash překonává vzdálenost mezi Marathónem a Athénami, FRAM obíhá celou planetu okolo rovníku a to nejen jednou, ale milión krát!
 
 
Zatímco náš běžec Flash překonává vzdálenost mezi Marathónem a Athénami, FRAM obíhá celou planetu okolo rovníku a to nejen jednou, ale milión krát!
 
 
Mechanismus dipólu FRAM je velmi odolný a ani při 1014 cyklech nevykazuje jakékoli opotřebení. Existují dokonce studie, předvádějící tuto technologii až za hranicí 1016 cyklů. Taková výdrž v otázce zápisu je daleko větší, než jakou od non – volatilní paměti vyžaduje kterákoli současná aplikace. Flash však není jediným typem paměti, se kterou se naše FRAM může poměřovat. Vzhledem k tomu, že potřebujeme v duchu univerzální paměti nasadit FRAM také na pozici SRAM, budou nás zajímat i požadované cykly SRAM. V bateriově napájených systémech by třeba mohl přístup na stejné paměťové místo (8 MHz, aktivní pracovní cyklus 10 %) znamenat životnost okolo 8 let (1014 cyklů) a něco kolem 80 let (1016 cyklů).
 
Počet cyklů zápisu během životnosti pamětí FRAM / Flash
 
 

Hráč v brnění

Naše atleticky zaměřená FRAM není jen rychlá, vytrvalá a hospodárná, pokud jde o spotřebu energie, ale také neobyčejně odolná a chráněná, jako fotbalista (zřejmě ten americký – pozn. překl.).
 
Jak již bylo řečeno, paměť typu FRAM neobsahuje železo a není feromagnetická. Neovlivníme ji tedy magnetickými poli. Velmi malá je rovněž citlivost vůči polím elektrickým. Ani 50 kV pole nebude v bezprostřední blízkosti schopné vnést dostatečné napětí, které by již mělo vliv na paměťovou buňku. Fenomén alfa částic, iontů, kosmického, gama či rentgenového záření, stojící za překlopením bitu dané buňky do opačného stavu, nazýváme „náhodnou chybou“ (Soft Error) a množství takových výskytů pak označujeme jako „četnost náhodných chyb“ (Soft Error Rate – SER). Ovlivněna přitom může být jakákoli technologie pamětí, stojící a padající na náboji kondenzátoru. Ne však FRAM. Je totiž nepravděpodobné, že by částice zasáhla dipól FRAM a změnila jeho polarizaci. Pozemská četnost SER není v případě FRAM dokonce ani měřitelná.
 

Mikrokontroléry TI řady MSP430 s mimořádně nízkou spotřebou běží na FRAM

Embedded zpracování nepatří mezi individuální sporty. Žádný hvězdný hráč se zde totiž neobejde bez týmu. Zapracováním FRAM do mikrokontrolérů MSP430 zdokonalujeme rodinnou DNA, vykazující nízkou spotřebu spolu se špičkovými výkony (v běžném životě pak hovoříme o kyselině deoxyribonukleové, zkráceně jen DNA – pozn. překl.). První řada produktů s FRAM, MSP430FR57xx, která je dostupná již nyní, zahrnuje dobře známé 16bitové jádro MSP430, běžící na 24 MHz a spotřebovávající jen 100 μA/MHz. Bleskové zápisy do FRAM, při zachování malé vlastní spotřeby, dokonce umožňují další zkrácení časových úseků, ve kterých musí procesor zůstávat vzhůru, čímž prodlužují životnost baterie, případně umožňují realizovat nové aplikace, založené na sběru energie z okolního prostředí (Energy Harvesting). Velmi přesné, integrované analogové periférie obvodů MSP430 zajišťují vysokou míru flexibility během samotného přístupu i následného zpracování dat, která pak mohou být ukládána a nepřetržitě přepisována v paměti typu FRAM. Rodina obvodů MSP430FR57xx přichází v pouzdrech typu QFN a TSSOP, přičemž provedení QFN zabere pouze 4 mm x 4 mm. Při odběru 10 000 ks platí u všech výchozí cena, jen $1.20.
 
Prvním dostupným nástrojem se stává Experimenter Board MSP-EXP430FR5739, platforma, která pomáhá vyhodnotit a následně také řídit vývoj aplikací pro záznam dat, systémů sběru energie, bezdrátového snímání, AMI (Automatic Metering Infrastructure) a celé řady dalších, to vše jen za $29. Pomůcka obsahuje několik čidel a také možností propojení, včetně
  • 3osého akcelerometru
  • NTC termistoru
  • 8 zobrazovacích LED
  • motivu pro přídavný LDR senzor, osazovaný do vrtaných otvorů
  • dvou uživatelských spínačů (vstup)
  • možnosti propojení s většinou dceřinných bezdrátových karet od TI – Wireless Daughter Card (např. CC2520EMK).
Obvod MSP430FR5739, umístěný na Experimenter Boardu, lze napájet a ladit prostřednictvím integrovaného ezFET nebo TI Flash Emulation Tool, jako třeba MSP-FET430UIF.
 
První rodina obvodů MSP430 s integrovanou FRAM

 

Závěr:

Skóre, kterého dosahují FRAM v paměťovém pětiboji, zaměřeném na výkonovou spotřebu, rychlost zápisu a také výdrž, odolnost nebo unifikované nasazení, bude v takovém nepoměru vůči tradičním pamětem typu Flash či EEPROM, že zde vlastně definujeme nové standardy aplikací pro záznam dat, napájených z baterií a využívajících bezdrátové propojitelnosti. Zmíněná struktura pamětí typu FRAM pak skvěle vynikne ve spojení se špičkovou architekturou 16bitových MSP430 s mimořádně nízkou spotřebou. Jejich malé klidové proudy, rychlá probuzení a také skvělé výkony použitého jádra – to vše neobyčejným způsobem doplňuje možnosti pamětí FRAM. A to nejlepší nakonec: FRAM je již trhem ověřenou technologií, která obstála i v drsných provozních podmínkách. Ramtron a Texas Instruments FRAM vyrábí již téměř 10 let (více na hw.cz např. ZDE).
Hodnocení článku: 

Komentáře

Ja chapem, ze sa jedna o reklamny text, ale chcelo by to popri tom mnozstve rozvitych epiteton ornans aj trocha vyvazenosti (a to sa tyka aj inych textov v suvistlosti s touto novou rodinou mcu):

  1. technologia FRAM pouzita v tychto mcu pochadza od Ramtronu. Je to sice spomenute v poslednej vete, ale pre mna je nepochopitelne, ze to nie je hrubymi pismenami hned ako prve. Je predsa zasadny rozdiel medzi 10+ rokmi skusenosti Ramtronu v tejto oblasti a 0 rokov skusenosti TI, ktori donedavna pre Ramtron poskytovali len sluzby svojho fabu, podobne ako Fujitsu, ktori napokon mcu s FRAM uz tiez uviedli (MB95R203, http://www.fujitsu.com/global/services/microelectronics/product/micom/ro...), aj ked menej bombastickym sposobom; samotny Ramtron ponuka '51 s FRAM uz asi 5 rokov ale tam ta FRAM je len ako datova - to asi v drvivej vacsine aplikacii aj tak staci.
     
  2. Napriek 10 rokov skusenosti nikto este nepouzil FRAM ako programovu pamat (ten Fujitsu je tiez len pol roka stary). V tomto su tie nove obvody naozaj priekopnicke; na druhej strane to znamena, ze zatial este nikto nema dlhodobe skusenosti.
     
  3. Citanie FRAM je pomalsie ako u FLASH (notabene RAM). Kym najrychlejsie FLASH dnes dovoluju beh mcu na 50MHz a tie typicke na 20-30MHz (bez waitstatov), u tychto mcu je beh z FRAM limitovany na 8MHz (z RAM dokazu bezat 3x rychlejsie, t.j. to nie je limitacia ostatnych obvodov procesora ale priamo FRAM).
     
  4. Na rozdiel od inych dnesnych polovodicovych pamati sa obsah FRAM pri citani znici, takze ju treba po citani obnovovat. To znamena, ze do endurance sa pocita nielen zapis, ale aj citanie. Celkovu endurance som sa z datasheetov TI nedozvedel, v tomto reklamnom clanku sa pise 1E14 (bez uvedenia podmienok) a u Fujitsu 1E15. Fujitsu vsak nahlas dodava, ze to je hodnota pri 25st.C, a ze zavisi od teploty; ta zavislost sa da vycitat z appnotov Ramtronu a treba povedat, ze nie je nezanedbatelna (rovnako ako od teploty u FRAM dramaticky zavisi aj retention - napr. sa nedaju programovat pamate pred osadenim (spajkovanim)). Je jasne, ze program nebude chodit stale po tych istych miestach v pamati, ale vzhladom na novost technologie je treba byt opatrny, zistit si vsetky potrebne udaje a vsetko si to dokladne zvazit a spocitat.
     
  5. Potreba obnovovat po citani tiez znamena, ze citanie je energeticky narocnejsie nez zapis. A energeticka narocnost je vidiet aj na rozdiele medzi behom z RAM (60uA/MHz typical) a FRAM (106uA/MHz typical). (Datasheety neobsahuju
     
  6. Vo svetle predchadzajucich dvoch bodov je jasne, preco clanok vyzdvihuje vlastnosti FRAM prave pri zapise; na druhej strane sa vsak programova pamat u mcu sa preprogramuvava zriedkavo a teda s tym suvisiace parametre su viacmenej okrajove a len v malom mnozstve konkretnych aplikacii rozhodujuce. Skor je teda vhodne tieto mcu uvadzat ako jednocipovu alternativu ku dvojcipovemu kombu bezne mcu + FRAM, avsak to neznie tak "prevratne"...

Aj ked clovek uvazi tieto (a mozno aj ine) fakty, tak stale sa nesporne jedna o priekopnicky tah a je lahko mozne, ze sledujeme prve kusky technologie, ktora sa bude v buducnosti pouzivat u mcu ako standardna.
 
wek
 

P.S. Tie pokusy TI a aj inych vyrobcov a predajcov polovodicov o preklady clankov (ktore robia ocividne ludia nie prilis znali problematiky) vyznievaju aspon podla mna dost trapne. Nechapem, preco TI, Farnell apod., ak uz citia potrebu taketo nieco robit, nemoze na tuto ulohu najat odbornikov - napr. hoci aj hw.cz, ktori - ako aj tento clanok ukazuje - to bezpochyby vedia robit.