ITMI20071601A1 - Metodo di scrittura di dati in un'unita di memoria non volatile. - Google Patents
Metodo di scrittura di dati in un'unita di memoria non volatile. Download PDFInfo
- Publication number
- ITMI20071601A1 ITMI20071601A1 IT001601A ITMI20071601A ITMI20071601A1 IT MI20071601 A1 ITMI20071601 A1 IT MI20071601A1 IT 001601 A IT001601 A IT 001601A IT MI20071601 A ITMI20071601 A IT MI20071601A IT MI20071601 A1 ITMI20071601 A1 IT MI20071601A1
- Authority
- IT
- Italy
- Prior art keywords
- memory
- word
- stored
- value
- mwl
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims description 47
- 230000000295 complement effect Effects 0.000 claims description 35
- 238000012217 deletion Methods 0.000 claims description 11
- 230000037430 deletion Effects 0.000 claims description 11
- 239000013641 positive control Substances 0.000 claims description 3
- 239000013642 negative control Substances 0.000 claims description 2
- DTAFLBZLAZYRDX-UHFFFAOYSA-N OOOOOO Chemical compound OOOOOO DTAFLBZLAZYRDX-UHFFFAOYSA-N 0.000 description 2
- 238000010586 diagram Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
Landscapes
- Read Only Memory (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Description
TITOLO
Metodo di scrittura di dati in un’unità di memoria non volatile.
Domanda di brevetto per invenzione industriale dal titolo:
"Metodo di scrittura di dati in un'unità di memoria non volatile"
Ambito tecnico
La presente invenzione riguarda un metodo di scrittura di dati in un’unità di memoria non volatile comprendente pagine di memoria, ciascuna pagina comprendendo un numero predeterminato di celle di memoria, ciascuna cella di memoria memorizzando una parola di memoria, la parola di memoria comprendendo una sequenza predeterminata di valori digitali indicati anche con valore e valore complementare, il metodo prevedendo un’operazione di cancellazione per cancellare tutte le parole di memoria nella pagina di memoria, impostando la sequenza predeterminata di valori digitali ad una sequenza di valori complementari, ed un’operazione di programmazione per memorizzare nella cella di memoria una parola da memorizzare, impostando una sequenza di valori digitali della parola nella cella di memoria.
Arte nota
Come è ben noto, un metodo di scrittura di dati in un’unità di memoria non volatile prevede un’operazione di cancellazione per cancellare i dati precedentemente memorizzati nell’unità di memoria ed un’operazione di programmazione per memorizzare i dati nell’unità di memoria.
Più in particolare, l’unità di memoria comprende pagine di memoria, ciascuna pagina comprendendo un numero predeterminato di celle di memoria, ciascuna cella di memoria memorizzando una parola di memoria.
La parola di memoria comprende una sequenza predeterminata di valori digitali anche indicati con valore e valore complementare, ad esempio la sequenza 01110010. Semplicemente per chiarezza, nella descrizione seguente, il valore complementare è associato al numero 0 ed il valore è associato al numero 1 .
Più in particolare, l’operazione di cancellazione prevede di cancellare tutte le parole di memoria memorizzate nelle celle di memoria di una pagina di memoria predeterminata, impostando la sequenza predeterminata di valori digitali ad una sequenza di valori complementari 0, mentre l’operazione di programmazione prevede di memorizzare nella cella di memoria una parola da memorizzare, impostando una sequenza di valori digitali di tale parola nella cella di memoria.
Più in particolare, l’operazione di cancellazione viene eseguita prima di una operazione di programmazione per impostare tutti i valori 1 nella sequenza predeterminata al valore complementare 0, poiché l’operazione di programmazione non può trasformare un valore 1 in un valore complementare 0.
Ad esempio, l’operazione di programmazione non può memorizzare una parola 00010101 in una cella di memoria che memorizza la parola di memoria 01010101, poiché il secondo valore 1 della parola di memoria 01010101 non può essere soprascritta dal secondo valore complementare 0 della parola 00010101 senza un'operazione di cancellazione.
Quindi un’operazione di cancellazione viene eseguita prima dell’operazione di programmazione, per cancellare la sequenza predeterminata 01010101 in una sequenza di valori complementari 00000000, dopo di che viene eseguita l’operazione di programmazione.
Un problema noto di tali metodi di scrittura è che un vincolo fisico dell’unità di memoria limita il numero di operazioni di cancellazione e programmazione che possono essere eseguite per scrivere i dati.
Tale metodo sollecita considerevolmente l’unità di memoria poiché ciascuna scrittura comporta almeno un’operazione di cancellazione ed un’operazione di programmazione. Inoltre il numero di operazioni di cancellazione e di operazioni di programmazione aumenta considerevolmente quando è richiesta la protezione sulla consistenza dei dati, ad esempio la protezione contro il power off.
La protezione contro il power off è richiesta per conservare i dati memorizzati nell’unità di memoria durante l’esecuzione delle scritture. Più in particolare, i dati memorizzati nell’unità di memoria prima dell’esecuzione della scrittura sono conservati in una porzione specifica dell’unità di memoria, anche indicata con buffer di backup.
Se si verifica un power off imprevisto durante l’esecuzione del metodo, i dati memorizzati nel buffer di backup vengono ripristinati nell’unità di memoria, in modo tale da prevenire un valore incoerente di dati nell’unità di memoria.
Sebbene vantaggiosa, poiché sicura, la protezione contro il power off aumenta il numero di esecuzioni del metodo di scrittura poiché comporta un’operazione supplementare di cancellazione ed un’operazione supplementare di programmazione rispettivamente per cancellare il buffer di backup per cancellare i dati precedentemente memorizzati e per programmarlo per memorizzare i dati dell’unità di memoria destinati ad essere aggiornati.
Inoltre, se si verifica un power off durante l’esecuzione del metodo, il numero di operazioni di scrittura aumenta ulteriormente.
Infatti, poiché l’unità di memoria deve essere ripristinata con i valori del buffer di backup, sono richieste un’altra operazione di cancellazione ed un’altra operazione di programmazione rispettivamente per cancellare l’unità di memoria, per cancellare i dati in stato incoerente, e per programmarla, ripristinando i dati dal buffer di backup.
Il problema tecnico alla base della presente invenzione è fornire un metodo di scrittura di un’unità di memoria non volatile che riduce il numero di operazioni di cancellazione sulle pagine di memoria ed il numero di operazioni di programmazione sulle celle di memoria, non solo quando tali dati devono essere scritti con la protezione sulla consistenza dei dati, ma anche quanto tale protezione non è richiesta, per evitare un’inutile sollecitazione sull’unità di memoria e per estendere la durata di vita dell’unità di memoria.
Sommario dell’invenzione
L’idea di soluzione alla base della presente invenzione è prevedere un metodo di scrittura di dati in una memoria non volatile che impedisca un’esecuzione di un’operazione di cancellazione se i valori 0 di ima sequenza di valori digitali destinati ad essere memorizzati nell’unità di memoria corrispondono ai valori 0 di ima predeterminata sequenza di valori digitali già memorizzati nell’unità di memoria. Inoltre l’idea di soluzione è anche quella di impedire un’operazione di programmazione quando la parola destinata ad essere memorizzata nella cella di memoria è già memorizzata nell’unità di memoria, poiché tale parola non è stata cancellata.
Secondo tale idea di soluzione, la presente invenzione prevede un metodo di scrittura di dati in un’unità di memoria non volatile comprendente pagine di memoria, ciascuna pagine comprendendo un numero predeterminato di celle di memoria, ciascuna cella di memoria memorizzando una parola di memoria, la parola di memoria comprendendo una sequenza predeterminata di valori digitali indicati anche con valore e valore complementare, il metodo prevedendo:
un’operazione di cancellazione per cancellare tutte le parole di memoria nella pagina di memoria, impostando la sequenza predeterminata ad una sequenza di valori complementari,
un’operazione di programmazione per memorizzare una parola da memorizzare nella cella di memoria, impostando una sequenza di valori digitali della parola da memorizzare nella cella di memoria,
caratterizzato dal fatto di comprendere le fasi di:
per ciascuna cella di memoria della pagina di memoria, confronto della parola di memoria memorizzata con la parola da memorizzare e restituzione di un controllo positivo se i valori complementari della sequenza corrispondono ai valori complementari della sequenza predeterminata;
se il controllo è negativo, esecuzione dell’operazione di cancellazione;
per ciascuna cella di memoria, confronto della parola di memoria memorizzata con la parola da memorizzare ed esecuzione deH’operazione di programmazione solo se la parola da memorizzare è diversa dalla parola di memoria memorizzata;
ripetizione delle fasi per ciascuna pagina di memoria in cui devono essere memorizzati i dati.
Secondo l’invenzione, se il controllo è negativo l’operazione di cancellazione viene saltata.
Altre caratteristiche e vantaggi del metodo secondo la presente invenzione risulteranno dalla descrizione seguente di un suo esempio di realizzazione, dato a titolo di esempio non limitativo con riferimento alle figure allegate.
Breve descrizione delle figure
La figura 1 mostra schematicamente i dati predeterminati memorizzati in un’unità di memoria, prima dell’esecuzione di un metodo di scrittura di dati secondo la presente invenzione.
La figura 2 mostra schematicamente i dati da memorizzare nell’unità di memoria della figura 1, secondo il metodo della presente invenzione.
La figura 3 mostra schematicamente, in un diagramma a blocchi, le fasi di esecuzione del metodo secondo la presente invenzione.
Descrizione dettagliata
Con riferimento alle figure allegate, viene schematicamente rappresentata con il riferimento numerico 1 un’unità di memoria non volatile comprendente una pluralità di pagine di memoria, ciascuna pagina di memoria mp comprendendo un numero predeterminato di celle di memoria.
Più in particolare, una cella di memoria me memorizza una parola di memoria mw comprendente una sequenza predeterminata, indicata nel seguito con pre, di valori digitali, anche indicati con valori e valori complementari.
Senza limitare l’ambito di protezione della presente invenzione e solo per motivi di chiarezza, il valore complementare è anche indicato con livello logico 0 o valore complementare 0, mentre il valore è anche indicato con livello logico 1 o valore 1 .
Il metodo prevede un’operazione di cancellazione per cancellare tutte le parole di memoria mw memorizzate nelle celle di memoria me della pagina di memoria mp. Più in particolare, l’operazione dì cancellazione prevede l’impostazione della sequenza predeterminata di valori digitali ad una sequenza di valori complementari 0.
Il metodo prevede anche un’operazione di programmazione per memorizzare una parola mwl destinata ad essere memorizzata nella cella di memoria dell’unità di memoria 1. Più in particolare, l’operazione di programmazione prevede l’impostazione di una sequenza, indicata nel seguito con post, di valori digitali della parola da memorizzare mwl nella cella di memoria me.
Secondo il metodo della presente invenzione, per ciascuna cella di memoria me della pagina di memoria mp, viene eseguita una fase di controllo di pagina per confrontare la parola di memoria mw memorizzata con la parola mwl destinata ad essere memorizzata nell’unità di memoria 1.
La fase di controllo di pagina restituisce un controllo positivo, anche indicato con valore positivo, se i valori complementari 0 nella sequenza post di valori digitali corrispondono a valori complementari 0 nella sequenza predeterminata pre di valori digitali; in altre parola la fase di controllo di pagina confronta bit per bit la parola di memoria mw con la parola mwl e restituisce un valore negativo se un bit della parola mwl è 0 mentre il bit corrispondente della parola di memoria mw è 1.
Se il valore restituito dalla fase di controllo di pagina è negativo, il metodo prevede l’esecuzione di un’operazione di cancellazione sulla pagine di memoria mp.
Al contrario, se il valore restituito dalla fase di controllo di pagina è positivo, il metodo secondo la presente invenzione salta la fase di cancellazione. Vantaggiosamente, il metodo evita di sollecitare l’unità di memoria 1 saltando tutte le operazioni di cancellazione inutili sulle pagine di memoria nelle quali i valori complementari 0 destinati ad essere memorizzati sono già impostati a tali valori complementari 0 nelle pagine di memoria.
La fase di controllo di cella viene eseguita per ciascuna cella di memoria me per confrontare la parola di memoria mw memorizzata con la parola mwl da memorizzare, restituendo un valore positivo se la parola di memoria mw è uguale alla parola mwl.
Più in particolare, se la fase di controllo di cella restituisce un valore positivo il metodo deirinvenzione salta l’operazione di programmazione poiché la parola mwl è sostanzialmente già memorizzata nella cella di memoria me, poiché uguale alla parola di memoria mw.
Vantaggiosamente, il metodo evita di sollecitare l’unità di memoria 1 saltando tutte le operazioni di programmazione inutili sulle celle di memoria nelle quali la parola di memoria mw è uguale alla parola mwl destinata ad essere scritta.
Al contrario, se il valore restituito dalla fase di controllo di cella è negativo, il metodo prevede l’esecuzione dell’operazione di programmazione per memorizzare la parola destinata ad essere memorizzata mwl nella cella di memoria me.
La fase di controllo di pagine, la fase di controllo di cella ed eventualmente le operazioni di cancellazione e programmazione vengono ripetute per ciascuna pagina di memoria mp in cui devono essere memorizzati i dati.
Più in particolare, se il controllo è negativo e l’operazione di cancellazione è già stata eseguita su una pagina di memoria mp, la parola mwl destinata ad essere memorizzata viene confrontata con una cella di memoria cancellata 00000000 in modo tale da saltare l’operazione di programmazione se anche la parola mwl da memorizzare è 00000000.
Nell’esempio precedentemente fornito si ritiene che il valore complementare sia il numero 0, o un valore di livello basso, e si ritiene che il valore 1 sia il numero 1, o un valore di livello alto.
Tuttavia, il valore complementare può essere associato al numero 0 o ad un valore di livello alto, ed il valore 1 può essere associato al numero 0, o ad un valore di livello basso.
Inoltre l’operazione di cancellazione può essere implementata per cancellare la pagina di memoria mp impostando tutte le sue celle di memoria me alle sequenze 00000000 o alle sequenze 11111111.
Il controllo negativo viene restituito immediatamente quando viene rilevata una prima non corrispondenza tra i valori complementari (0) della sequenza post ed i valori complementari (0) della sequenza predeterminata (pre).
In questo modo il controllo di una pagina di memoria mp viene sospeso non appena possibile e se necessario viene immediatamente cancellato.
Con riferimento alla figura 1, la pagina di memoria mp indicata con pagina 1 comprende quattro celle di memoria me, ciascuna memorizzando una parola di memoria mw di 8 bit. Più in particolare, le quattro parole di memoria mw comprendono quattro corrispondenti sequenze predeterminate pre di valori digitali, rispettivamente 0000000 1 , 0000000 1 , 0000000 1 , 0000000 1.
Con riferimento alla figura 2, viene schematicamente rappresentato un dato da scrivere neirunità di memoria 1. Tale dato comprende quattro parole di memoria mwl a 8 bit. Più in particolare, le quattro parole di memoria mwl comprendono quattro corrispondenti sequenze post di valori digitali, rispettivamente 00000000, 00000001, 00000001, 00000001. Tali quattro parole di memoria mwl sono destinate ad essere memorizzate nella pagina 1 della figura 1, all’interno dell’unità di memoria 1.
In questo caso, il metodo secondo la presente invenzione esegue un’operazione di cancellazione sulla pagina di memoria 1 poiché la fase di controllo di pagina restituisce un valore negativo. Infatti la prima parola mwl 00000000 destinata ad essere memorizzata comprende la sequenza 00000000 mentre l’ultimo valore digitale della prima parola di memoria mw 00000001 già memorizzata nell’unità di memoria comprende un valore digitale 1.
Dopo l’operazione di cancellazione, una fase di controllo di cella viene eseguita per ciascuna cella di memoria. Più in particolare,, la fase di controllo di cella restituisce un valore positivo per la prima parola mwl da scrivere poiché comprende i valori digitali 00000000, corrispondenti al contenuto della cella di memoria me appena cancellata. La fase di controllo di cella restituisce un valore negativo per tutte le altre parole mwl da scrivere 00000001, 00000001, 00000001 poiché la cella di memoria corrispondente me memorizza le parole di memoria mw 00000000, 00000000, 00000000, appena cancellate.
La pagina di memoria mp indicata con pagina 2 nella figura 1 comprende quattro celle di memoria me, che memorizzano quattro parole di memoria mw, rispettivamente 00000001, 00000000, 00000001, 00000001.
Con riferimento alla figura 2, i dati da scrivere nella pagina 2 comprendono quattro parole di memoria mwl, rispettivamente 00000000, 00000001, 00000000, 00000000.
Anche in questo caso, la fase di controllo di pagina restituisce un valore negativo per la pagina 2. Infatti la prima parola mwl 00000000 della prima parola mw da memorizzare comprende i valori digitali 00000000 mentre l’ultimo valore digitale della prima parola di memoria mw 00000001 già memorizzata nella memoria comprende un valore digitale 1 .
Dopo l’operazione di cancellazione sulla pagina di memoria 2, viene eseguita una fase di controllo di cella per ciascuna cella di memoria. Più in particolare, la fase di controllo di cella restituisce un valore positivo per la prima, la terza e la quarta parola mwl da scrivere mentre restituisce un valore negativo per la seconda parola mwl, poiché la cella di memoria me appena cancellata comprende valori digitali 00000000 mentre la parola mwl da memorizzare è 00000001.
La pagina di memoria mp indicata con pagina 3 nella figura 1 comprende quattro celle di memoria me, che memorizzano quattro parole di memoria mw, rispettivamente 00000000, 00000001, 00000001, 00000001.
Ancora con riferimento alla figura 2, I dati da scrivere nella pagina 3 comprendono quattro parole di memoria mwl, rispettivamente 11111111, 00000011, 00000011, 00000011.
In questo caso, il metodo secondo la presente invenzione salta l’operazione di cancellazione poiché la fase di controllo di pagina restituisce un valore positivo. Infatti tutti i valori digitali 0 di tutte le parole mwl 11111111, 00000011, 00000011, 00000011 destinate ad essere memorizzate sono già valori digitali 0 nelle parole di memoria mw già memorizzate nella pagina 3.
Dopo la fase di controllo di pagina, il metodo prevede l’esecuzione di una fase di controllo di cella per tutte le celle di memoria. Più in particolare, la fase di controllo di cella restituisce un valore negativo per tutte le celle di memoria poiché tutte le parole mwl 11111111, 000000 11 , OOOOOO 11 , OOOOOO 11 destinate ad essere memorizzate sono diverse dalle parole di memoria mwl già memorizzate, 00000000, 00000001, 00000001, 00000001.
Quindi, il metodo prevede l’esecuzione delle operazioni di programmazione per memorizzare le parole mwl 11111111, 0000001 1 , 00000011, 00000011 nelle rispettive celle di memoria me della pagina 3 dell’unità di memoria 1.
La pagina di memoria mp indicata con pagina 4 nella figura 1 comprende quattro celle di memoria me, che memorizzano quattro parole di memoria mw, rispettivamente 000000 11 , 000000 1 1 , 01010101, 01111110, mentre i dati da scrivere in tale pagina 4 comprendono quattro parole di memoria mwl, rispettivamente 00000011, 00000011, ìiiinoi, minio.
Anche in questo caso, il metodo secondo la presente invenzione salta l’operazione di cancellazione poiché la fase di controllo di pagina restituisce un valore positivo; infatti tutti i valori digitali 0 di tutte le parole mwl 00000011, 00000011, 11111101, 11111110 destinate ad essere memorizzate sono già valori digitali 0 nelle parole di memoria mw già memorizzate nella pagina 4.
Dopo la fase di controllo di pagina, il metodo esegue una fase di controllo di cella che restituisce un valore negativo per le celle di memoria 3 e 4, poiché le parole mwl 11111101 e 11111110 sono diverse dalle parole di memoria 01010101 e 01111110, ed un valore positivo per le celle di memoria 1 e 2, poiché le parole mwl 00000011 e 00000011 sono uguali alle parole di memoria mw 00000011 e 00000011.
Quindi il metodo prevede l’esecuzione delle operazioni di programmazione solo per memorizzare la terza e quarta parola mwl, 11111101 e 11111110, nelle celle di memoria corrispondenti.
Infine la pagina di memoria mp indicata con pagina 5 nella figura 1 comprende quattro celle di memoria me, che memorizzano quattro parole di memoria mw, rispettivamente 00000001, 00000001, 00000001, 00000001, ed i dati da scrivere in tale pagina 5 comprendono quattro parole di memoria mwl, 00000001, 00000001, 00000001, 00000001, sostanzialmente corrispondenti alle parole di memoria mw già memorizzate.
In questo caso, secondo il metodo dell’invenzione vengono saltate sia l’operazione di cancellazione sulla pagina di memoria 5 sia tutte le operazioni di programmazione sulle celle di memoria me di questa pagina 5.
Vantaggiosamente, il numero di operazioni di cancellazione saltate secondo il metodo dell’invenzione è maggiore in caso di protezione sulla consistenza dei dati.
Più in particolare, si possono saltare fino a 3 operazioni di cancellazione inutili:
se non è richiesta la protezione contro sulla consistenza dei dati, si salta una sola operazione di cancellazione sulla pagina di memoria mp, quando la fase di controllo di pagina restituisce un valore positivo;
se è richiesta la protezione sulla consistenza dei dati e non si verifica nessun power off imprevisto, si saltano due operazioni di cancellazione quando la fase di controllo di pagina restituisce un valore positivo: una prima operazione di cancellazione per cancellare il buffer di backup ed una seconda operazione di cancellazione per cancellare la pagina di memoria mp dell’unità di memoria mp 1 ;
se è richiesta la protezione sulla consistenza dei dati e si verifica un power off imprevisto, si saltano tre operazioni di cancellazione quando la fase di controllo di pagina restituisce un valore positivo: una prima operazione di cancellazione per cancellare il buffer di backup, una seconda operazione di cancellazione per cancellare la pagina di memoria mp prima del power off, una terza operazione di cancellazione per cancellare la memoria dopo il power off.
Vantaggiosamente, anche il numero di operazioni di programmazione saltate secondo il metodo dell’invenzione è maggiore in caso di protezione sulla consistenza dei dati.
Più in particolare, si possono saltare fino a 3 operazioni di programmazione inutili:
se non è richiesta la protezione sulla consistenza dei dati, si salta una sola operazione di programmazione quando la fase di controllo di cella restituisce un valore positivo;
se è richiesta la protezione sulla consistenza dei dati e non si verifica nessun power off imprevisto, si saltano due operazioni di programmazione quando la fase di controllo di cella restituisce un valore positivo: una prima operazione di programmazione per memorizzare una parola di memoria mw da conservare in un buffer di backup cancellato ed una seconda operazione di programmazione per memorizzare la parola mwl destinata ad essere memorizzata nella cella di memoria me della pagina di memoria cancellata;
se è richiesta la protezione sulla consistenza dei dati e si verifica un power off imprevisto, si saltano tre operazioni di programmazione quando la fase di controllo di cella restituisce un valore positivo: una prima operazione di programmazione per memorizzare una parola di memoria mw da conservare in un buffer di backup cancellato, una seconda operazione di programmazione per memorizzare la parola mwl destinata ad essere memorizzata nella cella di memoria me della pagina di memoria cancellata prima del power off, ed una terza operazione di programmazione per ripristinare la parola di memoria me nella cella di memoria me dopo il power off;
Vantaggiosamente, il metodo di scrittura di un’unità di memoria non volatile secondo la presente invenzione riduce il numero di operazioni di cancellazione sulle pagine di memoria ed il numero di operazioni di programmazione sulle celle di memoria.
Vantaggiosamente, il numero di operazioni di cancellazione e di operazioni di programmazione è molto più ridotto quando i dati devono essere scritti con protezione sulla consistenza, specialmente quando eventi imprevisti quali il power off si verificano durante l’esecuzione del’operazione di scrittura.
Vantaggiosamente il metodo evita un’inutile sollecitazione sull’unità di memoria e prevede l’utilizzo di una stessa unità di memoria il più a lungo possibile.
Claims (6)
- RIVENDICAZIONI 1. Metodo di scrittura di dati in un’unità di memoria non volatile comprendente pagine di memoria, ciascuna pagina (mp) compmdendo un numero predeterminato di celle di memoria, ciascuna cella di memoria (me) memorizzando una parola di memoria (mw), detta parola di memoria (mw) comprendendo una sequenza predeterminata (pre) di valori digitali anche indicati con valore (1) e valore complementare (0), il metodo prevedendo: - un’operazione di cancellazione per cancellare tutte le parole di memoria (mw) nella pagina di memoria (mp), impostando la sequenza predeterminata (pre) ad una sequenza di detti valori complementari (0), - un’operazione di programmazione per memorizzare nella cella di memoria (me) una parola (mwl) da memorizzare, impostando una sequenza (post) di valori digitali di detta parola da memorizzare (mwl) nella cella di memoria (me), caratterizzato dal fatto di comprendere le fasi di: - per ciascuna cella di memoria (me) della pagina di memoria (mp), confronto della parola di memoria (mw) memorizzata con la parola (mwl) da memorizzare e restituzione di un controllo positivo se i valori complementari (0) di detta sequenza (post) corrispondono ai valori complementari (0) di detta sequenza predeterminata (pre); - se detto controllo è negativo, esecuzione di detta operazione di cancellazione; - per ciascuna cella di memoria (me), confronto della parola di memoria (mw) memorizzata con la parola (mwl) da memorizzare ed esecuzione di detta operazione di programmazione solo se detta parola (mwl) da memorizzare è diversa dalla parola di memoria memorizzata (mw); ripetizione delle fasi per ciascuna pagina dì memoria (mp) in cui devono essere scritti detti dati.
- 2. Metodo secondo la rivendicazione 1, caratterizzato dal fatto che, se detto controllo è negativo e detta operazione di cancellazione è stata eseguita, la parola (mwl) da memorizzare viene confrontata con la sequenza di detti valori complementari (0), detta operazione di programmazione essendo eseguita solo se detta parola (mwl) da memorizzare è diversa da detta sequenza di valori complementari (0) .
- 3. Metodo secondo la rivendicazione 1, caratterizzato dal fatto che detto valore complementare (0) è un valore di livello basso e detto valore (1) è un valore di livello alto.
- 4. Metodo secondo la rivendicazione 1, caratterizzato dal fatto che detto valore complementare (0) è un valore di livello alto e detto valore (1) è un valore di livello basso.
- 5. Metodo secondo la rivendicazione 1, caratterizzato dal fatto di restituire immediatamente il controllo negativo quando viene rilevata una prima non corrispondenza tra i valori complementari (0) di detta sequenza (post) ed i valori complementari (0) di detta sequenza predeterminata (pre), sospendendo un controllo di tutte le altre celle di memoria (me) di detta pagina di memoria (mp) .
- 6. Metodo secondo la rivendicazione 1, caratterizzato dal fatto che dette parole di memoria comprendono otto valori digitali.
Priority Applications (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| IT001601A ITMI20071601A1 (it) | 2007-08-02 | 2007-08-02 | Metodo di scrittura di dati in un'unita di memoria non volatile. |
| EP08013731.8A EP2051260B8 (en) | 2007-08-02 | 2008-07-31 | Method for writing data in a non volatile memory unit |
| US12/184,643 US7639537B2 (en) | 2007-08-02 | 2008-08-01 | Method for writing data in a non volatile memory unit |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| IT001601A ITMI20071601A1 (it) | 2007-08-02 | 2007-08-02 | Metodo di scrittura di dati in un'unita di memoria non volatile. |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| ITMI20071601A1 true ITMI20071601A1 (it) | 2009-02-03 |
Family
ID=40299754
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| IT001601A ITMI20071601A1 (it) | 2007-08-02 | 2007-08-02 | Metodo di scrittura di dati in un'unita di memoria non volatile. |
Country Status (3)
| Country | Link |
|---|---|
| US (1) | US7639537B2 (it) |
| EP (1) | EP2051260B8 (it) |
| IT (1) | ITMI20071601A1 (it) |
Families Citing this family (114)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20090159709A1 (en) | 2007-12-24 | 2009-06-25 | Dynamics Inc. | Advanced dynamic credit cards |
| US8579203B1 (en) | 2008-12-19 | 2013-11-12 | Dynamics Inc. | Electronic magnetic recorded media emulators in magnetic card devices |
| US8931703B1 (en) | 2009-03-16 | 2015-01-13 | Dynamics Inc. | Payment cards and devices for displaying barcodes |
| US8066191B1 (en) | 2009-04-06 | 2011-11-29 | Dynamics Inc. | Cards and assemblies with user interfaces |
| US8622309B1 (en) | 2009-04-06 | 2014-01-07 | Dynamics Inc. | Payment cards and devices with budgets, parental controls, and virtual accounts |
| US9329619B1 (en) | 2009-04-06 | 2016-05-03 | Dynamics Inc. | Cards with power management |
| US8393545B1 (en) | 2009-06-23 | 2013-03-12 | Dynamics Inc. | Cards deployed with inactivated products for activation |
| US12380307B1 (en) | 2009-06-29 | 2025-08-05 | Jeffrey D. Mullen | Advanced card applications |
| US8511574B1 (en) | 2009-08-17 | 2013-08-20 | Dynamics Inc. | Advanced loyalty applications for powered cards and devices |
| US9306666B1 (en) | 2009-10-08 | 2016-04-05 | Dynamics Inc. | Programming protocols for powered cards and devices |
| US8727219B1 (en) | 2009-10-12 | 2014-05-20 | Dynamics Inc. | Magnetic stripe track signal having multiple communications channels |
| US8523059B1 (en) | 2009-10-20 | 2013-09-03 | Dynamics Inc. | Advanced payment options for powered cards and devices |
| US8393546B1 (en) | 2009-10-25 | 2013-03-12 | Dynamics Inc. | Games, prizes, and entertainment for powered cards and devices |
| US12229792B1 (en) | 2010-01-14 | 2025-02-18 | Dynamics Inc. | Systems and methods for matching online searches to in-store purchases |
| EP2537125B1 (en) | 2010-02-16 | 2022-10-12 | Dynamics Inc. | Systems and methods for drive circuits for dynamic magnetic stripe communications devices |
| US8348172B1 (en) | 2010-03-02 | 2013-01-08 | Dynamics Inc. | Systems and methods for detection mechanisms for magnetic cards and devices |
| US10693263B1 (en) | 2010-03-16 | 2020-06-23 | Dynamics Inc. | Systems and methods for audio connectors for powered cards and devices |
| AU2011255568A1 (en) | 2010-05-18 | 2012-12-06 | Dynamics Inc. | Systems and methods for cards and devices operable to communicate via light pulses and touch sensitive displays |
| USD652449S1 (en) | 2010-07-02 | 2012-01-17 | Dynamics Inc. | Multiple button interactive electronic card |
| USD674013S1 (en) | 2010-07-02 | 2013-01-08 | Dynamics Inc. | Multiple button interactive electronic card with light sources |
| USD652075S1 (en) | 2010-07-02 | 2012-01-10 | Dynamics Inc. | Multiple button interactive electronic card |
| USD672389S1 (en) | 2010-07-02 | 2012-12-11 | Dynamics Inc. | Multiple button interactive electronic card with light sources |
| USD652448S1 (en) | 2010-07-02 | 2012-01-17 | Dynamics Inc. | Multiple button interactive electronic card |
| USD670759S1 (en) | 2010-07-02 | 2012-11-13 | Dynamics Inc. | Multiple button interactive electronic card with light sources |
| USD652867S1 (en) | 2010-07-02 | 2012-01-24 | Dynamics Inc. | Multiple button interactive electronic card |
| USD687094S1 (en) | 2010-07-02 | 2013-07-30 | Dynamics Inc. | Multiple button interactive electronic card with light sources |
| USD652450S1 (en) | 2010-07-09 | 2012-01-17 | Dynamics Inc. | Multiple button interactive electronic card |
| USD665022S1 (en) | 2010-07-09 | 2012-08-07 | Dynamics Inc. | Multiple button interactive electronic card with light source |
| USD652076S1 (en) | 2010-07-09 | 2012-01-10 | Dynamics Inc. | Multiple button interactive electronic card with display |
| USD665447S1 (en) | 2010-07-09 | 2012-08-14 | Dynamics Inc. | Multiple button interactive electronic card with light source and display |
| USD643063S1 (en) | 2010-07-09 | 2011-08-09 | Dynamics Inc. | Interactive electronic card with display |
| USD666241S1 (en) | 2010-07-09 | 2012-08-28 | Dynamics Inc. | Multiple button interactive electronic card with light source |
| USD653288S1 (en) | 2010-07-09 | 2012-01-31 | Dynamics Inc. | Multiple button interactive electronic card |
| USD792513S1 (en) | 2010-07-09 | 2017-07-18 | Dynamics Inc. | Display with font |
| USD651237S1 (en) | 2010-07-09 | 2011-12-27 | Dynamics Inc. | Interactive electronic card with display |
| USD792512S1 (en) | 2010-07-09 | 2017-07-18 | Dynamics Inc. | Display with font |
| USD651644S1 (en) | 2010-07-09 | 2012-01-03 | Dynamics Inc. | Interactive electronic card with display |
| USD651238S1 (en) | 2010-07-09 | 2011-12-27 | Dynamics Inc. | Interactive electronic card with display |
| USD792511S1 (en) | 2010-07-09 | 2017-07-18 | Dynamics Inc. | Display with font |
| US8322623B1 (en) | 2010-07-26 | 2012-12-04 | Dynamics Inc. | Systems and methods for advanced card printing |
| US9818125B2 (en) | 2011-02-16 | 2017-11-14 | Dynamics Inc. | Systems and methods for information exchange mechanisms for powered cards and devices |
| US9053398B1 (en) | 2010-08-12 | 2015-06-09 | Dynamics Inc. | Passive detection mechanisms for magnetic cards and devices |
| US10055614B1 (en) | 2010-08-12 | 2018-08-21 | Dynamics Inc. | Systems and methods for advanced detection mechanisms for magnetic cards and devices |
| US10022884B1 (en) | 2010-10-15 | 2018-07-17 | Dynamics Inc. | Systems and methods for alignment techniques for magnetic cards and devices |
| US8561894B1 (en) | 2010-10-20 | 2013-10-22 | Dynamics Inc. | Powered cards and devices designed, programmed, and deployed from a kiosk |
| US9646240B1 (en) | 2010-11-05 | 2017-05-09 | Dynamics Inc. | Locking features for powered cards and devices |
| US8567679B1 (en) | 2011-01-23 | 2013-10-29 | Dynamics Inc. | Cards and devices with embedded holograms |
| US10095970B1 (en) | 2011-01-31 | 2018-10-09 | Dynamics Inc. | Cards including anti-skimming devices |
| US9836680B1 (en) | 2011-03-03 | 2017-12-05 | Dynamics Inc. | Systems and methods for advanced communication mechanisms for magnetic cards and devices |
| US8485446B1 (en) | 2011-03-28 | 2013-07-16 | Dynamics Inc. | Shielded magnetic stripe for magnetic cards and devices |
| CA2835508A1 (en) | 2011-05-10 | 2012-11-15 | Dynamics Inc. | Systems, devices, and methods for mobile payment acceptance, mobile authorizations, mobile wallets, and contactless communication mechanisms |
| USD670331S1 (en) | 2011-05-12 | 2012-11-06 | Dynamics Inc. | Interactive display card |
| USD670332S1 (en) | 2011-05-12 | 2012-11-06 | Dynamics Inc. | Interactive card |
| USD670330S1 (en) | 2011-05-12 | 2012-11-06 | Dynamics Inc. | Interactive card |
| USD670329S1 (en) | 2011-05-12 | 2012-11-06 | Dynamics Inc. | Interactive display card |
| USD676904S1 (en) | 2011-05-12 | 2013-02-26 | Dynamics Inc. | Interactive display card |
| US8628022B1 (en) | 2011-05-23 | 2014-01-14 | Dynamics Inc. | Systems and methods for sensor mechanisms for magnetic cards and devices |
| US8827153B1 (en) | 2011-07-18 | 2014-09-09 | Dynamics Inc. | Systems and methods for waveform generation for dynamic magnetic stripe communications devices |
| US11551046B1 (en) | 2011-10-19 | 2023-01-10 | Dynamics Inc. | Stacked dynamic magnetic stripe commmunications device for magnetic cards and devices |
| US11409971B1 (en) | 2011-10-23 | 2022-08-09 | Dynamics Inc. | Programming and test modes for powered cards and devices |
| US8960545B1 (en) | 2011-11-21 | 2015-02-24 | Dynamics Inc. | Data modification for magnetic cards and devices |
| US9619741B1 (en) | 2011-11-21 | 2017-04-11 | Dynamics Inc. | Systems and methods for synchronization mechanisms for magnetic cards and devices |
| US9064194B1 (en) | 2012-02-03 | 2015-06-23 | Dynamics Inc. | Systems and methods for spike suppression for dynamic magnetic stripe communications devices |
| US9710745B1 (en) | 2012-02-09 | 2017-07-18 | Dynamics Inc. | Systems and methods for automated assembly of dynamic magnetic stripe communications devices |
| US8888009B1 (en) | 2012-02-14 | 2014-11-18 | Dynamics Inc. | Systems and methods for extended stripe mechanisms for magnetic cards and devices |
| US9916992B2 (en) | 2012-02-20 | 2018-03-13 | Dynamics Inc. | Systems and methods for flexible components for powered cards and devices |
| US9734669B1 (en) | 2012-04-02 | 2017-08-15 | Dynamics Inc. | Cards, devices, systems, and methods for advanced payment game of skill and game of chance functionality |
| US11961147B1 (en) | 2012-04-15 | 2024-04-16 | K. Shane Cupp | Cards, devices, systems, and methods for financial management services |
| US11418483B1 (en) | 2012-04-19 | 2022-08-16 | Dynamics Inc. | Cards, devices, systems, and methods for zone-based network management |
| US9033218B1 (en) | 2012-05-15 | 2015-05-19 | Dynamics Inc. | Cards, devices, systems, methods and dynamic security codes |
| US9064195B2 (en) | 2012-06-29 | 2015-06-23 | Dynamics Inc. | Multiple layer card circuit boards |
| USD687487S1 (en) | 2012-08-27 | 2013-08-06 | Dynamics Inc. | Interactive electronic card with display and button |
| US12373820B1 (en) | 2012-08-27 | 2025-07-29 | Dynamics Inc. | Cards, devices, systems, and methods for a featured application management system |
| USD688744S1 (en) | 2012-08-27 | 2013-08-27 | Dynamics Inc. | Interactive electronic card with display and button |
| USD695636S1 (en) | 2012-08-27 | 2013-12-17 | Dynamics Inc. | Interactive electronic card with display and buttons |
| USD675256S1 (en) | 2012-08-27 | 2013-01-29 | Dynamics Inc. | Interactive electronic card with display and button |
| USD673606S1 (en) | 2012-08-27 | 2013-01-01 | Dynamics Inc. | Interactive electronic card with display and buttons |
| USD687488S1 (en) | 2012-08-27 | 2013-08-06 | Dynamics Inc. | Interactive electronic card with buttons |
| USD694322S1 (en) | 2012-08-27 | 2013-11-26 | Dynamics Inc. | Interactive electronic card with display buttons |
| USD729869S1 (en) | 2012-08-27 | 2015-05-19 | Dynamics Inc. | Interactive electronic card with display and button |
| USD687490S1 (en) | 2012-08-27 | 2013-08-06 | Dynamics Inc. | Interactive electronic card with display and button |
| USD730438S1 (en) | 2012-08-27 | 2015-05-26 | Dynamics Inc. | Interactive electronic card with display and button |
| USD828870S1 (en) | 2012-08-27 | 2018-09-18 | Dynamics Inc. | Display card |
| USD729871S1 (en) | 2012-08-27 | 2015-05-19 | Dynamics Inc. | Interactive electronic card with display and buttons |
| USD730439S1 (en) | 2012-08-27 | 2015-05-26 | Dynamics Inc. | Interactive electronic card with buttons |
| USD687489S1 (en) | 2012-08-27 | 2013-08-06 | Dynamics Inc. | Interactive electronic card with buttons |
| USD687887S1 (en) | 2012-08-27 | 2013-08-13 | Dynamics Inc. | Interactive electronic card with buttons |
| USD729870S1 (en) | 2012-08-27 | 2015-05-19 | Dynamics Inc. | Interactive electronic card with display and button |
| USD676487S1 (en) | 2012-08-27 | 2013-02-19 | Dynamics Inc. | Interactive electronic card with display and buttons |
| USD692053S1 (en) | 2012-08-27 | 2013-10-22 | Dynamics Inc. | Interactive electronic card with display and button |
| USD687095S1 (en) | 2012-08-27 | 2013-07-30 | Dynamics Inc. | Interactive electronic card with buttons |
| US12380474B1 (en) | 2012-08-30 | 2025-08-05 | Dynamics Inc. | Cards, devices, systems, and methods for a ratings management system |
| US11995642B1 (en) | 2012-09-05 | 2024-05-28 | Dynamics Inc. | Cards, devices, systems, and methods for a notification system |
| US11126997B1 (en) | 2012-10-02 | 2021-09-21 | Dynamics Inc. | Cards, devices, systems, and methods for a fulfillment system |
| US9010647B2 (en) | 2012-10-29 | 2015-04-21 | Dynamics Inc. | Multiple sensor detector systems and detection methods of magnetic cards and devices |
| US9659246B1 (en) | 2012-11-05 | 2017-05-23 | Dynamics Inc. | Dynamic magnetic stripe communications device with beveled magnetic material for magnetic cards and devices |
| US9010644B1 (en) | 2012-11-30 | 2015-04-21 | Dynamics Inc. | Dynamic magnetic stripe communications device with stepped magnetic material for magnetic cards and devices |
| US10949627B2 (en) | 2012-12-20 | 2021-03-16 | Dynamics Inc. | Systems and methods for non-time smearing detection mechanisms for magnetic cards and devices |
| USD750166S1 (en) | 2013-03-04 | 2016-02-23 | Dynamics Inc. | Interactive electronic card with display and buttons |
| USD751639S1 (en) | 2013-03-04 | 2016-03-15 | Dynamics Inc. | Interactive electronic card with display and button |
| USD764584S1 (en) | 2013-03-04 | 2016-08-23 | Dynamics Inc. | Interactive electronic card with buttons |
| USD750167S1 (en) | 2013-03-04 | 2016-02-23 | Dynamics Inc. | Interactive electronic card with buttons |
| USD750168S1 (en) | 2013-03-04 | 2016-02-23 | Dynamics Inc. | Interactive electronic card with display and button |
| USD765174S1 (en) | 2013-03-04 | 2016-08-30 | Dynamics Inc. | Interactive electronic card with button |
| USD751640S1 (en) | 2013-03-04 | 2016-03-15 | Dynamics Inc. | Interactive electronic card with display and button |
| USD765173S1 (en) | 2013-03-04 | 2016-08-30 | Dynamics Inc. | Interactive electronic card with display and button |
| USD777252S1 (en) | 2013-03-04 | 2017-01-24 | Dynamics Inc. | Interactive electronic card with buttons |
| USD767024S1 (en) | 2013-09-10 | 2016-09-20 | Dynamics Inc. | Interactive electronic card with contact connector |
| US12282816B1 (en) | 2013-09-10 | 2025-04-22 | Dynamics Inc. | Cards, devices, EMV contacts, and methods of manufacturing cards, devices and EMV contacts |
| USD737373S1 (en) | 2013-09-10 | 2015-08-25 | Dynamics Inc. | Interactive electronic card with contact connector |
| US10108891B1 (en) | 2014-03-21 | 2018-10-23 | Dynamics Inc. | Exchange coupled amorphous ribbons for electronic stripes |
| US10032049B2 (en) | 2016-02-23 | 2018-07-24 | Dynamics Inc. | Magnetic cards and devices for motorized readers |
| CN109426616B (zh) * | 2017-08-31 | 2023-08-04 | 华邦电子股份有限公司 | 字节编程方法以及页面编程方法 |
| US20210103949A1 (en) | 2019-10-06 | 2021-04-08 | Dynamics Inc. | Scalable loyalty processing apparatus and methods of processing loyalty data |
Family Cites Families (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP3215237B2 (ja) * | 1993-10-01 | 2001-10-02 | 富士通株式会社 | 記憶装置および記憶装置の書き込み/消去方法 |
| US6256232B1 (en) * | 2000-07-07 | 2001-07-03 | Institute For Information Industry | Data access method capable of reducing the number of erasing to flash memory and data patch and access device using the same |
| JP2003272389A (ja) * | 2002-03-20 | 2003-09-26 | Sony Corp | データ記憶回路及び同データ記憶回路におけるデータ書込み方法及びデータ記憶装置 |
| US7543211B2 (en) * | 2005-01-31 | 2009-06-02 | Everspin Technologies, Inc. | Toggle memory burst |
| KR100645540B1 (ko) * | 2005-08-22 | 2006-11-14 | 삼성전자주식회사 | 플래시메모리의 데이터 관리 장치 및 방법 |
| DE602005011628D1 (de) * | 2005-10-10 | 2009-01-22 | Hynix Semiconductor Inc | Verfahren zur Programmierung und Verifizierung von Zellen eines nicht-flüchtigen Speicher und ein entsprechender NAND Flash Speicher |
| US7362610B1 (en) * | 2005-12-27 | 2008-04-22 | Actel Corporation | Programming method for non-volatile memory and non-volatile memory-based programmable logic device |
-
2007
- 2007-08-02 IT IT001601A patent/ITMI20071601A1/it unknown
-
2008
- 2008-07-31 EP EP08013731.8A patent/EP2051260B8/en active Active
- 2008-08-01 US US12/184,643 patent/US7639537B2/en active Active
Also Published As
| Publication number | Publication date |
|---|---|
| EP2051260A1 (en) | 2009-04-22 |
| EP2051260B1 (en) | 2014-09-03 |
| US20090046522A1 (en) | 2009-02-19 |
| EP2051260B8 (en) | 2014-11-26 |
| US7639537B2 (en) | 2009-12-29 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| ITMI20071601A1 (it) | Metodo di scrittura di dati in un'unita di memoria non volatile. | |
| JP4925301B2 (ja) | 半導体メモリシステム | |
| CN104516959B (zh) | 一种管理数据库日志的方法及装置 | |
| JP2018013837A (ja) | データ書き換え装置、データ書き換えプログラム | |
| CN102999431A (zh) | 用于非易失性存储器系统的编织序列计数器 | |
| JP2008198310A (ja) | ビットエラーの修復方法および情報処理装置 | |
| CN111221750B (zh) | 固态储存装置的数据处理方法 | |
| CN104051025B (zh) | 存储器维修装置及其应用方法 | |
| CN103106143B (zh) | 固态储存装置及其逻辑至实体对应表建立方法 | |
| CN108804045B (zh) | 一种坏块表建立方法及相关装置 | |
| CN110647295B (zh) | 缩短ssd上电恢复时间的方法、系统、设备及存储介质 | |
| CN102157202A (zh) | 防止非易失性存储器发生读取干扰的方法及其控制器 | |
| US9405669B2 (en) | Recovery from cache and NVS out of sync | |
| US20100115004A1 (en) | Backup system that stores boot data file of embedded system in different strorage sections and method thereof | |
| ITBO20090749A1 (it) | Metodo per operare una unita' elettronica di controllo durante una fase di calibrazione | |
| CN103853669A (zh) | 一种基于NOR Flash的存储管理方法 | |
| US20170322735A1 (en) | Memory device including risky mapping table and controlling method thereof | |
| CN108304140A (zh) | 闪存数据管理方法、装置及微控制器 | |
| JP2014056381A (ja) | 車両の電子制御装置 | |
| CN102034459B (zh) | 亮度补偿装置及方法 | |
| KR20130064379A (ko) | 지연 갱신을 수행하는 b-트리를 사용하여 플래시 메모리 내에 데이터를 저장하는 장치 및 방법 | |
| JP2014006772A (ja) | 故障監視型通信機器、通信機器用故障監視記録方法、及びそのプログラム | |
| WO2015194100A1 (ja) | 記憶装置、フラッシュメモリ制御装置、及びプログラム | |
| JP2012123498A (ja) | 時系列データを保存する情報処理装置および方法 | |
| ITMI20120595A1 (it) | Gestione della cancellazione di pagine operative di un dispositivo di memoria flash tramite pagine di servizio |