Informatika | Tanulmányok, esszék » Nagy Zoltán - Flash memóriák

Alapadatok

Év, oldalszám:2002, 7 oldal

Nyelv:magyar

Letöltések száma:743

Feltöltve:2004. június 19.

Méret:124 KB

Intézmény:
-

Megjegyzés:

Csatolmány:-

Letöltés PDF-ben:Kérlek jelentkezz be!



Értékelések

Nincs még értékelés. Legyél Te az első!

Tartalmi kivonat

Flash Memóriák A számítástechnikában is egyre gyakrabban használatos kifejezés a Flash, de ezt a szót is egy kis homály fedi. A flash egy olyan típusú memória, amely akkor is képes megtartani a belé programozott adatot, hogyha elveszti az energia-ellátását, tehát pl. kiveszik a gépből, vagy egyszerűen csak kikapcsolják. Elsőre nehéz elképzelni olyan, tisztán elektronikus - mágneses vagy mechanikus alkatrész nélküli - és gyors információtárolási módszert, amely a tápfeszültség megszűnte után is hosszú időn át megőrizné a tartalmat. Erre a célra olyan anyagok - a félvezetők - bizonyultak megfelelőknek, amelyeknek az áramvezetési tulajdonságai tág határok között változhatnak Szokták még nem-ingatag-memóriának is (non-volatile-memory) nevezni, amely szintén a különbségre utal a Flash és egyéb típusú memóriák között. Ingatag memória pl az SRAM és a DRAM, mert ezek az áramellátás megszűntekor elvesztik a

beléjük tárolt adatot. A Flash memória elektronikusan törölhetô és újraprogramozható rendszeren belül. Megvan az az elônye, hogy másfajta memóriák számára készített alkalmazásokat is használjon. Egy nagy elônye az EPROM-mal szemben (törölhetô-programozható-olvasási-memória), hogy úgy törölhetô és újraprogramozható, hogy nem kell nagyobb feszültséget belevezetni, és elvégezhetô rendszeren belül is. A flash cella ugyanolyan elvek szerint programozható fel és olvasható ki, mint az EPROM memóriák; a legfontosabb különbség közöttük a törlés. A flash cellatartalmát a felprogramozásra használt feszültségkülönbség előjelének a megfordításával törlik. A vezérlőkapura az elektronokat taszító negatív, a forráselektródra pedig vonzó, pozitív potenciált kapcsolnak, ezzel késztetik őket a lebegőkapu elhagyására. Mindez önmagában még nem volna elég, mert a lebegőkapun nem folyik át áram, nem úgy, mint

felprogramozáskor, hiszen akkor a forrás és a nyelő közötti áramból válnak ki az ide becsapódó elektronok. Ez szemléletesen úgy is megfogalmazható, hogy a lebegőkapuban levő elektronok nem "futhatnak neki" az akadálynak: helyből kellene átugraniuk a 10 nanométer vastag szigetelőréteget. Ebben egy kvantummechanikai jelenség, a Fowler-Nordheim-féle alagúthatás van a segítségükre, ennek jóvoltából teszik meg nagyjából az első 3 nanométert. Törlés után az alaphelyzethez képest elektronhiányos lesz a lebegőkapu. A flash technológia viszonylag bonyolult ugyan, de a DRAM vagy SRAM memóriákkal összehasonlítva jól kihasználja a szilíciumfelületet: 1 bit tárolásához elég egy tranzisztor - a SRAM ugyanezt hat tranzisztorral (vagy négy tranzisztorral és két ellenállással) teszi, a DRAM egy tranzisztorral és egy kondenzátorral, az elektronikusan törölhető EEPROM pedig két tranzisztorral. A lapkán, amint az az eddig

leírtakból is kitűnik, a tárolócellák mellett különböző segédáramkörök is vannak. Az egyik ilyen, a feszültségkonverter arra kell, hogy a flash memóriát alkalmazó eszközök tápfeszültségéből előállítsa a cella működéséhez szükséges többféle nagyságú feszültséget. A lapkákon további, típustól és gyártótól függő vezérlőelektronika is van.Információtároláshoz most már csak annyi kellene, hogy fennmaradjon az összegyűlt elektronok alkotta csatorna, vagy hogy az elmenekült elektronok ne szállingózzanak vissza a feszültség megszűnése után. Helyhez nem köthetjük őket, mert az áramvezetéshez szabad elektronok kellenek. Inkább valamilyen tetszés szerint ki- és bekapcsolható csalira vagy riasztóra lenne itt szükség. A megoldás a lebegőkapu (floating gate): ez a vezérlő kapu és a félvezető közé illeszkedik, és onnan kapta a nevét, hogy szigetelő szilíciumoxid veszi körül, egyik vezetőréteggel sincs

