Sunteți pe pagina 1din 6

1.

Memoria flash
Memoria flash este o tehnologie considerată revoluţionară la apariţia sa având ca noutate
câteva proprietăţi care clasau acest tip de memorie printer cele mai căutate. Proprietăţile sunt
legate de viteza cu care stoca informaţiile, spaţiul disponibil stocării de informaţii şi uşurinţa cu
care se lucrează cu acest tip de memorie.
Memoria flash este încorporată sau folosită în diferite dispozitive. Cel mai utilizat
dispozitiv este Memory Stick-ul sau USB Flash, acesta fiind mai nou întâlnit oriunde şi oricând.
Memoria flash este o formă de memorie non-volatilă care poate sã fie ştearsă electric şi
reprogramată. Spre deosebire de EEPROM(Electronically Erasable Programmable Read-Only
Memory), memoria flash este ştearsă şi programată în blocuri compuse din locaţii multiple
(NAND flash). Memoria flash costă mai puţin decât EEPROM, în consecinţă a devenit
tehnologia dominantă oriunde este nevoie de o unitate solidă de depozitare non-volatilă.
Memoria flash a fost inventată de Dr. Fujio Masuoka în timp ce lucra pentru Toshiba în
1980. Ştergerea este cauzată de fenomenul tunelare Fowler-Nordheim, prin care electronii
străpung un material dielectric fin cu scopul de a înlătura sarcina din poarta flotantă asociată
fiecărei celule de memorie.
Masuoka a prezentat invenţia la IEEE 1984 International Electron Devices Meeting
(IEDM) ţinut în San Jose, California. Intel a văzut masivul potenţial al invenţiei şi a introdus
primul cip flash comercial de tip NOR în 1988. Memoria flash de tip NOR permite accesul direct
la orice celulă de memorie prin folosirea adreselor şi a magistralelor de date; dezavantajul este că
timpul pentru scrierea şi ştergerea datelor este lung. Rezistenţa sa este de la 10000 la 1000000 de
cicluri de ştergere. Denumirea de NOR flash sau NAND flash se referă la tipul porţilor logice
folosite pentru celulele de stocare.
A urmat NAND flash, pe care Toshiba l-a anunţat la ISSCC (International Solid-State
Circuits Conference) în 1989. Noile tehnologii NAND au dus la un cip mai mic, au micşorat
voltajul dar au mărit ciclul de scriere–citire.
Memoria flash tip NAND are o mai mare densitate de memorie, un cost mai mic pe bit şi o
speranţă de viaţă aproximativ 10 ori mai mare decât memoria flash tip NOR. Dezavantajul constă
în interfaţa de intrare-ieşire care permite numai un acces secvenţial la date.
Memoria flash este folosită de mai mulţi ani ca mediu de stocare principal sau auxiliar
pentru calculatoarele notebook. Apariţia unor dispozitive precum aparatele foto digitale şi
dispozitivile de redare MP3 au transformat această tehnologie dintr-un produs de nişă într-un
accesoriu necesar.

1.1. Circuite NOR Flash


Structurile tradiţionale de memorii realizează accesul aleator prin conectarea in paralel a
celulelor de memorare la liniile de bit (BL). Astfel biţii corespunzători cuvintelor diferite sunt
conectaţi şi accesaţi „în paralel”. Aceasta caracteristică se întâlneşte şi la structura Flash NOR,
prima apărută in ordine cronologică. In figura alăturată se observă că liniile de bit (BL0, BL1, ..),
care formează fiecare cuvânt, sunt realizate prin conectarea comună, în drenă (D), a
tranzistoarelor cu grilă flotantă. La nivelul fiecarei linii de bit este realizat de fapt un SAU cablat
(OR-wired). Un bit în „0” va trage toată linia de bit BL în „0”, indiferent de starea celorlalţi biţi.
Sursa (S) a tuturor tranzistoarelor este conectată in acelaşi punct (Source), linia respectivă servind
la activarea întregii matrici de memorie. Liniile de cuvant (WL0, WL1, WL2, ..) realizează
selecţia unuia din cuvinte, fiind conectate la grilele de control. In momentul activării unui cuvânt,
prin linia corespunzătoare WL, un tranzistor în conducţie (programat) din linia de bit BL va trage
potenţialul acesteia în “0”. In figură nu este prezentată sarcina activă (pull-up) existentă pentru
fiecare linie de bit

