ITMI20010342A1 - Sistema di memoria non volatile per memorizzare valori di dati - Google Patents

Sistema di memoria non volatile per memorizzare valori di dati Download PDF

Info

Publication number
ITMI20010342A1
ITMI20010342A1 IT2001MI000342A ITMI20010342A ITMI20010342A1 IT MI20010342 A1 ITMI20010342 A1 IT MI20010342A1 IT 2001MI000342 A IT2001MI000342 A IT 2001MI000342A IT MI20010342 A ITMI20010342 A IT MI20010342A IT MI20010342 A1 ITMI20010342 A1 IT MI20010342A1
Authority
IT
Italy
Prior art keywords
memory
read
state machine
instruction
data
Prior art date
Application number
IT2001MI000342A
Other languages
English (en)
Inventor
Pietro Piersimoni
Pasquale Pistilli
Original Assignee
Micron Technology Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Micron Technology Inc filed Critical Micron Technology Inc
Priority to IT2001MI000342A priority Critical patent/ITMI20010342A1/it
Priority to US09/803,047 priority patent/US6618291B2/en
Priority to PCT/US2002/002757 priority patent/WO2002067268A1/en
Publication of ITMI20010342A1 publication Critical patent/ITMI20010342A1/it

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits

Landscapes

  • Read Only Memory (AREA)

Description