tehát közvetlen kapcsolatban.Egy-egy ilyen flash tranzisztor vagy -cella 1 bitet tárol, és most, hogy már ismerjük a szerkezetét, végigkövethetjük a működését.Íráskor, azaz a cella felprogramozásakor a forrást földpotenciálra kötik, a nyelőt és a vezérlőkaput pedig pozitív potenciálra.A nyelő és a forrás között 6 volt körüli a feszültségkülönbség; ez nem sok, de a térerősség mégis nagy lesz, mert a két sziget közötti távolság, az úgynevezett csatornahossz mindössze 0,3 mikrométer. Az elektronok egy része a csatornán végighaladva a nyelőbe érkezik, más részük a szilícium kristályrácsba ütközve eltér az eredeti iránytól. Erre készteti őket a nyelő feszültségénél lényegesen nagyobb vezérlőkapu-feszültség is. A felgyorsulással elegendő energiát szereznek ahhoz, hogy átjussanak a lebegőkapu és a félvezető közötti, 10 nanométer vastag szigetelő oxidrétegen. A lebegőkapu azonban nincs kontaktusban

a vezérlőelektróddal, ilyenformán az ide bejutott elektronok zsákutcába kerülnek. S ahhoz már nincs elég energiájuk, hogy kikapcsolás után visszafelé is átjussanak a szigetelőrétegen. A cellában tárolt információt ezek az itt ragadt elektronok őrzik. Az EPROM-ok programozásához PROM programozók kellenek, amik normálisnál nagyobb feszültséggel halmozzák el a memóriát. Ehhez mondjuk az is hozzátartozik, hogy néhány elsô-generációs Flash memória is ezt a technikát használta / használja, de azóta már kiadtak újabb modelleket is. A Flash memóriák olcsóbbak és szélesebb választékkal szolgálnak, mint az EEPROM-ok (elektronikusan törölhetô és programozható olvasható memória). Maga a Flash név a memória írási / olvasási sebességébôl ered, amely egy szemvillanás alatt (flash) megtörténik. Ezzel is utalnak a memória gyorsaságára Egy viszonylag fiatal - tízéves - eljárással, a flash technológiával azonban készíthetők

már írható és olvasható, a tartalmat energia fogyasztása nélkül is megbízhatóan őrző memória-áramkörök. Ezeket számos jó tulajdonságuknak köszönhetően sok helyütt használják, a mobil telefonoktól kezdve a digitális hang- és képrögzítésen át az orvosi műszerekig. Ezek a memóriák gyakoriak PC-s környezetekben, telecom kapcsolókban, digitális kamerákban, digitális hangfelvevô készülékekben és egyéb digitális segédeszközökben. Néhány gyakori szakkifejezés a Flash memóriákkal kapcsolatban: - Automata Kiválasztás (autoselect) Egy elektronikus forma, amellyel megállapítható a gyártó és a vezérlô típusa a socket-ben. - Boot-Szektor Felépítés (boot sector architecture) Egy olyan asszimetrikus szektor architektúra, amelyben az elsô szektor 16 KByte hosszú és a boot-PROM-to hivatott felváltani, minthogy itt tárolódik a boot-kód. Az elsô három szektor egy boot-szektor-ban a következôképpen néz ki: az elsô

