Princip a vlastnosti USB flash paměti („klíčenky“) USB flash pameti zaznamenaly velky rozvoj - nabizi pomerne velke kapacity za priznive ceny. Pouzivaji se jako hlavni medium pro prenost mensich objemu dat. uvod vyhody flash , pokrok, prenositelnost prvni usb flashka - 15 Pros 2000 - IBM USB Memory Key - kapacita 8 MB r/w 12Mbit/s (USB 1.0 full-speed) [http://www-307.ibm.com/pc/support/site.wss/document.do?sitestyle=lenovo&lndocid=MIGR-4R3GWN] dnesni funguji samozrejme na USB 2.0 rozhrani (nemohou kvuli technoligii vyuzit na plno moznou rychlost usb 480Mb/s efektivni rychlosti od Toshiby cteni 16.1 Mbytes/s (6x50ns + 25us+2112x50ns= 131us 2112/131us=16.1 zapis 6.9Mbytes/s (taky po 2112B) vymazavanui 64 Mbytes/s (4cykly 50ns 2ms > 2ms na 235kB) hlavni vyhody: relativni fyzicka odolnost - nevadi otresy male, lehke levne _____________________ konstrukce flash usb disku - usb konektor (typ A) -USB mass storage controller - zajistuje mass storage rozhrani - komunikaci mezi pocitacem a pameti na flash -vlastni flash pametovi chip -krystal rezonator (12MHz - hodinovy signal) volitelne -indikacni LED -ochranu proti zapisu Flash pamet druh EEPROM - Electrically Erasable Programmable Read-Only Memory Pamet ktera si pamatuje svuj obsah i po odpojeni od zdroje el. energie. vychazi z EEPROM technologie (float-gate mosfet viz nize), vynalezena Dr. Fujio Masuoka u Toshiby. Patent byl podan v roce 1980. cilem bylo vyvinout pamet ktera jejiz cena za bit by byla levnejsi i za cenu snizeni [snadnosti progrmaovani mazani edit later]. Vyvoj testovaciho zarizeni byl zapocat v roce 1983 spolu s dr. Masuoko se na nem podilely Asano, pan Iwashashi, Tozawa, Komuro, Tanaka a pan Suzuki. V cervnu 1984 publikovali svoji zpravu na IEDM (Inernational Electron Devices Meeting poradany IEEE Institute of Electrical and Electronics Engineers). Jeste pred publikovanim zpravy se rozhodly pro pojmenovani tohoto typu EEPROM pameti Flash. Jmeno navrhl pan Ariizumi - podle schopnosti smazat cely blok pameti najednou - coz mu pripomelo blesk fotoaparatu. Velikost pametove bunky tehdejsiho Flash EEPROMu byla 64 ctvrecnych micronu - pro porvanani velykost obdobne pametove bunky bezne EEPROM byla 272 ctvr. mikronyu. V roce 1985 se intel zastavil vyzkum UV-EEPROM a zacal se venovat vyzkumu Flash technologie. 1987 Toshiba navrhla NAND Flash architekturu 1988 Intel uvedl na trh komercni verzi NOR Flashoveho chipu. 1989 Toshiba uvadi na trh NAND flash architekturu Princip funkce Flash pameti [obrazek] Funkce je zalozena na technology plovoucich hradel (float gate) Pokud upravime strukturu MOSFETu tak ze mezi Control Gate a substrat vlozime dalsi gate - float gate, ktery je odizolovan od sveho okoli pomoci SiO2. Elektrony umistene na FG se nemohou pres izolaci dostat pryc a ovlivnuji velikost prilozeneho napeti na Control gate v substratu. Pokud jsou na FG elektrony je potreba na indukovani vodiveho kanalu mezi source a drain veciho napeti na CG. Pri cteni se na CG privede cteci napeti a podle velikosti napeti na source-drain se urci jestli se pamatuje 1 (pokud transistor vede) nebo 0 (pokud nevede). MLC multi level cell Je technologie pomoci ktere se do jednoho memory cell vejdou 2 bity - stav bunky se odlisuje na 4 ruzna napeti (podle elektronu chycenych na FG) a z tech se zjisti jake 2 bity jsou v ni ulozeny. Za zvyseni kapacity se zaplatilo zvysenim vyskytu chybnych bitu. Programovani a mazani Programovani znamena u flash pameti nastaveni na dane bunce 0 bit (zakladni stav je 1) NOR K dodani elektronu na FG i NOR flash se pouziva channel hot electron injection - velke napeti je privedeno na CG a drain. Velke eltricke pole na CG vysaje elektrony z vodiveho kanalu mezi S a D do float gate. NAND U NAND flash pameti se pouziva k naprogramovani (i vymazani) jevu kvantoveho tunelovani - Fowler-Nordheim tunneling. [obrazek pro tunelovani z encyclopedia 2] Pomoci velkeho nepati se snizi efektivni sirka energeticke bariery zabranujici elektronu presunout se. Bariera je napetim zdeformovana do stavu kdy elektron muze protunelovat na druhou stranu. Pri programovani je na CG privedeno velke napeti a snizena tak bariera mezi FG a substratem - elektrony protuneluji na float gate skrz tenkou izolacni vrstvu (priblizne 10nm). Mazani Logicka hodnota daneho hradla se vrati na "1". Pro vymazani NAND i NOR se pouziva opet jev tunelovani. Pro odstraneni elektronu z FG je nutno privest napeti na source, nebo zaporne napeti na control gate. Behem programovani i mazani dochazi k poskozeni izolacni vrstvy kolem float gate tunelujicimi elektrony a u NOR injekci elektronu. Postupem casu se poskozeni dostane do stavu kdy uz vrstva SiO2 nedokaze dostatecne izolovat FG a bunka se neda pouzit pro uchovani informace. U NAND flash pameti dochazi k mensimu poskozeni, protoze pro programovani namisto injekce elektronu pouziva tunelovani. NAND pamet by mela vydrzet 100 000 - 1 000 000 cyklu [vymazani, naprogramovani] nez skonci jeji zivotnost. U NOR technologie je to pouze 100 000 cyklu. Rozdil mezi NAND a NOR flash [obrazek zakladni NOR NAND arch IBM] NOR architektura vyuziva jednotlive bunky zapojene paralelne. Diky tomu se muze adresovat presna pozice bitu, ktery se ma precist. Toto umoznuje pro provadeni na miste (execute in place XIP) kdy se muze program provadet primo v pameti bez nutnosti nacist kod do systemove RAM. Vysoka rychlost cteni. Nevyhodou tohoto reseni je vetsi zabrana plocha na 1 bit, nizka doma smazani a programovani. NAND architektura Pro usetreni mista jsou float-gate transistory zapojeny do serie po 16 nebo 32 kusech. Tato serie tranzistoru je opatrena na zacatku a na konci vyberovymi transistory Select Gate Drain SG(D) a Select Gate Source SG(S). Tyto umoznuji vybrat spravny usek pameti a pripojit ho na bit line (BL) z ktere se ctou informace. Control gate jednotlivych f-g transistoru jsou napojeny na Word Line (WL), pomoci jich je mozno transitor cist, programovat. Takoveto serie jsou zapojeny vedle sebe - kazda na prislusnou bit line. Vyhody tohoto zapojeni je usetreni mista, ktere by jinak bylo potreba na pripojeni jednotlivych transistoru. Rychlejsi casy pro smazani a programovani. Vybrana cast pameti je pripojena pomoci SG(D) a SG(S) na refrencni napeti a bit line. Na vsechny WL krome toho ktere se ma cist je privedeno napeti ktere zaruci ze se otevrou vsechny transistory - bez ohledu jestli je jejich hodnota 0 nebo 1. Na WL ktera se ma precist je cetci napeti Ur. Napeti ktere je na bit line zavisi na logicke hodnote ctene bunky je-li ulozena log "1" je na BL referencni napeti (vetsinou 0), jinak je prednastavene hodnota na bitline. NAND Flash interface a usporadani Kvuli zapojeni neni mozne z pameti cist nahodne - cteni, zapis i mazani je sekvencni. Z tohoto duvodu se pro operace s daty pouziva vstupni/vystupni interface. Cteni a programovaci operace je mozne provadet pouze po celych strankach, erase operaci pak po celych blocich. Je dulezite ze jdou zapisovat pouze "0" do stranky. Pro prepsani dat je nutne smazat cely blok dat abychom ziskaly "1" a mohly puvodni misto prepsat. [obrazek chipu seznam vyvodu] Pro komunikaci s flash chipem se pouziva 8bitova sbernice (I/O 0-7)m a 7 stavovych ukazatelu. Je tedy nutne vsechny data (at prichazejici pro zapis, nebo ctene) uchovavat v registru. Data pro zapis o velikosti 1 stranky se nejrpve nactou do registru a pak teprve zapisi obdobne pri cteni se do registru nacte cela stranka z pozadovane adresy a pak teprve zacne posilat pre i/o. Usporadani pameti [obrazek bloku] Puvodni velikost jednotlivych stranek byla 512B (+16B na opravu dat) (zvolena podle velikosti stranky na pevnych discich) a 32 stranek na jeden blok(16KB) pameti. Pro dnes velmi maly disk o 8Gb muze byt velikost stranky 2048B (+64B) - 64 stranek na jeden blok (128KB + 4KB). A 8192 bloku. Korekce chyb Jak bylo zmineno vyse postupna degradace pametovych bunek jejich preprogramovanim vede az ke ztrate dat. Predpoklada se ze kontroler ktery pracuje s flash pameti je schopny tyto bloky ignorovat. ECC - error correctuing code Wear leveling Ochrana proti nadbytecnemu opotrebeni - FAT system pri zapisech soboru musi byt nekolikrat prepsan soubor adresare, Aby nedoslo k rychlemu opotrebeni ma byt v controleru implementovan algoritmus ktery rozlozi tyto zapisi do co nejvetsiho prostoru - prelozi logickou adresu na ruzne fyzicke pri kazdem zapisu.