DESCRIZIONE dell’Invenzione industriale avente per titolo:
«SISTEMA DI MEMORIA NON VOLATILE PER MEMORIZZARE VA-LORI DI DATI»
DESCRIZIONE
SFONDO DELL’INVENZIONE
I.CAMPO DELL’INVENZIONE
La presente invenzione riguarda il campo dei dispositivi di memoria non-volatili. In particolare, la presente invenzione riguarda una macchina a stati di scrittura perfezionata per dispositivi di memoria "flash".
II.DESCRIZIONE DELLA TECNICA CORRELATA
Un tipo di memoria non-volatile è la memoria di sola lettura programmabile cancellabile elettricamente flash (flash EEPROM o "memoria flash"). In modo simile a quello della memoria di sola lettura programmabile elettronicamente cancellabile (EEPROM) la memoria flash può essere cancellata elettricamente senza essere rimossa dal sistema di computer. La memoria flash è pure simile alla memoria di sola lettura programmabile cancellabile (EPROM) , poiché la memoria flash è disposta in blocchi tali che l'intero contenuto di ciascun blocco deve essere cancellato contemporaneamente.
Le memorie flash differiscono da convenzionali memorie di sola lettura programmabili cancellabili elettricamente ( "EEPROM") relativamente alla cancellazione. Le convenzionali EEPROM impiegano tipicamente un transistor di selezione per il controllo della cancellatura di byte individuali. Le memoria flash, d'altro canto, ottengono tipicamente densità molto maggiore con celle di transistor singole. Durante un procedimento di cancellazione di memoria flash della tecnica nota, un'alta tensione viene applicata alle sorgenti di ogni cella di memoria in una matrice di memoria simultaneamente. Il risultato è una cancellazione completa della matrice.
Convenzionalmente, per flash EEPROM, un "uno" logico significa che pochi elettroni, o nessuno, sono immagazzinati su una porta (gate) fluttuante associata con una cella di bit. Uno "zero" logico significa che molti elettroni sono immagazzinati sulla porta fluttuante associata con la cella di bit. Cancellazione di questo tipo di memoria flash fa sì che un uno logico abbia ad essere immagazzinato in ciascuna cella di bit. Ciascuna cella di bit singola di questo tipo di memoria flash non può essere ricoperta o sovra-scritta individualmente da uno zero logico ad un uno logico senza una cancellazione di un intero blocco di celle di memoria. Ciascuna cella di bit singola di tale memoria flash può, tuttavia, essere sovrascritta da un uno logico ad uno zero logico, dato che ciò comporta semplicemente l'aggiunta di elettroni ad una porta fluttuante che contiene il numero intrinseco di elettroni associati con lo stato cancellato. Il processo di aggiungere elettroni alla porta fluttuante associata con una cella di bit è chiamato "programmazione" .
Il processo di cancellazione di una matrice di memoria flash comporta tipicamente varie fasi, includenti tipicamente fasi di precondizionamento e fasi di postcondizionamento. In primo luogo, i transistor del blocco che deve essere cancellato sono precondizionati, per cui le tensioni di soglia dei transistor di memoria sono aumentate. I transistor precondizionati sono quindi cancellati e verificati. Alcuni transistor possono essere stati sovra-cancellati, e quindi possono avere tensioni di soglia negative. Questi transistor sono postcondizionati per portare le loro tensioni di soglia nuovamente ad un certo livello minimo. Il processo di programmazione è similmente costituito da varie fasi. Celle di memoria flash sono programmate e verificate per garantire che la programmazione abbia avuto successo.
La memoria flash ha una soglia limitata per il numero di cicli di programmazione e cancellazione che ciascun dispositivo di memoria flash può sopportare prima di degrado o malfunzione del dispositivo. Tipicamente, questa soglia è di circa 100.000 cicli di programmazione e cancellazione. Il tempo di vita dei cicli può essere ulteriormente esteso a 1.000.000 di cicli quando i dispositivi di memoria flash incorporano algoritmi di livellamento d'usura che distribuiscono dati tra blocchi di memoria flash.
Convenzionali dispositivi di memoria flash che non contengono logica per controllare sequenze di programma e cancellazione aggravano il microprocessore del sistema con il compito di sequenziare la memoria flash attraverso le sue fasi di programmazione e cancellazione. Dispositivi di memoria flash più recenti incorporano macchine a stati di scrittura, che favoriscono il ridurre il pesante onere sul microprocessore. In seguito a ricezione di un comando dal microprocessore, la macchina a stati di scrittura fa ciclare la matrice di memoria flash attraverso le sue molte fasi di cancellazione o programmazione automaticamente, e attua quindi riporto indietro al microprocessore quando ciò è finito.
In dispositivi di memoria flash precedenti incorporanti una macchina a stati di scrittura, il microprocessore non poteva leggere dal o scrivere al dispositivo di memoria flash mentre erano eseguite le sequenze di cancellazione e di programmazione. Le sequenze di cancellazione e di programmazione possono richiedere una quantità di tempo significativa, specialmente nella eventualità di una fase di cancellazione o di programmazione non riuscita che deve essere ripetuta. Ciò presenta un problema quando un microprocessore desidera accedere alla matrice di memoria flash mentre la macchina a stati di scrittura ha controllo del dispositivo .
Questo problema è stato alleviato incorporando una funzione di sospensione di cancellazione entro la macchina a stati di scrittura. Il microprocessore abilita un comando di "sospensione di cancellazione" sul bus dei dati, facendo sì che la macchina a stati di scrittura abbia a interrompere a pausa la sua sequenza di cancellazione. Il microprocessore può quindi leggere da un blocco nella matrice di memoria flash a cui non viene attuato accesso dalla macchina a stati di scrittura. La sequenza di cancellazione interrotta è quindi ripresa quando il microprocessore ha terminato il ciclo di lettura.
Dalla macchina a stati di scrittura vengono eseguite altre funzioni avanzate. In dispositivi di memoria flash convenzionali, queste funzioni sono previste in un circuito di istruzione che contiene la logica necessaria per eseguire le istruzione nella matrice di memoria flash. Esiste una necessità di avere un sistema più flessibile ed efficiente per memorizzare queste istruzioni.
SOMMARIO DELL’INVENZIONE
La presente invenzione riguarda un sistema ed un procedimento per una macchina a stati di scrittura per una memoria flash. Il sistema ed il procedimento consentono ad una macchina a stati di scrittura di attuare efficientemente le fasi richieste per programmare e cancellare una memoria flash. Le istruzioni sono memorizzate in memoria di sola lettura o "only memory (ROM)" contenuta entro la macchina a stati di scrittura. La macchina a stati di scrittura include inoltre un contatore di indirizzi, per selezionare l'istruzione successiva che deve essere eseguita dalla ROM, contatori per ciclare indirizzi nella matrice di memoria flash, e logica di controllo per eseguire l'istruzione corrente.
Con l'impiego della ROM interna, la macchina a stati di scrittura può essere fabbricata anticipatamente nel ciclo di progettazione, indipendentemente dalla forma finale delle istruzioni per la memoria flash. Inoltre, la medesima macchina a stati di scrittura può essere reimpiegata in differenti piastrine o chip di memoria flash, richiedendo solamente la riprogrammazione della ROM interna con le istruzioni necessarie.
BREVE DESCRIZIONE DEI DISEGNI
I precedenti e ulteriori vantaggi e caratteristiche dell'invenzione risulteranno più evidenti dalla descrizione dettagliata di forme di realizzazione esemplificative fornite in seguito con riferimento ai disegni acclusi, nei quali:
FIG. 1 è uno schema a blocchi di circuiteria di un dispositivo di memoria flash, includente una macchina a stati di scrittura;
FIG. 2 è uno schema a blocchi della macchina a stati di scrittura di FIG. 1;
FIG. 3 è uno schema a blocchi di una macchina a stati di scrittura perfezionata secondo la presente invenzione; e
FIG. 4 illustra un sistema processore impiegante un dispositivo di memoria flash contenente la macchina a stati di scrittura perfezionata di FIG. 3.
Descrizione Dettagliata Di Forme Di Realizzazione Preferite Comprensione di una convenzionale macchina a stati di scrittura impiegata in dispositivi di memoria flash è necessaria per comprendere completamente la presente invenzione, poiché la presente invenzione migliora il sistema convenzionale. FIG.
1 illustra un convenzionale dispositivo di memoria flash 20 contenente una macchina a stati di scrittura 32. La macchina a stati di scrittura 32 fa seguenziare la memoria a semiconduttori non-volatile 20 attraverso sequenze multi-fasi o multipassi (istruzioni) per programmare o cancellare contenuto di memoria come desiderato con solamente un comando di avviamento dal microprocessore 999. Quando un'istruzione di programma o di cancellazione viene avviata, la macchina 32 a stati di scrittura controlla programmazione e cancellazione. Il registro 34 di stati indica al microprocessore 999 quando operazioni di programmazione e cancellazione sono state completate attraverso le uscite 56 di STATUS (STATO) che sono multiplate mediante la macchina a stati di scrittura 32 su linee di dati 26.
Vpp 36 è la tensione di alimentazione di cancellazione/programmazione per la memoria flash.
Vcc è l'alimentazione di energia elettrica del dispositivo per la memoria flash 20 e Vss rappresenta la massa. Vpp 36 è tipicamente di 12,0 volt e Vcc è di approssimativamente 5 volt.
Quando il commutatore 110 della tensione di programmazione/cancellazione si trova in una posizione tale da proibire il passaggi di Vccp 36, la memoria flash 20 agisce come una memoria di sola lettura. I dati memorizzati in corrispondenza di un indirizzo alimentato attraverso linee 24 sono letti dalla matrice di memoria flash 22 e resi disponibili attraverso linee 26 di ingresso/uscita di dati alla circuiteria, ad esempio al microprocessore 999, esterna alla memoria flash 20.
La memoria flash 20 ha tre segnali di controllo cioè: abilitazione di piastrina o chip, o "chip-enable (CEB)" 44, abilitazione di scrittura o "write-enable (WEB)" 46, e abilitazione di uscita o "output-enable (OEB)" 42. L'ingresso di CEB 44 è il controllo di potenza ed è impiegato per selezionare la memoria flash 20. OEB 42 è basso attivo. L'ingresso di OEB 42 è il controllo d'uscita per la memoria flash 20 ed è impiegato per gaterizzare dati dai piedini d'uscita dalla memoria flash 20. OEB 42 è attivo basso. Entrambi i segnali di controllo CEB 44 e OEB 42 devono essere logicamente attivi per ottenere dati sulle linee 26 dei dati della memoria flash 20.
WEB 46 consente scritture alla macchina 28 a stati di comando, mentre CEB 44 è basso. Quando WEB 46 è attivo basso, indirizzi e dati sono agganciati in corrispondenza del fronte ascendente di WEB 46. Sono impiegate temporizzazioni di microprocessori standard.
La memoria flash 20 include una matrice 22 di memoria flash, che include celle di memoria che memorizzano dati in corrispondenza di indirizzi. La matrice di memoria flash 22 include un percorso di lettura, un percorso di scrittura e circuiteria di verifica, che non sono illustrati. In aggiunta, la memoria flash 20 include una macchina a stati di comando (CSM) 28 e sincronizzatore 30 su- piastrina o "on-chip", in aggiunta alla matrice di memoria 22, alla macchina a stati di scrittura o "write state machine (WSM)" 32 e al registro 34 di stati.
Comandi per programmare o cancellare la matrice di memoria 22 sono applicati attraverso linee di dati 26. I dati sulle linee di dati 26 sono fatti passare su DATAIN[0:7] 27 (INGRESSO DATI) attraverso la macchina a stati di scrittura 32, e sono ricevuti dalla macchina a stati di comando 28. La macchina a stati di comando 28 decodifica i dati e se essi rappresentano un comando di cancellazione, di programmazione o di ripristino del registro degli stati, il CSM 28 inizia a generare i comandi appropriati sotto forma di segnali di controllo. I comandi forniti dalla macchina 28 a stati di comando alla macchina 32 a stati di scrittura includono PROGRAMM 38, ERASE 40 (PROGRAMMAZIONE 38, CANCELLAZIONE 40), il segnale di ripristino del registro degli stati STATRS 45, l'abilitazione d'aggancio degli indirizzi o "address latch enable ALE 49", ed il segnale di abilitazione d'aggancio di dati DLE 47.
Le istruzioni di programmazione e di cancellazione sono regolate mediante la macchina a stati di scrittura 32, includente ripetizione degli impulsi di programma o di cancellazione quando richiesto e verifica interna dei dati, come sarà qui discusso dettagliatamente in seguito.
La macchina 32 a stati di scrittura aggancio i necessari indirizzi e dati richiesti per eseguire istruzioni di cancellazione e programmazione da ingressi A[0:16] 24 e D[0:7] 26. Il funzionamento degli agganci degli indirizzi e dei dati della macchina a stati di scrittura è controllato rispettivamente mediante il segnale di abilitazione d'aggancio degli indirizzi ALE 49 ed il segnale di abilitazione d'aggancio dei dati DLE 47 dalla CSM 28.
La macchina 32 a stati di scrittura si interfaccia con la matrice di memoria 22 attraverso segnali di indirizzo di matrice AY[0:6] 55 e AX[0:9] 57 e uscite di amplificatori sensori SOUT[0:7] 59, che rappresentano i dati memorizzati in corrispondenza della locazione di memoria indirizzata. Quando essa è attiva, la macchina a stati di scrittura controlla il percorso di lettura, il percorso di scrittura, e la circuiteria di verifica della matrice di memoria 22 attraverso SBUS[0:4] 54.
La macchina a stati di scrittura 32 riporta pure il suo stato durante il funzionamento al sincronizzatore 30 e al registro 34 degli stati attraverso SBUS[0:4] 54.
Il sincronizzatore 30 fornisce sincronizzazione tra la macchina 32 a stati di scrittura e la macchina a stati di comando 28. In seguito a ricezione o di un segnale di cancellazione o ERASE 38 attivo o di un segnale di programmazione o PROGRAM 40 attivo, il sincronizzatore 30 forza il segnale 50 di READY (PRONTO) ad un basso logico, indicando alla macchina a stati di comando 28 e al registro di stati 34 che la macchina a stati di scrittura 32 è occupata. Quando la macchina 32 a stati di scrittura ha completato la sua operazione, il sincronizzatore 30 arresta la macchina a stati di scrittura 32 impostando READY o "PRONTO".
Il sincronizzatore 30 ripristina la macchina a stati di scrittura 32 ogni qualvolta ERASE 38 e PROGRAM 40 passano ad un basso logico forzando il segnale 53 di RESET o RIPRISTINO ad un alto logico. Il sincronizzatore 30 riporta pure al registro 34 degli stati, fornendo informazione relativa al funzionamento della macchina a stati di scrittura 32 attraverso LOWVPP 51.
Il registro 34 degli stati decodifica SBUS[0:4] 54 e indica al microprocessore 999 se un'operazione è completa oppure no, ed il suo successo attraverso l'uscita 56 di STATUS o "STA-TO". Le uscita 56 di STATUS sono multiplate sulle linee 26 dei dati attraverso la macchina a stati di scrittura 32.
FIG. 2 illustra, in forma di schema a blocchi, la circuiteria della macchina 32 a stati di scrittura e il suo collegamento al registro 34 degli stati. La convenzionale macchina 32 a stati di scrittura include un oscillatore e generatore 70, un controllore 72 di stati successivi, un contatore 74 di eventi, un contatore 76 di periodi, un contatore 78 di indirizzi ed un aggancio e comparatore di dati ( "DLC ") 80.
Il segnale di RESET o RIPRISTINO sulla linea 52 è applicato a tutti i circuiti entro la macchina a stati di scrittura 32, tranne al contatore 78 degli indirizzi. Il segnale di RESET sulla linea 52 forza nodi critici entro la macchina 32 a stati di scrittura a stati noti. Ad esempio, il segnale di RESET sulle linee 52 forza i segnali di conteggio sulle linee PCTRTC 88, ECTRTC 90 E ACTRTC 92 ad uno zero logico.
Appena dopo aver ricevuto un segnale di RESET inattivo, l'oscillatore/generatore di fase 70 inizia a generare due orologi di fase non sovrapponentisi, Fase 1, PHl, 82, e Fase 2, che sono instradati a quasi tutta la circuiteria della macchina 32 a stati di scrittura. PH284 è il primo orologio attivo dopo che il segnale di RESET è stato applicato sulla linea 52.
Successivamente, il controllore 72 degli stati controlla e coordina le attività della macchina 32 a stati di scrittura e determina lo stato successivo della macchina a stati di scrittura. Successivamente, il controllore 72 degli stati genere le cinque uscite SBUS[0:4] 54, le quali indicano lo stato corrente della macchina a stati di scrittura. Ciascun circuito 102 ricevente SBUS[0:4] 54 dal controllore 72 degli stati successivi esegue la sua propria decodificazione di SBUS[0:4] 54 per determinare il suo compito successivo. Questa struttura consente a molti compiti di essere eseguiti in parallelo, minimizzando il tempo richiesto che è necessario per eseguire funzioni di cancellazione e di programmazione. I circuiti 12 riceventi SBUS[0:4] 54 sono circuiti di istruzioni 102 contenenti logica a cablaggio rigido, per istruzioni specifiche per la matrice di memoria flash 22, cioè scrittura, lettura, etc. per celle nella matrice di memoria flash 22 stessa.
Il contatore 76 dei periodi determina e temporizza i periodi degli impulsi per tensioni della matrice durante operazioni di programmazione e cancellazione. Un altro periodo indicato dal contatore 76 dei periodi è il ritardo tra la programmazione o la cancellazione e la verifica di dati validi da celle di memoria. Divenendo attivoalto, il segnale di conteggio PCTRTC 88 del contatore 76 dei periodi informa il controllore 72 degli stati successivi che il periodo di tempo selezionato è trascorso.
Il contatore 76 dei periodi decodifica SBUS[0:4] 54 per selezionare il periodo degli impulsi desiderato. SBUS[0:4] 54 fa pure sì che il contatore 76 dei periodi abbia a ripristinare il suo conteggio di uno stato prima che il contatore 76 dei periodi debba essere abilitato.
Il contatore 74 degli eventi determina quando è stato raggiunto il numero massimo di operazioni di programmazione o cancellazione per byte. Quando è stato raggiunto il numero massimo di operazioni per byte, il contatore 74 degli eventi informa il controllore 72 degli stati successivi portando il segnale ECTRTC 90 di conteggio degli eventi ad un alto logico. Il contatore 74 degli eventi determina il numero massimo di operazioni mediante decodificazione del SBUS[0:4] 54. Il numero massimo di impulsi di programma o programmazione per operazioni di programmazione è impostato, per esempio, a 50, ed il numero massimo di impulsi di cancellazione per operazione di cancellazione è impostato, ad esempio, a 8192.
Entro la macchina 32 a stati di scrittura, il contatore 78 degli indirizzi funziona sia come un buffer d'ingresso che come un contatore vero e proprio. Quando READY 50 è alto, l'indirizzo sulle linee A[0:16] degli indirizzi è fornito in uscita come segnali AY[0:6] 55 e AX[0:9] 57. I segnali AY[0:6] 55 e AX[0:9] 57 puntano alla posizione del byte nella matrice 22 di memoria che deve essere programmata, cancellata, oppure letta. Il contatore 78 degli indirizzi conta quindi attraverso tutti gli indirizzi nella matrice di memoria 20. Il contatore 78 degli indirizzi indica al controllore di stati successivi 72 che la fine della memoria è stata raggiunta forzando il suo segnale ACTRTC 92 di conteggio degli indirizzi ad un uno logico. L'aggancio e comparatore di dati (DLC) 80 costituisce l'interfaccia tra WSM 32 e la macchina 28 a stati di comando, la matrice di memoria 22 e le linee di dati 26. Ingresso di dati sulle linee 26 dei dati è bufferizzato mediante il DLC 80, e lasciato passare alla macchina 28 a stati di comando come segnali 27 di DATAIN[0:7].
Se i segnali 27 di DATAIN[0:7] o INGRESSO DATI rappresentano un comando di programmazione, allora la macchina 28 a stati di comando dirigerà DLC 80 a memorizzare l'informazione sulle linee 26 dei dati impostando il segnale DLE 47 di abilitazione dell'aggancio dei dati ad un uno logico. Durante un'operazione di programmazione, DLC 80 compara i dati memorizzati nei suoi agganci per rilevare segnali SOUT[0:7] 59 dell'amplificatore sensore e indica un adattamento impostando MATCH 94 (ADATTA-MENTO 94) ad un alto logico.
DLC 80 compara i segnali dell'amplificatore sensore, SOUT[0:7] 59, che sono indicativi di contenuti di celle di memoria, con un livello logico di riferimento durante la verifica di cancellazione e indica cancellazione riuscita al controllore 72 degli stati successivi impostando MATCH 94 ad un alto logico.
Il registro 34 degli stati riporta lo stato della macchina 32 a stati di scrittura al microprocessore 999 attraverso segnali 56 di STATUS, che sono multiplati sulle linee di dati 26. Il registro 34 degli stati determina lo stato della macchina a stati di scrittura in base ai segnali READY 50, LOWVPP 51 e SBUS[0:4] 54.
In un modello di memoria flash convenzionale, com'è stato descritto precedentemente facendo riferimento alle FIG . 1 e 2, le istruzioni per la memoria flash sono eseguite mediante uno o più circuiti 102 di istruzioni, ad esempio combinazioni di porte logiche, in risposta ad un segnale di SBUS[0:4] interno sul bus interno SBUS[0:4] 120 dal controllore 72 degli stati successivi. I circuiti 102 delle istruzioni forniscono quindi uscita sul SBUS[0:4] 54 per abilitare o disabilitare gli amplificatori sensori o di rilevazione nella matrice di memoria 22 per effettuare l'operazione desiderata della istruzione. Il SBUS[0:4] 120 interno propaga segnali entro la macchina a stati di scrittura 32. SBUS[0:4] 54 propaga segnali dall'uscita dei circuiti di istruzione 102 della macchina 32 a stati di scrittura al registro 34 degli stati e alla matrice di memoria 22 (entrambi esterni alla macchina 32 a stati di scrittura).
Impiegando i circuiti 102 delle istruzioni, la progettazione e la fabbricazione dei dispositivi di memoria flash possono verificarsi solamente dopo che l'insieme di istruzioni sia stato determinato poiché la logica dell'insieme delle istruzioni è a cablaggio rigido o "hardwired". L'insieme delle istruzioni non è spesso determinato finché non è stato costruito l'intero sistema, il che, in base alla applicazione, potrebbe richiedere un ritardo di vari mesi. Inoltre, la sequenza delle istruzioni per l'algoritmo di programmazione o cancellazione è "hardwired" o cablata rigidamente nel controllore 72 degli stati successivi. Cambiamento dell'algoritmo di programmazione o cancellazione richiede la modificazione di porte e connessioni, con sovraccarico di tempo e costo quando la produzione viene avviata.
La presente invenzione sostituisce il controllore 72 degli stati successivi e i circuiti 102 delle istruzioni della convenzionale macchina a stati di scrittura 32 di FIG. 2 con un circuito chiamato microcontrollore 100 di "WSM (write state machine )", o della macchina a stati di scrittura illustrato in FIG. 3, i cui vantaggi rispetto alla architettura della tecnica nota risulteranno evidenti , man mano che il suo funzionamento sarà discusso in seguito. Ogni riga della memoria di sola lettura (ROM) 104 memorizza una configurazione di dati specifica, che è fornita in uscita sulle linee RIB[0:5] 111 e RDB[0:33] 113 di uscita della ROM, quando un indirizzo della ROM specifico è presente sulle linee RA[0:6] 108. Il contatore 106 degli indirizzi genera un indirizzo 108 della ROM in risposta a controlli emessi dal decodificatore 105 delle istruzioni attraverso le linee di controllo RACNTL [0:2] 109. PHl 82 E PH2 84 sono due orologi non-sovrapponentisi; un indirizzo nuovo per la ROM è fatto propagare su linee di indirizzo RA[0:6] 108 in corrispondenza di ciascun fronte ascendente dell'orologio PH2 84.
Dati della ROM su linee RIB[0:5] 111 codificano impostazioni specifiche per controllare il decodificatore 105 delle istruzioni, il contatore 106 degli indirizzi, l'aggancio 117 dei dati e l'aggancio 118 dei dati interno.
Conformemente al codice su RIB[0:5] 111, il decodificatore 105 delle istruzioni impiegherà le linee di controllo RACNTL[0:2] 109 per selezionare l'indirizzo consecutivo successivo, un indirizzo nuovo, o confermare l'indirizzo corrente nel contatore 106 degli indirizzi per il successivo ciclo di PH2.
In base a RIB[0:5] 111, il decodificatore 105 delle istruzioni imposterà IDLEN 116 per far propagare il RDB[0:13] 119 al SBUS[0:13] 120 nel presente ciclo di PH2. Nel medesimo modo, in base al RIB[0:5] 111, il decodificatore 105 delle istruzioni imposterà DLEN 110 al fine di far propagare RDB[0:33] 113 al SBUS[0:33] 54 nel presente ciclo di PH2.
In dipendenza dalla istruzione codificata in RIB[0:5] 111, il decodificatore 105 delle istruzioni può pure disabilitare IDLEN e/o DLEN in modo tale che i correnti RDB[0:13] 119 e RDB[0:33] 113 non siano fatti propagare ai SBUS[0:13] 120 e SBUS[0:33] 54. In quest'ultimo caso, i segnali di SBUS sono mantenuti ai valori esistenti inpiegando l'aggancio 118 di dati interno e l'aggancio 117 di dati.
Per un altro codice di RIB[0:5] 111, il decodificatore 105 delle istruzioni caricherà il contatore 106 degli indirizzi con il valore di RDB[0:6] 112, e questo valore costituirà l'uscita degli indirizzi su linee RA[0:6] 108 nel successivo ciclo di PH2.
Le configurazioni memorizzate in estremità di ciascuna linea della ROM possono essere raggruppate in modo logico per generare sequenze specifiche dei segnali SBUS[0:13] 120 e SBUS[0:33] 54. Ulteriori segnali sono impiegati per far sì che le sequenze generiche abbiano ad agire come algoritmi operazionali Flash:
— RESET 52 (RIPRISTINO) inizializza il contatore 106 degli indirizzi ad uno stato noto dopo inizializzazione della piastrina o chip;
— PROGRAM 30 (PROGRAMMA) quando abilitato forza il primo indirizzo dopo il fronte ascendente di PH2 84 a puntare alla prima istruzione dell'algoritmo di programma o programmazione;
— ERASE 40 (CANCELLAZIONE) quando abilitato forza il primo indirizzo dopo il fronte ascendente di PH2 84 a puntare alla prima istruzione dell'algoritmo di cancellazione;
— SUSPEND 114 (SOSPENSIONE) quando abilitato forza il primo indirizzo dopo il fronte ascendente di PH2 84 a puntare alla prima istruzione della sequenza che sospenderà l'algoritmo di programmazione o cancellazione in progressione;
— RESUME 115 (RIPRESA) quando abilitato forza il primo indirizzo dopo il fronte ascendente di PH2 a puntare alla prima istruzione che riprenderà l'operazione sospesa, sia essa una programmazione o una cancellazione.
In aggiunta, impiegando i bit sulle linee RDB[0:4] 123, la configurazione della ROM può forzare il decodificatore 105 delle istruzioni ad impiegare il valore di segnali esterni per impostare il valore di segnali di controllo RACNTL[0:2] 109, IDLEN 16 E DLEN 110. I segnali impiegati nel programma Flash e di algoritmi di cancellazione sono:
— MATCH 94 (ADATTAMENTO) quando impostato informerà il decodificatore 105 delle istruzioni relativamente al fatto che dati correnti letti dalla memoria flash si adattano ad una configurazione specifica, e perciò il decodificatore 105 delle istruzioni selezionerà l'indirizzo successivo nella sequenza di programmazione o cancellazione in base a questa informazione;
— ACTRTC 92 quando impostato informerà il decodificatore 105 delle istruzioni che l'indirizzo corrente alla memoria flash ha raggiunto un massimo specifico, e perciò il decodificatore 105 delle istruzioni selezionerà l'indirizzo successivo nella sequenza di programmazione o cancellazione in base a questa informazione;
— ECTRTC 90 quando impostato informerà il decodificatore 105 delle istruzioni relativamente al fatto che il contatore degli eventi di impulsi di programmazione o impulsi di cancellazione ha raggiunto un massimo specifico, e perciò il decodificatore 105 delle istruzioni selezionerà l'indirizzo successivo nella sequenza di programmazione o di cancellazione in base a questa informazione ;
— PCTRTC 88 quando impostato informerà il decodificatore 105 delle istruzioni che il contatore della durata temporale dell'impulso di cancellazione dell'impulso di programmazione ha raggiunto un massimo specifico e che, perciò, è trascorso un dato tempo, e perciò il decodificatore 105 delle istruzioni selezionerà l'indirizzo successivo nella sequenza di programmazione o cancellazione in base a questa informazione.
Il microcontrollore 100 di WSM ha tutte le caratteristiche necessarie per implementare gli algoritmi di cancellazione o programmazione Flash. Un esempio di insieme di istruzioni è elencato qui di seguito: le differenti istruzioni possono essere codificate in valori di RIB[0:5] 111, mentre gli argomenti delle istruzioni possono essere impostati nel bus di RDB[0:33] 113:
RIB[0:5] = SET RDB[0:33] 113 è agganciato mediante DLEN 110 nell’aggancio 117 dei dati.
RIB[0:5] = SETEW RDB[0:13] 119 è lasciato passare sul SBUS[0:13]
120 ed un sub-insieme di RDB[0:33] 121 è agganciato nell’aggancio 117 dei dati. Il decodificatore 105 delle istruzioni è configurato per confermare il presente indirizzo RA[0:6] 108 finché un livello alto attivo non viene rivelato su EXTWAIT 130. Questa caratteristica può essere impiegata per sincronizzare la macchina con un evento esterno.
RIB[0:5] = SETIW RDB[0:13] 119 è fatto passare su SBUS[0:13] 120 ed un sub-insieme di RDB[0:33] 113 viene agganciato nell’aggancio 117 dei dati. Il decodificatore 105 delle istruzioni è configurato per impostare il contatore 106 degli indirizzi per confermare il presente indirizzo RA[0:6] 108 finché un livello alto attivo non viene rivelato su INTWAIT 131. Questa caratteristica presenta un porto o terminale addizionale per sincronizzare la macchina con un evento. RIB[0:5] = JMP_IF TRUE Conforme a RDB[0:3] 123, il decodificatore 105 delle istruzioni verifica il valore alto di MATCH 94 o ACTRTC 92 o di ECTRTC 90 0 PCTRTC 88 per impostare il contatore 109 degli indirizzi, IDLEN 116 o DLEN 110. RDB[0:6] 112 è impiegato per fornire un indirizzo di salto diretto al contatore 106 degli indirizzi.
RIB[0:5] = JMP_F FALSE Conforme a RDB[0:3] 123, il decodificatore 105 delle istruzioni verifica il valore basso di MATCH 94 o ACTRTC 92 o di ECTRTC 90 o PCTRTC 88 per impostare il contatore 109 degli indirizzi, IDLEN 116 o DLEN 110. RDB[0:6] 112 è impiegato per fornire un indirizzo di salto diretto al contatore 106 degli indirizzi.
RIB[0:5] = JMP RBD[0:6] forniscono un indirizzo di salto incondizionato diretto all’interno del contatore 106 degli indirizzi.
RIB[0:5] = CALL RDB[0:6] 1 Sforniscono un indirizzo di salto incondizionato diretto all’interno del contatore 106 degli indirizzi. RDB[7:12] 132 è impiegato per memorizzare all’interno del contatore 106 degli indirizzi un indirizzo addizionale, impiegato dalla successiva istruzione di RETURN (RITORNO).
RIB[0:5] = RET Ripristina nel contatore 106 degli indirizzi l’indirizzo precedentemente memorizzato mediante un’istruzione di CALL (CHIAMATA). L’esecuzione inizia nella ROM in corrispondenza di questo indirizzo. Bit di RDB[0:33] sono disponibili come dati generici da impostare mediante DLEN 110.
L'architettura della presente invenzione presenta vari vantaggi rispetto all'architettura della tecnica nota illustrata nelle Figure 1 e 2. In primo luogo, istruzioni richieste per eseguire un dato algoritmo sono memorizzate come microistruzioni nella ROM 104, e perciò le sequenze possono essere facilmente cambiate mediante riprogrammazione di solamente la ROM 104. Ciò consente sviluppo del codice della ROM successivamente nella fase di progettazione e consente pure facili regolazioni quando la produzione delle memorie flash aumenta a rampa. Dato un insieme di istruzioni, più sequenze possono essere posizionate nella ROM 104 semplicemente ingrandendola, senza nessuna modificazione del decodificatore 105 delle istruzioni, dell'aggancio 118 di dati interno e dell'aggancio 117 dei dati, e semplicemente aggiungendo linee di indirizzo addizionali RA[0:6] 108 al contatore 106 degli indirizzi e alla ROM 104. Questa architettura si presta spontaneamente al sequenziamento di algoritmi più complessi, non solamente algoritmi di cancellazione o programmazione, specialmente nell'area di procedure di prove. Ad esempio, una routine suscettibile di programmare esaurientemente l'intera matrice flash a tutti 0 e leggerli nuovamente può essere facilmente implementata con un microcontrollore 100 di WSM e l'insieme di istruzioni esistente. La medesima posizione di bit della ROM può rappresentare una funzione differente in configurazioni differenti. Infatti RDB [0:6] 112, RDB [0:3] 123, RDB[0:13] 119, RDB[7:12] 132 e RDB[0:33] 113 si suddividono in comune alcune delle o tutte le loro posizioni di bit, ma la funzione dei bit è appropriatamente differenziata con il controllo selettivo di RACNTL[0:2] 109, IDLEN 116, DLEN 110 mediante il decodificatore 105 delle istruzioni in risposta ad un codice di RIB[0:5] 111. Questa tecnica consente risparmi nei numeri delle colonne della ROM. Inoltre, il medesimo microcontrollore 100 di WSM può essere impiegato in differenti dispositivi di memoria flash, richiedenti solamente di riprogrammazione della ROM 104 e connessioni dei segnali RESET 52, PROGRAM 38, ERASE 40, SUSPEND 114, RÉSUMÉ 115, PHl 82, PH2 84, MATCH 94, ACTRTC 92, ECTRTC 90, PCTRTC 88, SBUS [0:4] 120 E SBUS[0:4] 54 nella nuova configurazione circuitale .
FIG. 4 illustra un sistema processore semplificato 400 che include un'unità di elaborazione centrale (CPU) 412, un dispositivo di memoria flash 404, dispositivi di memoria RAM e ROM 408, 410, il dispositivo di ingresso/uscita (I/O) 406, l'unità a dischi 414 e l'unità a CD ROM 416. Il dispositivo di memoria flash 404 può contenere il microcontrollore 100 WSM di FIG. 3, e l'associata ROM 104 per le istruzioni per le operazioni della matrice di memoria flash secondo la presente invenzione.
Si deve comprendere che la precedente descrizione vuol essere solamente illustrativa e non limitativa. Molte varianti del sistema e del procedimento precedentemente descritti si presenteranno facilmente agli ordinari esperti del ramo. Ad esempio, la ROM 104 non deve necessariamente risiedere entro il microcontrollore 100 e la macchina a stati di scrittura 32, ma può trovarsi all'esterno del microcontrollore 100 e della macchina a stati di scrittura 32, e al tempo stesso essere integrata sulla medesima piastrina o chip.
Perciò, la presente invenzione non deve essere considerata limitata dalle specifiche del particolare sistema e procedimento che sono stati descritti e illustrati, ma è solamente limitata dall'ambito di protezione delle rivendicazioni accluse.

