FLASH MEMORY PROGRAM AND ERASE OPERATIONS • PROGRAM CIRCUITS – Tensioni di programmazione: scelta ottima – Program path tipico – Regolazione della tensione di drain – Regolazione della tensione di gate • ERASE CIRCUITS – Double supply: source erase, scarica nodi critici – Single supply: pompe di carica, regolatori di tensione, source switch Memorie a semiconduttore Flash Memory PROGRAM/ERASE PROGRAM VOLTAGES • Meccanismo di programmazione tipico: Channel Hot Electron (CHE): VS=0V; VCG=9-10V; VD=4-5V NB VCG/VD > VSUPPLY (~3-5V) ⇒ sono necessarie: pompe di carica per generare tali tensioni e circuiti di regolazione di tensione per evitare picchi di tensione dannosi per l’affidabilità • Sono necessari altri livelli di tensione: ad esempio, durante l’operazione di Program Verify, che controlla la tensione di soglia della celle dopo un impulso di programmazione • Criteri di scelta delle tensioni di programmazione: – durante tutta la fase di programmazione, VD deve stare all’interno della “working window”, che definisce il range permesso per la tensione di drain rispetto alla lunghezza efficace della cella, tenendo in conto di 1) efficienza di programmazione; 2) snap-back; 3) drain stress Memorie a semiconduttore Flash Memory PROGRAM/ERASE 1 PROGRAM VOLTAGES /2 – VCG influenza IDS, l’efficienza di programmazione e il punto di innesco dello snap-back • esiste un VCG critico per cui lo snap-back si innesca alla minima VDS: per questo, è importante applicare la rampa VCG prima di dare tensione alla bitline, VDS – drain stress: contano il valore e il tempo in cui è applicata VDS I circuiti di regolazione di VD e VCG devono essere tarati in modo da eliminare o limitare al massimo drain stress e snap-back • Memorie a semiconduttore Flash Memory PROGRAM/ERASE PROGRAM VOLTAGES /3 • • Tipico diagramma temporale in programmazione Vincoli per avere un’ottima tensione di programmazione: VD: efficienza e tempo di programmazione; drain stress su celle non selezionate; snap-back; corrente di drain; VCG: efficienza e tempo di programmazione; snap-back; corrente di drain; gate stress su celle non selezionate; Memorie a semiconduttore Flash Memory PROGRAM/ERASE 2 PROGRAM PATH • • Diagramma a blocchi per la generazione dei segnali analogici per programmare una memoria Flash Il Program/Erase Controller è stato attivato da appropriate istruzioni di controllo e sta eseguendo il suo algoritmo: indirizzi e dati da programmare sono contenuti nei buffer di ingresso Memorie a semiconduttore Flash Memory PROGRAM/ERASE PROGRAM PATH /2 ALGORITMO di PROGRAMMAZIONE: 1. Program Verify: confronto fra il contenuto delle celle e del buffer di ingresso: se non sono uguali → 2; se sono uguali (o se non sono uguali ma il numero di programmazioni ha superato il massimo previsto) → 3 2. Impulso di programmazione: VD e VCG → alta tensione per un determinato periodo di tempo; → 1 3. End NOTAZIONE: • VPCX = tensione applicata al gate attraverso i row decoder • VPCY = tensione applicata al drain attraverso i column decoder • VPD = tensione sul drain della cella attraverso i program load Memorie a semiconduttore Flash Memory PROGRAM/ERASE 3 VD REGULATION Ci sono 2 modi per applicare e regolare una tensione al drain: 1. attraverso i column decoder: controllo molto fine della tensione di uno dei pass-transistor del column decoder; VPP è applicata interamente e senza controllo al program load − il circuito di regolazione di YN fissa la tensione del drain della cella a VD=VREG-VGS-V1 (V1 è la caduta di tensione sul pass-transistor della bitline Y0 e sulla bitline locale) Memorie a semiconduttore Flash Memory PROGRAM/ERASE VD REGULATION /2 − il controllo di tensione si effettua su YN e non su Y0, perché i passtransistors Y0 sono distribuiti nella matrice, mentre YN è posto all’estremità inferiore della bitline ☺ no corrente attraverso il regolatore (più facile fare la pompa di carica); V1 è dovuta soltanto alla caduta sulla bitline locale W del column decoder va aumentata per ridurre VGS e V1 ES se le correnti nei due rami sono uguali, M2=M5 e M6=M7 ⇒ VD = f(VPP,R1,R2,R3); tuttavia questa soluzione senza retroazione è sensibile a variazioni di temperatura e di processo! Memorie a semiconduttore Flash Memory PROGRAM/ERASE 4 VD REGULATION /3 2. program load regulation: sul data bus è applicata una tensione VPD regolata da un opportuno circuito; sui pass-transistors dei column decoder è applicata una tensione alta in modo da tenere i MOS in triodo (e limitare la dissipazione): VD=VPD-V1 ☺ column decoder molto compatto il circuito di regolazione della tensione deve fornire la corrente di programmazione ⇒ più difficile fare le pompe di carica Memorie a semiconduttore Flash Memory PROGRAM/ERASE VD REGULATION /4 ES • Regolatore di program load composto da un op amp, un dummy decoder ed uno specchio di corrente, che specchia IC nel dummy decoder La caduta di tensione sul program load è trascurabile: scegliendo opportunamente k (mirror factor dello specchio), ΔVC e ΔVD si compensano, VD risulta indipendente da temperatura, corrente e età: VD=(R2/R1+R2)VPP Memorie a semiconduttore Flash Memory PROGRAM/ERASE 5 VD REGULATION /5 NB • Se la memoria è single supply, lo schema appena descritto non è il più vantaggioso: VPD, generata internamente dalle pompe di carica, è diminuita dalla caduta di tensione sullo specchio (almeno pari a VT) Una possibile configurazione è quella di figura, che fissa VPD e la stabilizza attraverso l’op amp e il divisore di tensione ⎛ R + R2 ⎞ ⎟⎟ VBG VPD = ⎜⎜ 1 ⎝ R2 ⎠ Memorie a semiconduttore Flash Memory PROGRAM/ERASE VCG REGULATION • • • Ogni cella riceve la tensione di gate da un row decoder attraverso una wordline VPCX è una tensione dedicata che viene trasferita alla cella selezionata a seconda dell’operazione in corso VPCX è generato da un circuito composto da 2 blocchi principali: 1. VPCX regulator: regolatore di tensione che genera tutti i livelli di tensione diversi da VCC Memorie a semiconduttore Operation VPCX level Read VCC Program pulse VPP (10-12V) Program verify VPV (~7V) Erase pulse < VCC Erase verify VEV (~3V) Flash Memory PROGRAM/ERASE 6 VCG REGULATION /2 2. VPCX switch: connette il row decoder a VCC o VREG in funzione dell’operazione che si sta eseguendo NB entrambi i circuiti sono controllati dal Program/Erase Controller tramite il control bus DOUBLE SUPPLY (VPP=12V – 5% di tolleranza): circuito tipico di regolazione: le varie tensioni di riferimento sono generate da partitori di tensione connessi con pass-transistor (M2-M5) (M2-M5) selezionati da opportuni bit del control bus Memorie a semiconduttore Flash Memory PROGRAM/ERASE VCG REGULATION /3 NB i segnali del control bus devono essere traslati per permettere la completa accensione degli switch analogici: M1-M4 (MOS high voltage) formano un circuito bistabile pilotato da IN (due inverter retroazionati → no consumo di potenza statica) – Un op-amp connesso come source follower è usato per disaccoppiare il regolatore di tensione (che non fornisce corrente) da HV switch e row decoder: Memorie a semiconduttore Flash Memory PROGRAM/ERASE 7 VCG REGULATION /4 – Per limitare i consumi, le transizioni di tensione sugli indirizzi avvengono solo quando VPCX=VCC: il regolatore di tensione va perciò progettato in modo da avere un appropriato settling time e essere sufficientemente stabile (tramite circuiti di compensazione) SINGLE SUPPLY: VCC è poco stabile ⇒ si affianca un generatore interno di tensione (band-gap reference): dato che VREG>VREF, l’op amp lavora come ampl. non-invertente a guadagno programmabile Memorie a semiconduttore Flash Memory PROGRAM/ERASE VCG REGULATION /5 – • VPP è fornita da appositi circuiti denominati pompe di carica ⇒ il design dei regolatori deve limitare al massimo il consumo ⇒ partitori capacitivi di tensione HV switch: circuito in grado di selezionare due o più livelli di tensione che deve avere consumo nullo: – il circuito più semplice è costituito da due pMOS pilotati da opportuni segnali di controllo: la giunzione drainbulk del pMOS connesso a VCC va in diretta quando OUT → VPP Memorie a semiconduttore Flash Memory PROGRAM/ERASE 8 VCG REGULATION /6 – il circuito in figura risolve questo problema (ogni ramo è formato da 2 pMOS con n-well opposte), a patto che i segnali di swing siano pilotati opportunamente ES VCC<VREG: VPCX →VCC ⇒ ENAVCCHV# e ENAVCC# → gnd (A→ →VCC); ENAVREGHV# e ENAVREG# →VCC (B floating ⇒ giunzioni di drain e di source polarizzate correttamente) VPCX →VREG ⇒ ENAVREGHV# e ENAVREG# →VCC; Memorie a semiconduttore Flash Memory PROGRAM/ERASE VCG REGULATION /7 NB ENAVCCHV# →VREG e ENAVCC# →VCC (A floating, giunzioni di drain e di source polarizzate correttamente) dato che HV switch fornisce due tensioni distinte, è molto importante che i due rami non siano mai simultaneamente ON: questa condizione critica si evita con temporizzando opportunamente i segnali di controllo Memorie a semiconduttore Flash Memory PROGRAM/ERASE 9 ERASE CIRCUITRY • La cancellazione è un’operazione globale: riguarda tutte le celle di un settore (Flash) o di un byte (EEPROM – select transistor) • Ogni settore ha una propria linea di source e una propria circuiteria dedicata a switch-are questa linea • La cancellazione avviene per tunnel Fowler-Nordheim ⇒ una elevata differenza di potenziale deve essere applicata fra source/substrato e floating gate: i circuiti deputati alla generazione di queste tensioni dipendono da se la memoria è single o double supply DOUBLE SUPPLY (source erase) • VPP è connessa al settore da cancellare tramite soluzioni a ridotta complessità circuitale • La cancellazione avviene con impulsi VCG di ~10 ms: dopo ogni impulso si verifica la tensione di soglia delle celle, e se tutte le VT sono sotto un certo limite, la cancellazione si arresta • Fenomeni indesiderati cha avvengono in cancellazione sono: Memorie a semiconduttore Flash Memory PROGRAM/ERASE ERASE CIRCUITRY /2 1. 2. • • • band-to-band tunneling (IBBT) sulla giunzione di source avalanche breakdown, che avviene quando la giunzione è pesantemente in inversa (IAV) Il circuito che da tensione alla source line è chiamato source switch: source line→VPP (erase) e source line→gnd (read/program) Read: ERASE1_N=ERASE2_N=SLOWD→VCC; ERASE→VCC CSECT = capacità parassita data da CSB di tutte le celle + capacità parassite verso massa della source line (CSECT ~ 1-2nF/Mbit) Memorie a semiconduttore Flash Memory PROGRAM/ERASE 10 ERASE CIRCUITRY /3 • • • Il diodo Zener modellizza le correnti IBBT e IAV: per limitare la corrente fornita in cancellazione, MP1 è progettato (W/L) in modo da avere una resistenza di canale che limita la corrente totale a 10-20mA per tutto il settore: in questo caso, VSL<VPP I nodi critici CSECT devono essere scaricati lentamente: il rumore associato alla scarica di CSECT è significativo (la massa può oscillare, inducendo commutazioni non desiderate nella logica di controllo) ⇒ la corrente di scarica va ridotta MN2 è il transitor che garantisce una scarica lenta: SLOWD ha … Memorie a semiconduttore Flash Memory PROGRAM/ERASE ERASE CIRCUITRY /4 NB • • ... un fronte di salita lento, mentre MN1 e MN3 sono spenti (ERASE1_N e ERASE2_N → 0) VSL≈VPP-1V: affinchè ISCARICA< 10-20 mA ⇒ TSCARICA ≅ 10-50 ms (TSCARICA dipende dalle dimensioni del settore) SLOWD cresce lentamente anche per evitare lo snap-back di MN2, che avviene quando sul MOS sono presenti contemporaneamente alte VD e VCG ⇒ VCG cresce mentre VD sta scendendo Durante la scarica di SL, la capacità parassite fra WL e SL determina una tensione negativa su WL ⇒ la giunzione drain-body del transistor pulldown del driver va in diretta: una scarica lenta ne limita la corrente Memorie a semiconduttore Flash Memory PROGRAM/ERASE 11 ERASE CIRCUITRY /5 SINGLE SUPPLY (negative gate erase – tripple well) I circuiti che generano V>VCC e V<0 sono chiamati pompe di carica: questi circuiti hanno una limitata capacità di fornire corrente, che deve perciò essere limitata; ☺ • con negative gate erase (2a gen) o con tripple well (3a gen): VSL limitata ⇒ ISL limitata POMPA DI CARICA: il suo principio di funzionamento è basato sull’immagazzinamento di carica (con il suo segno) in un nodo − pompa positiva: V>VCC (Q>0 è immagazzinata su un nodo) − pompa negativa: V<0 (Q>0 è rimossa da un dato nodo) − l’elemento usato per trasferire carica da un nodo all’altro è il condensatore, che conserva una tensione costante ai suoi terminali per piccoli intervalli di tempo Memorie a semiconduttore Flash Memory PROGRAM/ERASE ERASE CIRCUITRY /6 − − lo schema base di una pompa di carica è dato da una serie di stadi connessi serialmente, ciascuno dei quali è composto da un condensatore e uno switch sono necessari due segnali (VCC ↔ 0) in opposizione di fase FUNZIONAMENTO: − a→H - b→L: S2 e S4 chiusi; S1 e S3 aperti ⇒ trasferimento di carica da 1→2 e da 3→4; Memorie a semiconduttore Flash Memory PROGRAM/ERASE 12 ERASE CIRCUITRY /7 − − − − a→L - b→H: S1 e S3 chiusi; S2 e S4 aperti ⇒ trasferimento di carica da VCC→1, da 2→3, e da 2→OUT; all’uscita si accumula della carica ⇒ VOUT aumenta trasferimento di carica fra i nodi i e i+1: se le capacità sono uguali, Vi+1,fin=(Vi,in+Vi+1,in)/2 la tensione massima guadagnata da ogni stadio è VCC Memorie a semiconduttore Flash Memory PROGRAM/ERASE ERASE CIRCUITRY /8 Relazioni analitiche fondamentali: − tensione guadagnata da n stadi: VMAX,POS=(n+1)⋅VCC e | |VMAX,NEG| =n⋅VCC − carica trasferita fra due stadi adiacenti in un periodo di clock QMAX=C⋅VCC − corrente in uscita: IMAX=Q/T=C⋅VCC/T − resistenza di uscita: RPOS= VMAX,POS/IMAX=(n+1)T/C ; RNEG= |VMAX,NEG|/IMAX= n⋅T/C Note generali: ! è molto critica la realizzazione degli switch: i MOS soffrono dell’effetto body ⇒ soluzioni diverse a seconda della tecnologia AREA: maggiore è la corrente richiesta, minore è la tensione ottenibile: 1) data VCC, VOUT dipende solo dal numero degli stadi, n: + stadi ⇒ + area; 2) IMAX ∝ C: C + grandi ⇒ + area; globalmente, l’aumento di IMAX e VOUT ⇒ aumento area Memorie a semiconduttore Flash Memory PROGRAM/ERASE 13 ERASE CIRCUITRY /9 CONSUMO DI POTENZA: i circuiti che applicano tensione ai condensatori di boost consumano molta potenza e hanno un impatto negativo sul rumore generato internamente su GND e VCC NB Data la limitata capacità di fornire corrente, i circuiti connessi alle pompe di carica devono 1. consumare meno corrente possibile (no crow-bar current) 2. devono avere capacità parassite più piccole possibili, per evitare rallentamenti dei transitori di carica/scarica Memorie a semiconduttore Flash Memory PROGRAM/ERASE ERASE CIRCUITRY /9 REGOLATORE DI TENSIONE: − limitano e regolano la tensione fornita dalla pompa di carica: limi-ter e voltage regolator sono circuiti diversi, entrambi in retroazione − limiter: campiona la tensione di uscita della pompa e disabilita la pompa se la tensione è troppo alta − regulator: alimentato qualche volta dalla tensione di uscita della pompa, confronta la tensione da regolare con un preciso riferimento, VREF: lo stadio finale è costituito da pull-up e pull-down MOS Memorie a semiconduttore Flash Memory PROGRAM/ERASE 14 ERASE CIRCUITRY /10 − tipico regolatore per tensioni negative: la tensione da regolare HVNEG è campionata con un partitore capacitivo (no power consumption): − se HVNEG è bassa ⇒ M1 ON ⇒ corrente sul nodo da regolare ⇒ la sua tensione aumenta − se HVNEG è alto ⇒ op amp out → H ⇒ il limiter spegne la pompa di carica Memorie a semiconduttore Flash Memory PROGRAM/ERASE 15
© Copyright 2024 ExpyDoc