általában 16 KByte, a második 8 KByte, majd ismét 8 KByte, 32 KByte és végül 64 KByte. A boot-szektor legfölül, vagy legalul található, hogy különbözô microprocesszor-protokolloknak feleljen meg. - BYTE pöcök (byte-szám pöcök) (BYTE pin) Arra használják, hogy a felhasználó a x8/x16-os Flash vezérlôkön kiválaszthassa az adat bemenet-kimenet (I/O) szélességét. Ezt a pöcköt VIL-re állítva a szerkezet x8-as módba kerül Ha viszont VIH-re állítjuk, akkor x16-os módban lesz. Az x8-as módban a legnagyobb értékű adat pöcök (a DQ15) a legkisebb értékű cím-pöcökké változik (ami az A-1). - Nagyméretű Törlés (bulk erase) Ezt az eljárást, ahol is az egész Flash memóriát egyben törölték, a régebbi modelleknél használták. Ezek voltak az elsô-generációs Flash memóriák A mai forgalomban lévô Flash-ek nagy része már az úgynevezett szektor-törlés eljárást használja. - Gyakori Flash Interfész (Common Flash Interface,

CFI) Ez egy olyan metódus, amely egy azonosítási folyamatot takar magában, melynek során a chip-bôl magából megállapítják a memória méretét, byte/word és blokk konfigurációját, a szükséges feszültséget és az idôzítési információt. Ez lehetôvé teszi, hogy bizonyos vezérlôk (driver-ek) különbözô típusú Flash kártyákkal működjenek együtt, ezáltal is elôsegítve egy összetett rendszer kialakítását. - Adat Választás (Data Polling) Ez a folyamat hivatott ellenôrizni, hogy egy belsô törlési vagy programozási művelet végrehajtódott-e sikeresen. Az Adat# Választást a DQ7-es pöcökben végzik, a JEDEC normáknak megfelelôen az egyszeres áramellátású Flash szerkezetekre vonatkozóan. Amikor egy programozási művelet folyamatban van, a Flash egység a DQ7-ben programozott adatot fogja kimutatni. Amikor a művelet befejezôdött, a DQ7-be programozott érték kerül kimutatásra Törlés alatt az Adat# Választás egy 0-t tesz a

DQ7-re. Amikor a művelet befejezôdött, vagy ha a beáll a Törlés Felfüggesztés Mód, akkor a DQ7-be egy 1-es kerül. - Adat Megtartás (data retention) Egy szerkezetnek az a mértéke, amivel azt mérik, hogy mennyi ideig képes az adatot megtartani. Ez a programozható memóriáknak kritikus paramétere, az EPROM - nak, EEPROM - nak és Flash-nek egyaránt. Magas hômérséklettel és különbözô adat megtartását gátló tesztekkel gyôzôdnek meg a Flash memóriák strapabíró képességérôl. A szabványos megtartási idô Flash memóriáknál minimum 10 év, 150 Celsius fokon, és 20 év 125 Celsius fokon. - Elektronikus Azonosító (electronic ID) Egy elektronikus forma a gyártó és a socket - ben lévô vezérlô megállapítására. Ezt a módszert még szilikon lenyomatnak is nevezik, vagy automata - kiválasztás kódnak. A gyártó kód JEDEC szabványú, a vezérlô kódját a gyártó választja meg és az adat lapon rajta van. Megjegyzendô, hogy nem

minden gyártó használja ugyanazt a kódot az egyforma terméke jelölésére (Pl. az SGS-Thomson 29F040-ás vezérlôjének a kódja E2H, míg ugyanez az AMD elôállításával az A4H kódot viseli). - Bevésett Algoritmusok (embedded algorithms) AMD-féle kinevezések belsô programozó / törlô algoritmusokra Flash eszközökön. - Állóképesség (endurance) Annak a mértékegysége, hogy egy készülék hányszor képes elviselni programozási / törlési algoritmusokat, mielôtt adat megtartási képességét elvesztené. Mostanság minimum 100 ezer ilyen utasítás sorozatot viselnek el a Flash eszközök. A legtöbb esetben nincs is szükség nagy állóképességre, arra lehet használni hogy megállapítsuk a szerkezet megbízhatóságát. - Törlés (erase) Az az eljárás, amikor egy logikai 0-t 1-é változtatunk egy tömb-ben. Csak akkor lehet törölni, hogyha az egész flash memóriát töröljük (chip erase), vagy legallábis szektorjait (sector erase). A