Claims (16)

  1. RIVENDICAZIONI 1. Sistema di memoria non-volatile per memorizzare valori di dati, detto sistema di memoria comprendendo : una matrice di celle di memoria; e una macchina a stati di scrittura per controllare operazioni su detta matrice di celle di memoria; detta macchina a stati di scrittura contenendo istruzioni per eseguire dette operazioni su detta matrice di celle di memoria, dette istruzioni essendo memorizzate in memoria di sola lettura associata con detta macchina a stati di scrittura.
  2. 2. Sistema secondo la rivendicazione 1, in cui detta memoria di sola lettura è interna a detta macchina a stati di scrittura.
  3. 3. Sistema secondo la rivendicazione 1, in cui detta memoria di sola lettura è integrata sulla medesima piastrina o chip di quella di detta macchina a stati di scrittura.
  4. 4. Sistema secondo la rivendicazione 1, in cui detta matrice di celle è una matrice di delle di memoria flash.
  5. 5. Sistema secondo la rivendicazione 1, in cui detta memoria di sola lettura comprende almeno una istruzione per leggere dati da almeno una cella di detta matrice di celle di memoria.
  6. 6. Sistema secondo la rivendicazione 5, in cui detta memoria di sola lettura comprende almeno un'istruzione per sospendere detta almeno una istruzione di leggere dati.
  7. 7. Sistema secondo la rivendicazione 1, in cui detta memoria di sola lettura comprende almeno una istruzione di scrittura per scrivere dati da almeno una cella di detta matrice di celle di memoria.
  8. 8. Sistema secondo la rivendicazione 7, in cui detta memoria di sola lettura comprende almeno una istruzione per sospendere detta almeno una istruzione di scrivere dati.
  9. 9. Sistema secondo la rivendicazione 1, in cui detta memoria di sola lettura comprende almeno una istruzione per cancellare dati da detta matrice di celle di memoria.
  10. 10. Sistema secondo la rivendicazione 1, in cui detta memoria di sola lettura comprende almeno una istruzione per programmare almeno una cella di detta matrice di celle di memoria.
  11. 11. Sistema secondo la rivendicazione 1, in cui detta macchina a stati di scrittura comprende una memoria di sola lettura includente un microcontrollore .
  12. 12. Sistema secondo la rivendicazione 1, in cui detta macchina a stati di scrittura comprende un contatore di indirizzi.
  13. 13. Sistema secondo la rivendicazione 1, in cui detta macchina a stati di scrittura comprende un decodificatore delle istruzioni.
  14. 14. Sistema secondo la rivendicazione 1, in cui detta macchina a stati di scrittura comprende un aggancio di dati interno.
  15. 15. Sistema secondo la rivendicazione 1, in cui detta macchina a stati di scrittura comprende almeno un aggancio di dati.
  16. 16. Sistema a processore comprendente: un processore; e un dispositivo di memoria non-volatile accoppiato a detto processore, detto dispositivo di memoria non-volatile comprendendo: una matrice di celle di memoria; e una macchina a stati di scrittura per controllare operazioni su detta matrice di celle di memoria; detta macchina a stati di scrittura contenendo istruzioni per eseguire dette operazioni su detta matrice di celle di memoria, dette istruzioni essendo memorizzate in memoria di sola lettura associata con detta macchina a stati di scrittura. 17.Sistema secondo la rivendicazione 16, in cui detta memoria di sola lettura è interna a detta macchina a stati di scrittura. 18. Sistema secondo la rivendicazione 16, in cui detta memoria di sola lettura è integrata sulla medesima piastrina o chip di quella di detta macchina a stati di scrittura. 19. Sistema secondo la rivendicazione 16, in cui detta matrice di celle è una matrice di celle di memoria flash. 20. Sistema secondo la rivendicazione 16, in cui detta memoria di sola lettura comprende almeno una istruzione per leggere dati da almeno una cella di detta matrice di celle di memoria. 21. Sistema secondo la rivendicazione 20, in cui detta memoria di sola lettura comprende almeno una istruzione per sospendere detta almeno una istruzione di leggere dati. 22. Sistema secondo la rivendicazione 16, in cui detta memoria di sola lettura comprende almeno una istruzione di scrittura per scrivere dati in almeno una cella di detta matrice di celle di memoria. 30. Sistema secondo la rivendicazione 16, in cui detta macchina a stati di scrittura comprende almeno un aggancio di dati. 31. Procedimento per la fabbricazione di un sistema di memoria di sola lettura per memorizzare valori di dati comprendente le fasi di: eseguire una operazione su una matrice di celle di memoria flash con una macchina a stati di scrittura che è sensibile ad istruzioni memorizzate in una memoria di sola lettura associata con detta macchina a stati di scrittura. 32. Procedimento secondo la rivendicazione 31, in cui detta memoria di sola lettura è interna a detta macchina a stati di scrittura. 33. Procedimento secondo la rivendicazione 31, e in cui, inoltre, detta memoria di sola lettura si trova sulla medesima piastrina o chip di quella di detta macchina a stati di scrittura. 34. Procedimento secondo la rivendicazione 31, comprendente inoltre il caricare almeno un'istruzione per leggere dati da almeno una cella di detta matrice di celle di memoria in detta memoria di sola lettura. 35. Procedimento secondo la rivendicazione 34, comprendente inoltre il caricare almeno una istru23. Sistema secondo la rivendicazione 22, in cui detta memoria di sola lettura comprende almeno una istruzione per sospendere detta almeno una istruzione di scrivere dati. 24. Sistema secondo la rivendicazione 16, in cui detta memoria di sola lettura comprende almeno una istruzione per cancellare dati da detta matrice di celle di memoria. 25. Sistema secondo la rivendicazione 16, in cui detta memoria di sola lettura comprende almeno un'istruzione di programmare almeno una cella di detta matrice di celle di memoria. 26. Sistema secondo la rivendicazione 16, in cui detta macchina a stati di scrittura comprende una memoria di sola lettura includente un microcontrollore . 27. Sistema secondo la rivendicazione 16, in cui detta macchina a stati di scrittura comprende un contatore di indirizzi. 28. Sistema secondo la rivendicazione 16, in cui detta macchina a stati di scrittura comprende un decodificatore delle istruzioni. 29. Sistema secondo la rivendicazione 16, in cui detta macchina a stati di scrittura comprende un aggancio di dati interno. zione per sospendere detta almeno un'istruzione di leggere dati in detta memoria di sola lettura. 36. Procedimento secondo la rivendicazione 31, comprendente inoltre il caricare almeno una istruzione di scrittura per scrivere dati ad almeno una cella di detta matrice di celle di memoria in detta memoria di sola lettura. 37. Procedimento secondo la rivendicazione 36, comprendente inoltre il caricare almeno un'istruzione per sospendere detta almeno una istruzione per scrivere dati in detta memoria di sola lettura. 38. Procedimento secondo la rivendicazione 31, comprendente inoltre il caricare almeno un'istruzione di scrittura per cancellare dati da detta matrice di celle di memoria in detta memoria di sola lettura. 39. Procedimento secondo la rivendicazione 31, comprendente inoltre il caricare almeno un'istruzione di scrittura per programmare almeno una cella di detta matrice di celle di memoria in detta memoria di sola