Această modalitate de conectare are avantaje majore din punct de vedere al timpului de
acces aleator (linia de bit se prezintă ca o poartă NOR, tranzistoarele fiind conectate in paralel).
Din păcate ea prezintă şi un dezavantaj din punct de vedere al realizării tehnologice, şi anume
presupune o suprafaţă mare ocupată la nivelul microcircuitului. Cu alte cuvinte, este
neeconomică din punct de vedere al preţului de cost per bit.
In figura de mai jos este prezentată structura de bază a unui tranzistor cu grila flotantă
folosit într-un circuit NOR Flash. Grila de control (control gate) şi cea flotantă (floating gate)
sunt realizate din siliciu policristalin (poly) conductor.

Programarea se face prin injectia de electroni “fierbinţi” (CHE- Channel Hot Electron
injection), iar ştergerea prin efectul de tunel Fowler-Nordheim (Fowler-Nordheim FN-tunneling).
La fel ca la UV-EPROM programarea unui bit înseamnă modificarea tensiunii de prag a
tranzistorului, iar un bit “programat” este în “0”, pe când unul “neprogramat” este în “1”.
O menţiune importantă care trebuie făcută relativ la circuitele NOR este că la acestea, la
livrare, se garantează că toate locaţiile de memorie sunt “bune” şi au acelaşi număr garantat de
cicluri de ştergere-programare. Mai mult, în faza de fabricaţie se realizează un număr destul de
mare de locaţii “de rezervă” (un alt aspect neeconomic), care vor fi utilizate pentru repararea
eventualelor locaţii cu defecte si producerea astfel a unui circuit perfect.

1.2. Circuitele NAND Flash


O nouă tehnologie FLASH (promovată de Toshiba si Samsung) a cunoscut o dezvoltare
puternică în ultimii ani. Tehnologia respectivă numită NAND Flash are la bază conceptul de
acces secvenţial şi nu aleator la informaţie. Nu trebuie uitat că unul din scopurile iniţiale ale
acestei tehnologii a fost înlocuirea dispozitivele de memorare externe de tip hard-disk, având
piese în mişcare, cu dispozitive statice de memorare (solid state mass storage), mai fiabile şi cu
timpi de acces la informaţie mai buni. Hard-disk-ul este în esenţă un dispozitiv care accesează
informaţia secvenţial, deşi acest aspect este mascat prin intermediul aşa zisului timp de acces
aleator, rezultat în urma căutării-regăsirii (seek time) acestei informaţii într-o structură de date
secvenţială.
Memoria NAND Flash este o configuraţie relativ nouă care reduce suprafaţa ocupată de
celula de memorie astfel încât să crească densitatea de integrare . Dimensiunea unei celule de
memorie NAND este aproape jumătate din cea a unei celule NOR. Ea este mai mică deoarece
prin fiecare tranzistor va circula un curent mai mic, nefiind nevoie să comande o linie de bit
lungă, cu capacitate proprie mare.
Dezavantajul este că această structură este poate fi accesată doar secvenţial şi este
optimizată în acest sens.
In figura următoare este prezentată o astfel de structură tipică care foloseşte 16
tranzistoare-celule de memorare. In figură nu sunt prezentate şi sarcinile active conectate la liniile
de bit Bit Line.
Prin intermediul tranzistoarelor normale (NMOS) comandate în grilă cu semnalele de tip
Select (BSL-Bit Select Line, GSL-Ground Select Line) se implementează un mecanism de
selecţie a liniei de bit Bit Line si conectare la masă a şirului de celule de memorare înseriate.