Flash memóriákat nem lehet byte-ról-byte-ra törölni. Sem az egy-tranzisztoros halmozott-kapuban, sem Flash-ben nem kell elôre manuálisan beprogramozni a byte-okat, mert ezt elvégzi a Flash-ek belsô törlô-algoritmusa, a törlés elôtt. - Törlés Félbeszakítás Parancs (erase suspend command) Néhány szektor-törlésre alkalmas Flash vezérlôn megtalálható parancs, ami egy törlési művelet félbeszakítását eredményezi. - Törlés Folytatása Parancs (erase resume command) Törlés Félbeszakítás után kiadott parancs, amely a félbeszakadt törlés folytatását eredményezi. - Fowler-Nordheim tunneling Egy alacsony fizikai-hatású szerkezet, törlésre, és néhány esetben programozásra is használatos. Ebben a folyamatban a töltést szedik le a memóriacella lebegô-kapujáról egy vékony tunnel-oxid révén. - Forró Elektron Befecskendezés (hot electron injection) Egy magas hatású fizikai szerkezet Flash memóriák vagy EPROM programozására.

Ebben az eljárásban az elôzô művelet fordítottját végzik, tehát töltést adnak a memóriacella lebegô-kapujának. - Belsô Programozási és Törlési Algoritmusok (internal programming/erase algorithms) Egy belsô állapot egy Flash vezérlôben, ami a törlési és programozási feladatokat felügyeli. Ezek automatikusan késleltetik a törlési és programozási műveleteket és biztosítják a megfelelô cella-igazítást. A rendszernek csak a megfelelô utasítást kell kiadnia, és ezek az algoritmusok elvégzik a többit munkát. A Flash kártyák számára kiadandó parancsok JEDEC normáknak felelnek meg. - Programozás (programming) Az eljárás, amivel egy logikai 0-t logikai 1-essé alakítunk át egy Flash memória-tömbben. A programozás byte-onkét vagy 2 byte-onként (word-önként) történik. Nem szükséges egy byte minden bit-jét programozni. Sem az egy tranzisztoros halmozott kapuban, sem a Flash-ben nem kell minden byte-ot programozása elôtt

manuálisan elô-programozni, mert ezt automatikusan megteszi az adott vezérlô. – Olvasási / Irási állapot - jelzô pöcök (READY/BUSY status pin) Egy hardver-beli metódus, melynek segítségével megállapíthatjuk egy törlési vagy programozási folyamat állapotát. Ha a kimeneti értéke magas, akkor a Flash vezérlô készenléti állapotban van Ha alacsony, akkor dolgozik. – Szektor - felépítés (sector architecture) Egy Flash - memória tömb szegmentálása kisebb részekre, törlési feladatok ellátására. A szektor-törlésű vezérlôk szemben állnak teljes-törlésűekkel, mert az utóbbiakban a vezérlô teljes Flash-tömböt kell törölni. - Szektor Törlés (sector erase) Egy parancs egy megadott szektor törlésére. – Szektor - Védés (sector protect) Hardver által lehet így szektorokat védeni, azaz a megadott byte - okat nem - programozhatóvá és nem - törölhetôvé tenni. Ezt általában a gyártónál teszik meg, de végezhetik

PROM programozókban is. – Szektor - Feloldás (sector unprotect) Az elôzô művelet feloldása, ezentúl az elôzôleg védett területek írhatók (törölhetôk / programozhatók) lesznek. Ezt tipikusan PROM programozókban végzik, és magas feszültségű kapcsokat igényel. - Szilikon Aláírás (silicon signature) Egy elektronikus módszer a gyártó és a socket - ben lévô vezérlô - típusnak a megállapítására. Lásd Elektronikus Azonosító (Electronic ID) - Állapot-regiszter (status register) Néhány Flash eszközben elérhetô, ami a host által megtekinthetô. Megmondja mikor fejezôdött be egy belsô - programozási eljárás , vagy mikor lépett fel hiba. - Átmeneti szektor-feloldás (temporary sector unprotect) Olyan módszer, amelynek segítségével nagy - feszültséget adunk a RESET# pöcökhöz. Amint ráadjuk a feszültséget, a védett szektorok feloldódnak, de amikor visszatérnek megszokott állapotukba ismét védettek lesznek. - Kapcsoló