IT2001MI000342A 2001-02-20 2001-02-20 Sistema di memoria non volatile per memorizzare valori di dati ITMI20010342A1 (it)

Priority Applications (3)

Application Number Priority Date Filing Date Title
IT2001MI000342A ITMI20010342A1 (it) 2001-02-20 2001-02-20 Sistema di memoria non volatile per memorizzare valori di dati
US09/803,047 US6618291B2 (en) 2001-02-20 2001-03-12 Write state machine architecture for flash memory internal instructions
PCT/US2002/002757 WO2002067268A1 (en) 2001-02-20 2002-02-01 Write state machine architecture for flash memory internal instructions

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
IT2001MI000342A ITMI20010342A1 (it) 2001-02-20 2001-02-20 Sistema di memoria non volatile per memorizzare valori di dati

Publications (1)

Publication Number Publication Date
ITMI20010342A1 true ITMI20010342A1 (it) 2002-08-20

Family

ID=11446943

Family Applications (1)

Application Number Title Priority Date Filing Date
IT2001MI000342A ITMI20010342A1 (it) 2001-02-20 2001-02-20 Sistema di memoria non volatile per memorizzare valori di dati

Country Status (2)

Country Link
US (1) US6618291B2 (it)
IT (1) ITMI20010342A1 (it)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004348808A (ja) * 2003-05-20 2004-12-09 Sharp Corp 半導体記憶装置、携帯電子機器、イレース動作を制御する方法及びプログラム動作を制御する方法
US8060718B2 (en) * 2006-06-20 2011-11-15 International Business Machines Updating a memory to maintain even wear
KR102187637B1 (ko) * 2014-02-03 2020-12-07 삼성전자주식회사 불휘발성 메모리 장치를 포함하는 메모리 시스템 및 그것의 소거 방법
US9769133B2 (en) 2014-11-21 2017-09-19 Mcafee, Inc. Protecting user identity and personal information by sharing a secret between personal IoT devices
US11061578B2 (en) * 2019-08-05 2021-07-13 Micron Technology, Inc. Monitoring flash memory erase progress using erase credits

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4718037A (en) 1985-12-12 1988-01-05 Texas Instrumens Incorporated Microcomputer containing EPROM with self-program capability
US5355464A (en) 1991-02-11 1994-10-11 Intel Corporation Circuitry and method for suspending the automated erasure of a non-volatile semiconductor memory
US5621687A (en) * 1995-05-31 1997-04-15 Intel Corporation Programmable erasure and programming time for a flash memory
US5805501A (en) 1996-05-22 1998-09-08 Macronix International Co., Ltd. Flash memory device with multiple checkpoint erase suspend logic
US5940861A (en) 1996-09-20 1999-08-17 Intel Corporation Method and apparatus for preempting operations in a nonvolatile memory in order to read code from the nonvolatile memory
US6148360A (en) * 1996-09-20 2000-11-14 Intel Corporation Nonvolatile writeable memory with program suspend command
US6201739B1 (en) * 1996-09-20 2001-03-13 Intel Corporation Nonvolatile writeable memory with preemption pin
JPH10326493A (ja) 1997-05-23 1998-12-08 Ricoh Co Ltd 複合化フラッシュメモリ装置
US6081870A (en) 1997-11-06 2000-06-27 Micron Technology, Inc. Method and apparatus to achieve fast suspend in flash memories
US6026016A (en) * 1998-05-11 2000-02-15 Intel Corporation Methods and apparatus for hardware block locking in a nonvolatile memory
WO2000030116A1 (en) * 1998-11-17 2000-05-25 Lexar Media, Inc. Method and apparatus for memory control circuit