Un tranzistor care este “programat” (are sarcină negativă acumulată pe grila flotantă) va
avea tensiunea de prag VT > 0, pe cand unul “neprogramat” are tensiunea de prag VT <0.
Pentru o operaţie de citire a celulei identificată de semnalul de selecţie WLn ambii
tranzistori de selecţie sunt aduşi în conducţie. Dacă tensiunea de alimentare este, de exemplu,
VDD, aceasta este folosită pentru comanda lor în grilă. Grila de control a celulei din mijloc WLn
este şi ea selectată (tot cu VDD) în timp ce celelalte grile de control sunt conectate la o tensiune
mai mare decât VDD, forţând toate celulele de memorie (tranzistoarele) să conducă, indiferent
dacă au sau nu sarcină acumulată pe grila flotantă.
Este evident că citirea şirului de celule presupune o secvenţă ordonată în timp a
semnalelor GSL, BSL şi WL0..WL15.
Datorită conectării în serie a celulelor de memorare (a tranzistoarelor) timpul de acces la
primul octet de date dintr-un acces secvenţial este considerabil mai mare decât acelaşi acces
aleator la un octet pentru un circuit NOR.
In figura de mai jos este prezentată structura de bază a două din tranzistoarele adiacente
cu grilă flotantă conectate în serie, folosite intr-un circuit NAND Flash. Regiunea sursă-drenă
pentru cele două tranzistoare adiacente este comună, de unde şi o economie de spaţiu. Grilele de
control (control gate) si cele flotante (floating gate) sunt realizate din siliciu policristalin (poly)
conductor.
Atât programarea cât şi stergerea se realizează uniform, printr-un efect de tunel Fowler-
Nordheim (Fowler-Nordheim FN-tunneling), între grila flotantă şi substrat.
Avantaje evidente pentru un utilizator ale unui circuit NAND Flash sunt timpii de ştergere
şi (re)programare scurţi. Timpul de ştergere pentru un bloc de 16 kocteţi sau mai mare la un
circuit NAND este de 2msec, comparativ cu 700msec pentru acelaşi bloc la un circuit NOR.
Curentul de programare necesar pentru injecţia de sarcină în grila flotantă este mai mic
deoarece se utilizează efectul de tunel Fowler-Nordheim (Fowler-Nordheim FN-tunneling) atât
pentru ştergere cât şi programare. La un circuit NAND Flash programarea se face la nivel de
pagină.
Comparativ, un circuit NOR Flash poate fi programat doar octet cu octet (sau cuvânt cu
cuvânt) şi, deoarece utilizează injecţia de electroni “fierbinţi” (CHE) pentru programare, consumă
mai mult şi timpul de programare este mai lung, numai dacă comparaţia se face la nivel de
pagină. Tipic acesta este mai lung cu un ordin de mărime (x10) decât la un NAND Flash: 4msec
pentru 512 octeţi faţă de 200usec tot pentru 512octeţi.
Atât pentru circuitele NOR cât şi pentru cele NAND numărul de cicluri de ştergere-
programare este limitat (endurance), existând şi noţiunea de uzură (wear). La un circuit NOR
Flash mecanismele de ştergere (FN) şi programare (CHE) sunt diferite, neuniforme, fluxul de
electroni din grilă (la ştergere) sau în grilă (la programare) are căi diferite şi în consecinţă “uzura”
asociată este mai mare. Astfel durata de viaţă a unui circuit NOR Flash este de cca 100 000 de
cicluri de ştergere/programare.
La un circuit NAND ştergerea şi programarea se face uniform, prin acelaşi efect de tunel
FN, fluxul de electroni având mereu aceiaşi cale. Astfel “durata de viaţă” e prelungită la cel puţin
1000000 de cicluri.
Comparativ cu un hard-disk atât circuitele NOR cât şi cele NAND trebuie şterse înainte
de scriere, lucru care nu e necesar în cazul hard-disk-ului. Astfel în cazul unui acces continuu de
scriere, unde timpul de căutare (seek time) este negijabil, un hard-disk este mai eficient.
La un circuit NAND Flash, producătorul NU se garantează că toate locaţiile de memorie
sunt “bune” şi au acelaşi număr garantat de cicluri de ştergere-programare. Deasemenea se
realizează un număr foarte mic de locaţii “de rezervă”, care pot fi utilizate pentru repararea
eventualelor locaţii cu defecte, rezultând o economie în plus. La un astfel de circuit trebuie să
existe un mecanism de detecţie a erorilor si de gestionare al locaţiilor defecte, circuitul putând fi
livrat, din considerente economice, cu locaţii defecte! Mai mult este perfect posibil ca unele
celule să-şi epuizeze resursa de ştergere-programare mai devreme decât altele, pe parcursul
utilizării circuitului. Dacă o locaţie de memorie este defectă, sau devine defectă, atunci întreg
blocul căreia îi aparţine va fi marcat ca defect (bad block) şi nu va mai fi utilizat.
Din punct de vedere practic, al proiectantului de sistem şi utilizatorului, cea mai mare
diferenţă între cele două categorii de circuite este interfaţa utilizator. Un circuit NOR Flash este
foarte asemănător din punct de vedere al interfeţei cu un circuit EPROM (sau SRAM), având linii
(magistrale) de adrese şi date dedicate. El poate fi mapat cu usurinţă, natural, în spaţiul de
memorie al unui sistem de calcul. Astfel, sistemul de calcul poate citi în mod natural cod
memorat într-un NOR Flash şi îl poate executa.
Pe de altă parte un circuit NAND Flash nu are linii de adrese dedicate. El este controlat
printr-o interfaţă similară dispozitivelor de intrare/iesire, prin trimiterea de comenzi şi adrese,
printr-o magistrală unică de 8 biţi (tipic), către registrele interne de comenzi si adrese. De
exemplu, echivalentul unui ciclu de citire presupune: scrierea în registrul de comandă a comenzii
READ, scrierea în registrul de adrese a unei adrese formate din până la 4 octeţi (bytes) şi citirea
propriu-zisă a unei pagini de date (cu dimensiunea tipică de 528 de octeţi, cu 512 octeţi date şi 16
octeţi coduri ECC de corecţie) dintr-un registru de date. Există şi un registru de stare care este
folosit pentru sincronizarea operaţiilor de ştergere-scriere. Circuitele mai noi au în componenţă şi
un buffer de tip SRAM în care este memorată temporar informaţia care se va scrie într-o pagină,
fiind astfel posibilă suprapunerea operaţiilor de citire şi scriere: se poate citi o pagină în timp ce
alta este scrisă.
Funcţionarea unui NAND Flash este similară altor dispozitive de intrare–ieşire, cum ar fi
şi hard-disk-ul pe care acesta doreşte să-l înlocuiască. Datorită acestei interfeţe indirecte un
sistem de calcul nu poate executa codul memorat într-un NAND Flash decât prin intermediul
unui controler de memorie sau al unei maşini secvenţiale dedicate.
Totuşi, există şi un avantaj major al interfeţei indirecte, şi anume faptul că pin-out-ul
(numărul de conexiuni externe) circuitului nu se modifică funcţie de capacitatea circuitului de
memorie, registrul de adrese fiind interior.
Spre deosebire de alte circuite de memorie, pentru utilizatorul tehnologiei FLASH există
şi o componentă software, a cărei prezenţă este obligatorie, mai ales în cazul circuitelor NAND
FLASH.
Există două nivele diferite pentru suportul software: un nivel de bază pentru operaţiile de
citire-ştergere-scriere şi un nivel superior, pentru emularea unui hard-disk şi gestionarea
algoritmilor specifici tehnologiei FLASH.
Pentru a citi informaţie şi eventual a executa cod dintr-o memorie NOR Flash nu este
practic nevoie de nici un suport software. Pentru a executa însă cod dintr-o memorie NAND este
nepărată nevoie de un driver (pe lângă hardware-ul suplimentar). Această categorie de drivere
poartă denumirea de drivere asociate tehnologiei de memorie- MTD (Memory Technology
Driver/Device). Atât circuitele NOR cât şi cele NAND au nevoie de un driver MTD pentru
operaţiile de ştergere şi scriere. Dacă un driver MTD este tot ce e nevoie pentru a şterge/scrie un
circuit NOR, la un circuit NAND trebuie să mai existe un suport suplimentar pentru detecţia
erorilor de bit şi gestionarea blocurilor defecte (bad block mangement).
Un exemplu de software de nivel superior, axat pe tehnologia NAND Flash, este cel al
firmei MSystems, numit TrueFFS (True Flash File System) care realizează atât emularea hard-
disk-urilor, gestionarea blocurilor defecte cât şi uniformizarea uzurii (wear leveling). O versiune
TrueFFS există şi pentru tehnologia NOR Flash.
TrueFFS este disponibil, ca surse şi/sau executabile, pentru toate sistemele de operare
majore cum ar fi: VxWorks, Windows CE, Linux, QNX/Neutrino, Windows XP/XPE, Windows
NT/ NTE, DOS si multe altele.
Memoriile flash sunt utilizate într-o gamă foarte largă de aplicaţii. Volumul şi diversitatea
aplicaţiilor a crescut major odată cu devoltarea tehnologiei NAND Flash. Putem enumera în acest
sens : terminale de telefonie mobilă (cell phones), terminale GPS, camere foto si video digitale,
sisteme de calcul portabile de tip PDA, înregistratoare de voce (voice recorders), playere MP3,
memory sticks USB (USB drives, key drives), memory cards (PC card, ATA card, Compact
Flash, Multimedia card, Smart Media, Secure Digital, etc.). Memoria flash este o formă de
memorie non-volatilă care poate sã fie ştearsă electric şi reprogramată.

S-ar putea să vă placă și