Bit (toggle bit) Belsô programozási vagy törlési folyamatok befejeztét állapítja meg. Ezt a DQ6 pöckön végzik, a JEDEC normák alapján. A sikeres olvasási műveletektôl átkapcsolódik ez a kapcsoló Tehát amikor vége a műveletnek nem fog tovább kapcsolódni. Törléstôl is átkapcsolódik Ilyenkor két módon lehet vége a kapcsolgatásnak, az egyik az, amikor vége a műveletnek. A másik akkor következik be amikor a Törlés Felfüggesztést (erase suspension) alkalmazzuk. - Egyesített szektor (uniform sector) Egy szimmetrikus szektor kiépítés a Flash vezérlôkben. Például a HY29F040 egy 512 X 8-as Flash vezérlô, ami ezért nyolc darab egyesített szektorral (szegmenssel) rendelkezik.Mivel a számítástechnikában már ismerős az Intel cég, ezért az általuk gyártott Flash termékén mutatom be ezeket az eszközöket. Bevezetés Az Intel StrataFlash memória technológiája jelentősen megnöveli a területenkénti bitek számát, ezért

jelentősen csökken az ár per megabyte hányados. Az Intel StrataFlash technológiát megelőzte az Intel által kifejlesztett ETOX™ flash memória. Az Intel NOR-bázisú, sokszintű cella technológiája gondoskodik a közvetlen memóriacella elérésről, amely lényege, hogy gondoskodik a pontos töltés érzékeléséről, a töltési szint ellenőrzéséről és a tárhármas kulcs megjelenéséről a StrataFlash technológiában. Ez a direkt memóriacella elérés eredményezi a megbízhatóságot ebben a robusztus technológiában. A flash memóriák egyesítik EPROM - típusú programozási és az EEPROM - hoz hasonló törlési technikát. A nagy memóriatömbben kisebb törlési blokkok vannak, amelyekben összekapcsolódik a chipben lévő program és törlési algoritmus, ehhez még hozzáadódik a már hatékony és megbízható flash memória technológia. Ez a funkcionalitás kombinálódik az Intel évek alatt felhalmozott gyártási tapasztalatával. A tipikus

flash memóriacella (Standard ETOX™ Technology Cells) egy cellában egy bitnyi adatot tárol. Mindegyik cellát jellemzi egy adott feszültségszint Elektromos töltést minden cellánál egy lebegőpontos kapu tárol. Mindegyik cellán vagy tranzisztoron belül kétféle feszültségszint létezik. Intel StrataFlash™ Memory Technology Az Intel StrataFlash memóriája sokszintű cella (MLC) technológiával dolgozik, amely engedélyezi a több bit per memóriacellát. Az Intel MLC technológiában egy adott feszültségszinthez egy előre meghatározott bitmintát feleltetnek meg. Ez a technológia effektív csökkenti a cella méretét. Ez jelentősen csökkenti az ár per megabyte hányadost Egy Intel StrataFlash memória cella képes tárolni kétbitnyi adatot.A NOR-bázisú MLC technológiával könnyen megvalósítható a három bit per cellatárolás is, ezzel még jelentősebben csökken a memória mérete. A cellán belül a feszültség eloszlik két szintre Cella

struktúra A lebegő poly-szilikon kapu (poly-1) gondoskodik a töltéstároló mechanizmusról és használja az ETOX flash és EPROM technológiákat. Az Intel ultra-tiszta higany-oxid technológia miatt a meghibásodási esély is jóval alacsonyabb.A cellakonstrukció magában foglalja a poly-2 vezérelt kaput, ami közvetlenül a lebegő kapu felett helyezkedik el. Az inter - poly ONO dielektrikum elkülöníti a lebegő kaput a kontroll kaputól. A lebegő kapu hozzájárul a forrás/nyelő leválasztáshoz. A dielektrikum réteg elszigeteli a metal-1-et a vezérlőkaputólMetal-1 hordozó bitsoros adatátvitelt biztosít az érzékelő erősítő és útvonal feszültség között a cella irányába. Metal-2 öv pedig a szóvonallal csökkenti az ellenállást. A két fémtechnológia csökkenti a hozzáférési időt, mert több tömböt is össze tud fogni. Az olvasás-hozzáférés ütemezés is fejlődött. Cellaműveletek Az Intel StrataFlash memóriánál fontos a pontos,