Also Published As

Publication number Publication date
US6618291B2 (en) 2003-09-09
US20020114182A1 (en) 2002-08-22

Similar Documents

Publication Publication Date Title
KR100549910B1 (ko) 플래시 메모리 디바이스, 플래시 메모리 명령어 추상화방법 및 컴퓨터 프로그램 제품
JP3408552B2 (ja) 不揮発性半導体メモリをプログラム及び消去する回路とその方法
US6930925B2 (en) Suspend-resume programming method for flash memory
US5355464A (en) Circuitry and method for suspending the automated erasure of a non-volatile semiconductor memory
KR100381957B1 (ko) 비휘발성 반도체 메모리 장치 및 그것의 데이터 입/출력제어 방법
US5621687A (en) Programmable erasure and programming time for a flash memory
US20080040580A1 (en) Microcontroller based flash memory digital controller system
US20150331792A1 (en) Memory devices with register banks storing actuators that cause operations to be performed on a memory core
TWI498897B (zh) 非揮發性記憶體的保持方法與裝置
CN104134459A (zh) 带有可变验证操作的非易失性存储器(nvm)
JPH0628877A (ja) コマンド・ステイト・マシン
ITRM20060139A1 (it) Sistema ad unita di controllo distribuito di dispositivo di memoria
US20050195655A1 (en) Write state machine architecture for flash memory internal instructions
KR100299542B1 (ko) 불휘발성메모리를사용한마이크로컴퓨터
ITMI20010342A1 (it) Sistema di memoria non volatile per memorizzare valori di dati
US10642601B2 (en) Apparatus and methods for in-application programming of flash-based programmable logic devices
US7769943B2 (en) Flexible, low cost apparatus and method to introduce and check algorithm modifications in a non-volatile memory
US20120173762A1 (en) Method for input output expansion in an embedded system utilizing controlled transitions of first and second signals
WO2002067268A1 (en) Write state machine architecture for flash memory internal instructions
CN1983184A (zh) 处理装置、存储卡装置及操作和制造处理装置的方法
JP3710931B2 (ja) マイクロコンピュータ
JP4662019B2 (ja) 集積回路装置及び電子機器
RU2037874C1 (ru) Устройство управления памятью
KR20050055215A (ko) 낸드 플래시 메모리 장치
JP2002298590A (ja) 不揮発性半導体記憶装置及び不揮発性半導体記憶装置の消去方法