Obsah
1. Od maskou programovatelných ROM k mžikovým pamětem
2. Maskou programované ROM
3. Elektricky programovatelné ROM (PROM)
4. Mazatelné ROM (EPROM)
5. Elektricky mazatelné ROM (EEPROM)
6. Mžikové paměti (Flash EEPROM)
7. Budoucnost mžikových pamětí
8. Literatura a odkazy na Internetu
9. Obsah následující části seriálu
1. Od maskou programovatelných ROM k mžikovým pamětem
V předchozích částech tohoto seriálu jsme si popsali princip práce statických pamětí s náhodným přístupem (SRAM) i pamětí dynamických (DRAM). V obou případech se jednalo o paměti, jejichž obsah se v případě vypnutí napájecího napětí nenávratně po relativně krátké době, řádově milisekundách nebo desítkách milisekund, ztratil či poškodil. Takové paměti se nazývají volatilní (= závislé na napájecím napětí). V současných počítačích jsou volatilní paměti využívány především ve formě operační paměti a různých pamětí vyrovnávacích (cache). Ovšem po zapnutí počítače nejsou ve volatilních pamětech uloženy žádné relevantní informace, tj. ani instrukce, které by mohl mikroprocesor začít zpracovávat. Z tohoto důvodu obsahují všechny moderní počítače kromě volatilních pamětí i nějakou z forem takzvaných nevolatilních pamětí, jejichž obsah není spolu s přerušením napájecího napětí ztracen. Nevolatilní paměti jsou však obsaženy i v řídicí jednotce pevného disku (obsahují firmware disku), řadiči klávesnice či myši (součást mikrořadiče umístěného v těchto zařízeních) apod.
Obrázek 1: Nevolatilní paměť s kapacitou 256 kilobitů
2. Maskou programované ROM
Ve výpočetní technice se používají či používaly různé typy nevolatilních pamětí. Vývojově nejstarší, ale stále ještě pro některé účely využívané, jsou paměti ROM (Read-Only Memory), do kterých jsou informace zapsány již při výrobě čipu; jednou zapsanou hodnotu již nelze běžnými postupy změnit. Jedná se o paměti, na jejichž čipu se vyskytuje několik vrstev, v nichž je vytvořena pravidelná síť vodorovných a kolmých vodivých cest propojených v místech spoje tranzistory. Báze (resp. spíše brány, protože se většinou jedná o unipolární technologii) tranzistorů jsou zkonstruovány tak, že je příslušný tranzistor buď stále otevřen (vodivý) nebo naopak stále uzavřen (nevodivý). Otevřený tranzistor představuje bit s logickou hodnotou jedna, tranzistor uzavřený pak logickou nulu. Konfigurace bází jednotlivých tranzistorů se určuje již při výrobě čipu s využitím poslední masky (každá vrstva je v planární technologii vytvářena s jinou maskou, přes kterou se čip ozařuje).
Obrázek 2: Principiální schéma paměťové sítě ROM
Výroba maskou programovaných ROM, jak se těmto typům pamětí někdy říká, je velmi levná, protože se v podstatě jedná o prakticky nejjednodušší formu uchování informací na křemíkových čipech, u které je možné dosáhnout velké informační hustoty a tím pádem i malé ceny v přepočtu na jeden bit (rychlost přístupu k datům může dosahovat hodnot 10–20 ns). Nákladné je však prvotní vytvoření masky pro výrobu čipů, proto se tyto typy pamětí vyplatí vyrábět pouze při velkém množství kusů a to ještě pouze za předpokladu, že se maska (resp. obsah výsledné paměti) nebude v různých verzích finálního produktu měnit. Dnes, kdy je zapotřebí dodávat elektronické výrobky na trh co nejrychleji s tím, že se případné chyby v návrhu vyřeší (čti „obejdou“) novou verzí firmware, se proto již maskou programované ROM příliš často nepoužívají. Jako jejich náhrada se buď nasazují elektricky mazatelné ROM (EEPROM) či mžikové paměti (Flash), což je, jak si povíme v dalších kapitolách, jen vylepšená forma elektricky mazatelných ROM.
Obrázek 3: Kolmý řez paměťovým čipem v místě jednobitové paměťové buňky
3. Elektricky programovatelné ROM (PROM)
Další formu nevolatilních pamětí představují elektricky programovatelné ROM (PROM). Jedná se o paměti, které je možné naprogramovat pouze jedenkrát, přesněji řečeno hodnoty bitů se mohou měnit pouze z logické jedničky na logickou nulu (naopak to není možné). Technologie těchto pamětí jsou založeny, podobně jako u výše popsaných maskovaných ROM, na pravidelné mřížce, v jejíž spojích se nachází polovodičový prvek. Zatímco u maskovaných ROM jsou báze těchto prvků (tranzistorů) buď uzemněny nebo naopak připojeny na konstantní kladné napětí (podle konfigurace poslední masky), obsahují elektricky programovatelné ROM ve spojích diody (méně často i tranzistory) sériově spojené se speciálně upravenými rezistory. Čip je z výroby dodáván v takové podobě, že jsou tyto polovodičové prvky vodivé, tj. všechny bity při čtení obsahují logickou jedničku. Samotné programování, které se provádí ve speciálním přípravku, je založeno na destruktivním přerušení spojů v těch místech, kde má být zapsána logická nula.
Obrázek 4: Paměťová matice PROM
Zápis dat je prováděn po jednotlivých bitech tak, že je na příslušnou svislou vodivou cestu přivedeno relativně vysoké napětí (například 20V) a vodorovná vodivá cesta je uzemněna. V místě spoje vodorovné a svislé vodivé cesty se nachází polovodičový prvek a k němu sériově připojený rezistor (dichromová spojka), kterými začne protékat poměrně vysoký proud. Ten způsobí, že se rezistor zahřeje na tak vysokou teplotu, že je jeho odporová část rozprášena do svého okolí (což je oxid křemičitý, který teplo následně rozptýlí) a spoj se přeruší bez praktické možnosti jeho obnovy – příslušný bit je trvale vynulován. Důvod, proč musí být v každém spoji kromě rezistoru (ten sám o sobě plní paměťovou funkci), přítomna i dioda, spočívá v tom, že se sousední bity nesmí při čtení navzájem ovlivňovat. Pokud by dioda nebyla použita a tři bity ve čtverci tvořeném čtyřmi sousedními bity, by byly nastaveny na jedničku (propojeny), ovlivnilo by to i bit čtvrtý, nezávisle na jeho skutečné hodnotě. Diody toto nežádoucí ovlivňování jednoduše odstraní.
Elektricky programovatelné ROM trpí stejnou nevýhodou jako maskované ROM, tj. jednou zapsanou informaci není možné změnit; jedinou možnost představuje výměna paměťového čipu. Předností je, že se nemusí vytvářet drahá maska, samotný přípravek pro programování je relativně levný, dostupný a tím pádem i použitelný pro přípravu malé série naprogramovaných pamětí. V některých případech se můžeme setkat s čipy označenými taktéž jako PROM, ve skutečnosti se však jedná o dále popsané EPROM, u nichž není vytvořeno „okénko“ pro mazání paměti ultrafialovým zářením (tato záměna je možná, protože PROM a EPROM používají stejné standardní rozvržení vývodů a podobné či dokonce shodné časování všech důležitých signálů). V minulosti (cca před dvaceti lety), kdy byly paměťové čipy ještě relativně drahé, se tyto kvazi-PROM mazaly pomocí rentgenového záření, což je sice poněkud drastická metoda, která zhoršovala další vlastnosti čipu, nicméně pro několik přepisů byla použitelná.
4. Mazatelné ROM (EPROM)
O mazatelných nevolatilních pamětech jsme se stručně zmínili už v předchozím odstavci. Jedná se o paměti označované zkratkou EPROM neboli Erasable Programmable Read-Only Memory. Slovo Erasable značí, že jednou zapsanou informaci je možné vymazat a poté je možné provést opětovný zápis informace jiné. Mazání se však u těchto pamětí neprovádí elektrickým signálem, ale ultrafialovým zářením. Základem paměťové buňky je v tomto případě speciálně upravený unipolární tranzistor s izolovanou řídicí elektrodou, jejíž náboj určuje hodnotu zapsaného bitu. Vzhledem k tomu, že je řídicí elektroda izolovaná od svého okolí, udrží se v ní elektrický náboj po velmi dlouhou dobu, řádově desítky let.
Obrázek 5: Starší typ paměti EPROM s okénkem, pod kterým je vidět paměťová matice
Před prvním použitím paměťového čipu jsou všechny řídicí elektrody vybité, což znamená, že tranzistory jsou v nevodivém stavu (to odpovídá logické jedničce). Zápis se provádí větším elektrickým napětím přivedeným na tranzistor – řídicí elektroda je nabíjena lavinovou injekcí náboje. Pokud elektron překoná nevodivou vrstvičku, která elektrodu izoluje od substrátu, nemá již (bez přispění dalších vlivů) dostatečnou energii k tomu, aby přeskočil zpět – zapsaná informace je zapamatována a může být následně čtena tak, že se zjišťuje, zda je příslušný tranzistor ve vodivém či nevodivém stavu (elektrický náboj v izolované elektrodě otevírá kanál tranzistoru, který se stává vodivým).
Obrázek 6: Bitová jednička a nula zapsaná v buňce paměti EPROM
Tímto způsobem je možné, pouze za použití vyššího programovacího napětí (cca 20V) či nábojové pumpy zapsat do libovolného místa paměti EPROM bit s hodnotou nula. Zápis jedničky do jediné paměťové buňky není bez smazání celé paměti možný, paměť je tedy z hlediska programátora určena pouze pro čtení (existují ovšem některé aplikace, které této vlastnosti EPROM využívají, jedná se například o starší typy telefonních karet, ze kterých se „odmazávají“ zaplacené impulsy zápisem logických nul). Celou paměť typu EPROM je možné (i opakovaně) smazat. Mazání spočívá v tom, že se ultrafialovým zářením zvýší energie elektronů „uzavřených“ v izolované elektrodě, takže elektrony mohou přeskočit přes izolační vrstvu elektrody a rozptýlit se do okolí. Všechny bity paměti tak získají logickou hodnotu 1. Mazání je možné několikrát opakovat, ovšem s tím, že se postupně vlastnosti čipu degradují a doba potřebná pro smazání se prodlužuje.
5. Elektricky mazatelné ROM (EEPROM)
Pokračovatelem pamětí typu EPROM jsou paměti označované jako EEPROM či E2PROM. Jedná se o paměti založené na podobném principu jako EPROM (tranzistor s izolovanou elektrodou), ovšem s tím rozdílem, že se mazání provádí elektricky, není tedy nutné používat ultrafialové záření a v mnoha případech ani vyjímat paměti z původní patice. EEPROM jsou mnohdy zcela kompatibilní s původními paměťmi PROM či EPROM, tj. v mnoha zařízeních (včetně počítačů) bylo možné provést pouhou výměnu paměťového čipu bez nutnosti modifikovat zapojení či způsob přístupu mikroprocesoru k paměťovému subsystému – PROM, EPROM i EEPROM používají shodný způsob adresování (většinou po bytech či širších slovech). Mazání EEPROM u starších typů vyžadovalo zdroj vyššího mazacího napětí, dnes se setkáme spíše s čipy, které obsahují nábojovou pumpu, pomocí které si paměť sama požadované napětí vytvoří.
6. Mžikové paměti (Flash EEPROM)
Nejmodernějšími typy nevolatilních pamětí jsou mžikové paměti (Flash). Jedná se o upravené elektricky mazatelné programovatelné paměti, jejichž morfologie je změněna tak, aby se dosáhlo co nejvyšších hustot záznamu informací (každá paměťová buňka je představována jediným tranzistorem), z čehož se odvíjí i velká kapacita čipu a jeho relativně nízká cena. Mžikové paměti se od EEPROM liší především tím, že je zápis i mazání prováděn po blocích, přičemž mazání je velmi rychlé (mžikové). V následující části tohoto seriálu si podrobněji popíšeme oba principiálně odlišné typy mžikových pamětí – NAND a NOR. Každý typ má poněkud odlišné vlastnosti a používá se v jiných typech zařízení (NAND nahrazuje spíše externí paměti, NOR lze použít místo PROM).
Jeden z limitujících faktorů, které mohou v některých případech znemožnit či prodražit používání mžikových pamětí, je omezený počet zápisů do každé paměťové buňky, resp. do celého bloku, protože se mžikové paměti mažou, jak již víme, vždy po celých blocích. U většiny komerčně dostupných paměťových čipů se udává minimální garantovaný počet přepisů/vymazání každého bloku v řádu stovek tisíc. Na jednu stranu se jedná o velmi vysokou hodnotu, především v porovnání s přepisovatelnými kompaktními disky či DVD, ovšem v případech, ve kterých by měly mžikové paměti nahradit pevný disk, již může být tato hodnota kritická, hlavně při použití souborových systémů, které nedokáží rozložit zápisy tak, aby byl počet mazání každého paměťového bloku přibližně stejný. Například souborový systém FAT, velmi často používaný právě pro mžikové paměti, je z tohoto hlediska nevýhodný, protože prakticky jakákoli změna v souborovém systému znamená zápis do alokační tabulky umístěné na pevném místě v za sebou jdoucích blocích.
7. Budoucnost mžikových pamětí
Na vývoji mžikových pamětí je patrný neustálý technologický pokrok. Ten se na jedné straně projevuje zvyšující se kapacitou a současně i informační hustotou (počet bitů na jednotku plochy čipu), na straně druhé snižující se cenou. Každý rok je ve všech segmentech trhu s mžikovými paměťmi tento trend jasně viditelný – zvyšují se kapacity pamětí určených pro digitální fotoaparáty, kapacity USB disků, přehrávačů MP3 atd. Již dnes se ukazuje, že pro některé účely mžikové paměti dokázaly nahradit pevné disky, především v těch oblastech, kde si uživatelé vystačí s menšími kapacitami v řádu gigabytů (viz „pevný“ disk populárního Asus EEE, zmenšující se trh s miniaturními pevnými disky, někteří výrobci již tyto disky nevyrábí aj.). Je to způsobeno tím, že zatímco cena mžikových pamětí roste prakticky lineárně, u pevných disků je zapotřebí i pro malé kapacity zaplatit cenu celé mechaniky disku (tato cena je víceméně konstantní, což je ostatně patrné i z grafu), která může být amortizována až u pevných disků s kapacitou přesahující cca 10 GB.
Ceny Flash pamětí (zde označovány zkratkou NAND), jak naznačuje tento graf, neustále klesají, což je jistě příjemné. Zajímavá je především vertikální osa grafu – má nelineární měřítko.
I do budoucna je možné očekávat, že tento trend bude pokračovat. Již v blízké budoucnosti se tak můžeme dočkat velmi levných náhrad pevných disků a podle některých zdrojů je dokonce možné, že mžikové paměti začnou být používány i pro zálohování dat, což je stále doména paměťových zařízení s pohyblivými součástmi.
8. Literatura a odkazy na Internetu
- Inter: Memory Component Handbook,
Intel, 1986 - Pavel Valášek, Roman Loskot: Polovodičové paměti,
BEN – Technická literatura, 1998 - Karel Krištoufek: Kurs číslicových počítačů a mikropočítačů,
SNTL, 1990 - Brief History of CS
9. Obsah následující části seriálu
V navazující části seriálu o architekturách počítačů se, samozřejmě až po dokončení popisu mžikových pamětí, začneme věnovat problematice vzájemného propojení všech základních částí počítače. V předcházejících dílech jsme se dozvěděli, na jakém principu pracuje mikroprocesor, dynamická operační paměť (DRAM), statická vyrovnávací paměť (cache, SRAM), disketová mechanika, pevný disk, magnetooptická či optická mechanika i mžiková paměť. Nyní nám zbývá tyto jednotlivé části vhodně propojit, čímž prakticky získáme samostatně fungující počítač, ke kterému se dají připojovat další funkční části (popsané někdy příště), například grafické, zvukové a síťové karty, klávesnice, myši i další více či méně neobvyklá zařízení.