precíz cellafeltöltés. Az Intel StrataFlash memóriavezérlőnek, muszáj a precíz cellafeltöltésről, a precíz feszültségérzékelésről és a töltés megőrzéséről gondoskodni. Ez a követelmény találkozik a NOR architekturával Direkt kapcsolatban van a kapu, forrás és a nyelő mindegyik memóriacellával. A program A programozás alatt megfelelő töltésnek kell lennie a lebegő kapunál. Analóg feszültség kerül mindegyik cellára és ez szétoszlik a többszörös Vt szintek között. Ezt a fajta töltésbefecskendezést Channel Hot-Electron-nak (CHE) is nevezik.A programozás alatt minden cellában a direkt föld, bitvonal és szóvonal csatlakozások engedélyezik a pontos töltés elhelyezést. A cellák ellenőrző kapuja kapcsolatban van a belül előállított feszültséggel, és közvetlenül irányítja a szóvonali csatlakozást és a sordekódolást. A nyelő impulzust rak a konstans feszültségbe, és ezzel jön létre a bitvonali csatlakozás

és az oszlopdekódolás. A forrás pedig azonnal csatlakozik a földhöz.A feszültség és a kontroll kapuban lévő kapacitás összekapcsolódik a lebegő kapuban lévővel és ezáltal a dielektrikum megváltozik. Ez összekapcsolódik a lebegő kapunak a programozott feszültség előfeszítésével, amelyik inverzbe állítja a p-típusú csatorna alját. A csatorna invertáció után (most már megfelelő a karakterisztika az n-típusú anyagban), az átmeneti szintű feszültség a nyelőbe kerül. Ez okozza, hogy a nyelő magához vonzza az elektront, de a többségi töltést vivő jel pedig az n-típusú részbe, azaz a forrásba kerül.A programozás végrehajtása alatt gyorsított elektronok kerülnek a csatornára, ahol végül elegendő energiájuk lesz legyőzni a lehetséges akadályokat és beépülnie az oxidba. Minthogy a nyelő feszültség megnő, ez növeli a csatorna elektromos sodrását, amely megnöveli a kinetikus energiát. Elektron tárolódik a

lebegő kapuban, a töltésnek muszáj legyőznie a vezérlő kaput. Ez a potenciál eredményezi a magas bekapcsolási küszöbfeszültséget (Vt) a tranzisztorban (memóriacellában). Irányított és pontos kapu és nyelő irányítású elhelyezés található meg ezekben az eszközökben.Az Intel StrataFlash memória technológiában a feszültség eloszlik a cellák között. Ez a feszültségszint meghatározott a küszöbfeszültség a cellaolvasás folyamata: Vt< Vt(R1) nullás szint, Vt(R1)< Vt< Vt(R2) egyes szint, Vt(R2)< Vt< Vt(R3) kettes szint, Vt> Vt(R3) harmadik szint.Intel StrataFlash memória programozói algoritmus megvalósított a chip-ben, aminek a neve író állapot gép (WSM). Amikor a programozás véget ért a WSM frissíti a státuszbitet (STS) és az eszköz belső státusz regisztereit. Kiegészítő állapot bitek részleges siker/hiba információkat és a valószínűsített hibákat jelzik, ha előfordulnak. Olvasás Adatolvasás

közben a töltésérzékelés nagyon fontos. Az olvasási sebesség összehasonlítható az egy bit per cella technológiával. Az adatolvasás műveleténél a négyszintű memória csökkenti az olvasási feszültség mértékét és növeli az olvasás sebességét. A referencia cellák előfeszítései arányosak a kiolvasandó cella Vt-jével. Az olvasási feszültség az ellenőrző kapuba kerül, a forrás a földre és a nyelőnél előfeszítést alkalmaznak. Törlés A törlési folyamatnál a nagy elektromos téren keresztül az oxid rétegből kiszakad az elektron. Minden memóriacella a 0 szintet kapja, azaz 11 értéket vesz fel. A törlés folyamán a pozitív feszültség lesz az adatút az összes forrás csatlakozásán. Az ellenőrző kapu kapcsolódik a negatív feszültségre, a nyelő pedig törli a töltést. Végszó Remélem sikerült az érdeklődőkhöz egy kicsit közelebb hozni a jövő technológiáját. A miniatürizálás nagyon lényeges területe a

számítástechnika fejlődésének Készítette:Nagy Zoltán (Másodéves Informatikus)