ITTO20081018A1 - Metodo di programmazione multilivello di celle di memoria a cambiamento di fase utilizzante impulsi di reset adattativi - Google Patents

Metodo di programmazione multilivello di celle di memoria a cambiamento di fase utilizzante impulsi di reset adattativi Download PDF

Info

Publication number
ITTO20081018A1
ITTO20081018A1 IT001018A ITTO20081018A ITTO20081018A1 IT TO20081018 A1 ITTO20081018 A1 IT TO20081018A1 IT 001018 A IT001018 A IT 001018A IT TO20081018 A ITTO20081018 A IT TO20081018A IT TO20081018 A1 ITTO20081018 A1 IT TO20081018A1
Authority
IT
Italy
Prior art keywords
reset
reseti
programming
sequence
setk
Prior art date
Application number
IT001018A
Other languages
English (en)
Inventor
Ferdinando Bedeschi
Alessandro Cabrini
Enzo Michele Donze
Roberto Gastaldi
Claudio Resta
Guido Torelli
Original Assignee
St Microelectronics Srl
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 St Microelectronics Srl filed Critical St Microelectronics Srl
Priority to ITTO2008A001018A priority Critical patent/IT1392578B1/it
Priority to US12/780,580 priority patent/US8149616B2/en
Publication of ITTO20081018A1 publication Critical patent/ITTO20081018A1/it
Application granted granted Critical
Publication of IT1392578B1 publication Critical patent/IT1392578B1/it

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C13/00Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
    • G11C13/0002Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
    • G11C13/0021Auxiliary circuits
    • G11C13/0069Writing or programming circuits or methods
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
    • G11C11/5678Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using amorphous/crystalline phase transition storage elements
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C13/00Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
    • G11C13/0002Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
    • G11C13/0004Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements comprising amorphous/crystalline phase transition cells
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C13/00Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
    • G11C13/0002Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
    • G11C13/0021Auxiliary circuits
    • G11C13/0064Verifying circuits or methods
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C13/00Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
    • G11C13/0002Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
    • G11C13/0021Auxiliary circuits
    • G11C13/0069Writing or programming circuits or methods
    • G11C2013/0076Write operation performed depending on read result
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C13/00Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
    • G11C13/0002Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
    • G11C13/0021Auxiliary circuits
    • G11C13/0069Writing or programming circuits or methods
    • G11C2013/0092Write characterized by the shape, e.g. form, length, amplitude of the write pulse

Landscapes

  • Chemical & Material Sciences (AREA)
  • Crystallography & Structural Chemistry (AREA)
  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Semiconductor Memories (AREA)
  • Logic Circuits (AREA)
  • Read Only Memory (AREA)

Description

DESCRIZIONE
del brevetto per Invenzione Industriale dal titolo: “METODO DI PROGRAMMAZIONE MULTILIVELLO DI CELLE DI MEMORIA A CAMBIAMENTO DI FASE UTILIZZANTE IMPULSI DI RESET ADATTATIVIâ€
La presente invenzione si riferisce ad un metodo di programmazione multilivello di celle di memoria a cambiamento di fase e ad un relativo dispositivo di memoria a cambiamento di fase.
Come à ̈ noto, le memorie a cambiamento di fase utilizzano una classe di materiali avente la proprietà di commutare tra due fasi aventi distinte caratteristiche elettriche, associate a due diverse strutture cristallografiche: una fase disordinata, amorfa, ed una fase ordinata, cristallina o policristallina. Le due fasi vengono associate a resistività di valori considerevolmente diversi.
Attualmente, nelle celle di memoria a cambiamento di fase vengono sfruttate le leghe di elementi del gruppo VI della tabella periodica, quali Te o Se, a cui ci si riferisce come a calcogenuri o materiali calcogenici. Un calcogenuro attualmente ampiamente utilizzato à ̈ formato da una lega di Ge, Sb e Te (Ge2Sb2Te5), anche chiamata GST, che à ̈ stata proposta per memorizzare informazioni su dischi sovrascrivibili e per la memorizzazione di massa. Nei calcogenuri, la resistività varia di due o più ordini di grandezza quando il materiale passa dalla fase amorfa (più resistiva) alla fase cristallina (più conduttiva), e viceversa.
I cambiamenti di fase vengono ottenuti aumentando localmente la temperatura. Al di sotto di una temperatura di 150°C, entrambe le fasi sono stabili. Iniziando da uno stato amorfo, ed aumentando la temperatura sopra i 200°C, vi à ̈ una rapida nucleazione dei cristalliti e, se il materiale viene mantenuto alla temperatura di cristallizzazione per un tempo sufficientemente lungo, esso subisce un cambiamento di fase diventando cristallino. Per riportare il calcogenuro allo stato amorfo, la temperatura viene aumentata oltre la temperatura di fusione (approssimativamente 600°C), e successivamente viene eseguito un rapido raffreddamento del calcogenuro.
Sono già stati proposti dispositivi di memoria che sfruttano le proprietà del materiale calcogenico (anche chiamati dispositivi di memoria a cambiamento di fase).
Come discusso in EP-A-1 326 254 (corrispondente a US-A-2003/0185047) un elemento di memoria di una cella di memoria di un dispositivo di memoria a cambiamento di fase comprende un materiale calcogenico ed un elettrodo resistivo, anche chiamato riscaldatore (o “rapier†).
Da un punto di vista elettrico, la temperatura di cristallizzazione e la temperatura di fusione vengono ottenute facendo sì che una corrente elettrica fluisca attraverso l’elettrodo resistivo a contatto o nelle strette vicinanze del materiale calcogenico, e riscaldando di conseguenza il materiale calcogenico mediante l’effetto Joule. In particolare, quando il materiale calcogenico si trova nello stato amorfo, ad alta resistività (anche chiamato lo “stato di reset†), à ̈ necessario applicare un impulso di corrente/tensione di durata ed ampiezza appropriate (o un numero di tali impulsi) e consentire al materiale calcogenico di raffreddarsi lentamente. In questa condizione, il materiale calcogenico cambia il suo stato e commuta da uno stato di alta resistività ad uno di bassa resistività (anche chiamato lo “stato di set†). Viceversa, quando il materiale calcogenico si trova nello stato di set, à ̈ necessario applicare un impulso di corrente/tensione di durata appropriata ed elevata ampiezza in modo da far sì che il materiale calcogenico ritorni nello stato amorfo.
Un approccio vantaggioso alla programmazione di celle di memoria a cambiamento di fase, particolarmente mirato alla programmazione multilivello, à ̈ descritto in EP-A-1 729 303, corrispondente a WO-A-06/128896. Un impulso di reset comune con ampiezza ed energia predefinite (determinato in modo appropriato tramite caratterizzazione elettrica) viene fornito alle celle di memoria a cambiamento di fase al fine di formare piccoli volumi di materiale amorfo (cosiddetti “cappucci amorfi†) all’interfaccia tra rispettive regioni a cambiamento di fase e rispettivi riscaldatori. Successivamente, vengono creati percorsi conduttivi cristallini a bassa resistenza (o percorsi di percolazione), cioà ̈ percorsi di corrente paralleli, attraverso i volumi amorfi ad alta resistenza del materiale a cambiamento di fase, fornendo sequenze appropriate di impulsi di programmazione di set, al fine di programmare bit del cosiddetto “tipo parallelo†. Una sezione trasversale media dei percorsi conduttivi (e pertanto la resistenza dell’associato elemento di memoria e del relativo stato programmato) viene determinata controllando la larghezza, ampiezza e/o numero di impulsi in ciascuna sequenza. Vengono utilizzati algoritmi di programmazione e verifica al fine di determinare quando la corrente di lettura nella cella di memoria raggiunge un livello desiderato (indicativo di uno “stato programmato†raggiunto). In particolare, la corrente di programmazione viene incrementata a passi predefiniti e la programmazione viene interrotta quando viene raggiunta una sezione trasversale appropriata del percorso conduttivo, che genera il livello di corrente di lettura desiderato.
Nella domanda di brevetto US copendente 11/904,306 depositata dallo stesso Titolare il 26 settembre, 2007, à ̈ stato proposto un metodo migliorato di programmazione multilivello di celle di memoria, in cui livelli di resistenza associati a stati programmati delle celle di memoria a cambiamento di fase vengono anche determinati controllando la lunghezza del percorso conduttivo cristallino formato attraverso i cappucci amorfi, in modo che percorsi conduttivi corrispondenti a diversi stati programmati intermedi abbiano diverse lunghezze predefinite. In effetti, il livello di resistenza degli stati programmati viene sostanzialmente determinato dalla resistenza del percorso conduttivo, data da R = Ï L/S (dove R à ̈ la resistenza risultante, Ï Ã ̈ la resistività del materiale a cambiamento di fase, ed L ed S sono rispettivamente la lunghezza e la sezione trasversale media del percorso conduttivo cristallino). Mentre la sezione trasversale del percorso conduttivo viene controllata applicando sequenze appropriate di impulsi di set attraverso il cappuccio amorfo per convertire porzioni desiderate di materiale a cambiamento di fase amorfo in materiale a cambiamento di fase cristallino, la lunghezza del percorso conduttivo viene sostanzialmente controllata formando cappucci amorfi di volume e spessore (o altezza) appropriati applicando impulsi di reset appropriati.
Per raggiungere ciascuno stato programmato, viene applicato un impulso di reset appropriato, avente livelli di energia e di ampiezza predefiniti, che consentono di collocare la distribuzione di celle di memoria al valore di corrente di lettura desiderato.
In particolare, tale impulso di reset provoca la formazione di un elemento di memoria avente una regione di materiale amorfo con un'altezza (corrispondente ad una lunghezza del percorso conduttivo cristallino che si forma successivamente) h±âˆ†h dove ∆h rappresenta un contributo variabile dovuto alla dispersione del riscaldatore e delle caratteristiche della cella così come alla dispersione di condizioni ambientali ed operative. Algoritmi di programmazione e verifica prevedono quindi l'applicazione di un numero di impulsi di set tale che la sezione trasversale risultante del percorso conduttivo cristallino sia S±âˆ†S, dove ∆S rappresenta un contributo variabile che consente di compensare un aumento/diminuzione nell'altezza della regione di materiale amorfo con un allargamento/riduzione (rispetto ad un valore tipico) della sezione trasversale del percorso conduttivo, in modo tale che vengano formate celle di memoria aventi percorsi conduttivi con diverse proprietà geometriche, ma aventi un valore di resistenza sostanzialmente simile.
La possibilità di applicare un impulso di reset predefinito specifico per un dato stato programmato consente l'applicazione di un numero più piccolo di impulsi di set (durante le successive operazioni di programmazione e verifica), aventi valori scelti in un intervallo minore, in modo tale che le regioni di materiale a cambiamento di fase vengano assoggettate a stress minori e possano essere ottenuti stati programmati più stabili.
La presente richiedente si à ̈ resa conto che i suddetti metodi di programmazione, sebbene vantaggiosi sotto molti aspetti, risentono ancora di qualche svantaggio e di potenziali problemi di prestazione.
In particolare, la richiedente ha verificato che, dopo diversi cicli di programmazione, le celle di memoria a cambiamento di fase vengono assoggettate ad un certo grado di degrado, e richiedono valori di tensione/corrente di programmazione sempre più alti per realizzare i livelli di corrente di lettura desiderati. Questo comportamento implica che i valori predefiniti inizialmente determinati per il posizionamento delle distribuzioni di celle di memoria possano non essere i valori ottimali dopo molti cicli di programmazione, e che possano apparire code non desiderate nelle stesse distribuzioni di celle. Per esempio, la Figura 1 mostra le distribuzioni di celle relative a due diversi stati programmati intermedi (per esempio gli stati programmati †̃01’ e †̃10’), dopo un ciclo di programmazione (linea continua) e dopo una pluralità, per esempio un milione, di cicli (linea tratteggiata). È evidente che dopo diversi cicli di programmazione le distribuzioni di celle diventino più ampie e appaiano delle code, il che può comportare errori di lettura.
In effetti, à ̈ stato verificato che, per via dei cambiamenti che si verificano nelle caratteristiche fisiche ed elettriche delle celle di memoria dopo i cicli di programmazione, l'applicazione di grandezze elettriche di programmazione simili può condurre a diversi andamenti della corrente di lettura (Ilett) rispetto alla corrente di programmazione (Iprog), come mostrato nella Figura 2 dove il tracciato corrispondente ad un ciclo viene rappresentato con una linea continua, mentre il tracciato corrispondente ad un milione di cicli viene rappresentato con una linea tratteggiata. In particolare, anche se vengono utilizzati per gli impulsi di corrente di set gli stessi valori (IS1, IS2, IS3...) durante la programmazione, si ottengono diversi valori per la corrente di lettura, per via dello spostamento delle caratteristiche elettriche della cella di memoria dopo l'esecuzione di diversi cicli di programmazione. Chiaramente, questo comportamento può produrre letture errate del contenuto delle celle di memoria.
Lo scopo della presente invenzione consiste nel fornire un metodo di programmazione multilivello di una cella di memoria a cambiamento di fase, che sia esente dagli svantaggi e dalle limitazioni precedentemente descritti.
Secondo la presente invenzione, vengono forniti un metodo di programmazione multilivello di una cella di memoria a cambiamento di fase ed un dispositivo di memoria a cambiamento di fase, come rivendicati rispettivamente nelle rivendicazioni 1 e 12.
Per la comprensione della presente invenzione, ne vengono ora descritte alcune forme di realizzazione, puramente come esempi non limitativi, facendo riferimento ai disegni allegati, in cui:
- le Figure 1 e 2 sono grafici di grandezze elettriche associate a noti metodi di programmazione multilivello;
- la Figura 3 Ã ̈ un diagramma a blocchi semplificato di un dispositivo di memoria a cambiamento di fase secondo una forma di realizzazione della presente invenzione;
- la Figura 4 Ã ̈ una sezione trasversale attraverso una porzione del dispositivo di memoria a cambiamento di fase della Figura 3;
- la Figura 5 Ã ̈ una vista in pianta, con una porzione rimossa per chiarezza, di un particolare del dispositivo della Figura 4, presa lungo la linea V-V della Figura 4;
- la Figura 6 Ã ̈ una sezione trasversale di un dettaglio ingrandito del dispositivo della Figura 4 presa lungo la linea VI-VI della Figura 5;
- la Figura 7 Ã ̈ una sezione trasversale di un dettaglio ingrandito del dispositivo della Figura 4 presa lungo la linea VII-VII della Figura 5;
- la Figura 8 mostra la stessa vista della Figura 6, in uno stato programmato intermedio;
- la Figura 9 mostra una distribuzione di correnti in diversi stati programmati di una cella PCM nel dispositivo della Figura 3;
- le Figure 10a e 10b sono diagrammi di flusso relativi ad un metodo di programmazione multilivello di celle di memoria a cambiamento di fase secondo una forma di realizzazione della presente invenzione;
- la Figura 11 Ã ̈ un grafico che mostra esempi di impulsi di programmazione di reset utilizzati nel metodo delle Figure 10a, 10b per programmare uno stato di reset completo;
- le Figure 12 e 13 mostrano la stessa vista della Figura 6, rispettivamente in uno stato programmato di reset completo e di set completo;
- Figure 14a e 14b sono grafici che mostrano esempi di segnali di set utilizzabili nel metodo delle Figure 10a, 10b;
- la Figura 15 Ã ̈ un grafico che mostra esempi di impulsi di programmazione di reset e di set utilizzati nel metodo delle Figure 10a, 10b per programmare uno stato programmato intermedio;
- le Figure 16 e 17a, 17b sono grafici che mostrano curve caratteristiche di programmazione di celle PCM nel dispositivo della Figura 3;
- le Figure 18a e 18b sono grafici che mostrano esempi di impulsi di programmazione di reset e di set relativi ad un metodo per programmare celle di memoria a cambiamento di fase secondo un'altra forma di realizzazione della presente invenzione; e
- la Figura 19 Ã ̈ una rappresentazione di sistema di una forma di realizzazione della presente invenzione.
Nella seguente descrizione, si farà riferimento al caso in cui impulsi di corrente vengono utilizzati per programmare celle PCM, e livelli di corrente vengono utilizzati per leggere il contenuto delle stesse celle PCM. Tuttavia, à ̈ chiaro che tutti i concetti e soluzioni che verranno qui descritti possono anche essere applicati nel caso in cui vengano utilizzati impulsi di tensione e livelli di tensione per le operazioni di programmazione e di lettura.
La Figura 3 mostra un dispositivo di memoria a cambiamento di fase (nel seguito “PCM†) 1. Una pluralità di celle PCM 2 à ̈ disposta in righe e colonne per formare una matrice 3. Un decodificatore di righe 4 ed un decodificatore di colonne 5 sono accoppiati ad un'unità di controllo 6 e ad un'unità di programmazione/lettura 7, che comprende un circuito di programmazione 7a ed un circuito di verifica/lettura 7b. Linee di parola (word line) 8 e linee di bit (bit line) 9 si estendono rispettivamente parallele alle righe e alle colonne, e sono selettivamente collegabili all'unità di programmazione/lettura 7 attraverso il decodificatore di righe 4 e il decodificatore di colonne 5, in maniera nota.
Ciascuna cella PCM 2 Ã ̈ connessa ad un punto di incrocio di una rispettiva linea di parola 8 e di una rispettiva linea di bit 9 e comprende un elemento di memorizzazione 10, del tipo a cambiamento di fase, ed un elemento di selezione 11. L'elemento di memorizzazione 10 ha un primo terminale connesso alla rispettiva linea di bit 9 ed un secondo terminale connesso ad un primo terminale dell'elemento di selezione 11. L'elemento di selezione 11 ha un secondo terminale messo a massa ed un terminale di controllo connesso alla rispettiva linea di parola 8. Secondo soluzioni alternative, l'elemento di memorizzazione 10 e l'elemento di selezione 11 di ciascuna cella PCM 2 possono essere scambiati di posizione; inoltre, gli elementi di selezione 11 possono avere solo due terminali (per esempio nel caso di diodi).
Il circuito di programmazione 7a à ̈ configurato per fornire impulsi di programmazione (impulsi di reset o di set) a celle PCM 2 selezionate, secondo un metodo di programmazione che verrà descritto in seguito. Il circuito di verifica/lettura 7b viene connesso alle celle PCM 2 selezionate per la lettura delle informazioni ivi memorizzate (per esempio per implementare un'operazione di verifica dopo ciascun impulso di programmazione). In una forma di realizzazione, il circuito di verifica/lettura 7b viene configurato per eseguire una lettura in corrente delle celle PCM 2, cioà ̈ correnti di uscita da celle PCM 2 polarizzate in modo appropriato vengono confrontate con livelli di riferimento di corrente di lettura appropriati (durante una lettura convenzionale) o con livelli di riferimento di corrente di programmazione (durante un'operazione di verifica).
Una sezione trasversale esemplificativa di una cella PCM 2 à ̈ illustrata in Figura 4 (di cui verranno sommariamente descritte solo le porzioni utili per la comprensione della presente invenzione), in cui l'elemento di selezione 11 à ̈ un transistore bipolare PNP avente una regione di emettitore 13, una regione di base 14 e contatti di emettitore e di base 15a, 15b (dovrebbe essere tuttavia chiaro che in altre forme di realizzazione possono essere utilizzati diversi elementi di selezione, quali transistori bipolari NPN, transistori MOS o diodi). Un collettore intrinseco dell'elemento di selezione 11 à ̈ formato in un substrato a semiconduttore 18, in cui à ̈ integrata l'intera matrice 3.
Un elemento di riscaldamento a forma di tazza 16 à ̈ formato sul contatto di emettitore 15a. Una porzione superiore dell'elemento di riscaldamento à ̈ definita da una parete laterale ovale o circolare avente uno spessore sub-litografico, come anche mostrato nella Figura 5. Qui, il termine “sublitografico†significa una dimensione lineare più piccola della dimensione minima realizzabile con attuali tecniche litografiche (UV) ottiche, e pertanto più piccola di 100 nm, preferibilmente più piccola di 50-60 nm, sino ad approssimativamente 5-20 nm. Una striscia 17 di materiale calcogenico cristallino, per esempio GST, si estende parallela alle linee di bit 9 ed à ̈ separata dall'elemento di riscaldamento 16 mediante uno strato 19 (per esempio, di materiale nitruro). La striscia 17 può essere realizzata mediante un processo di deposizione ad alta temperatura, al fine di assicurarsi che essa si trovi nello stato cristallino. Inoltre, primi e secondi strati protettivi 21, 22 vengono posizionati tra, e paralleli alla, striscia 17 e alle linee di bit 9. Una microtrincea allungata 20 (vedere Figura 5) à ̈ formata nello strato 19 al di sopra e attraverso l'elemento di riscaldamento 16 in una direzione parallela alle linee di bit 9. Di conseguenza, una porzione sottile 17a della striscia 17 riempie la microtrincea 20 e viene a contatto con l'elemento di riscaldamento 16, come mostrato nelle Figure 6 e 7. Verso il basso, la microtrincea 20 ha una larghezza sub-litografica in una direzione parallela alle linee di parola 8, in modo che un'area di contatto tra la porzione sottile 17a della striscia 17 e l'elemento di riscaldamento 16 abbia un'estensione sublitografica. L'elemento di memorizzazione 10 della cella PCM 2 à ̈ formato nella porzione sottile 17a della striscia 17 nell'area di contatto con l'elemento di riscaldamento 16. Considerando l'estensione sub-litografica dell'area di contatto, anche correnti relativamente piccole che fluiscono attraverso la striscia 17 e l'elemento di riscaldamento 16 forniscono un riscaldamento sufficiente mediante l'effetto Joule per produrre transizioni di fase in un volume corrispondente all'elemento di memorizzazione 10. Tuttavia, le transizioni di fase sono confinate ad un volume piccolo all'interno della microtrincea 20 ed attorno all'area di contatto della porzione sottile 17a e dell'elemento di riscaldamento 16, mentre la rimanenza della striscia 17 non commuta dallo stato cristallino a bassa resistenza. All'esterno della microtrincea 20, infatti, la densità di corrente non à ̈ sufficientemente alta per riscaldare il materiale a cambiamento di fase oltre la temperatura di commutazione e lo stato cristallino viene quindi preservato.
Le informazioni memorizzate nelle celle PCM 2 sono associate a livelli di resistenza (stati programmati) corrispondenti agli elementi di memorizzazione 10. In particolare, (come mostrato nella Figura 8), il livello di resistenza dipende dalla presenza o dall'assenza di un volume di materiale a cambiamento di fase amorfo (cappuccio amorfo 25) nell'interfaccia tra l'elemento di riscaldamento 16 e la porzione sottile 17a della striscia 17; dalla presenza o dall'assenza del percorso conduttivo cristallino 27 attraverso il cappuccio amorfo 25; dalla dimensione di questo percorso conduttivo 27, in particolare in termini della sezione trasversale S e relativa lunghezza L.
Secondo un particolare aspetto della presente invenzione, si propone un algoritmo di programmazione multilivello che prevede di fornire a ciascuna cella di memoria a cambiamento di fase un reset adattativo, che prevede cioà ̈ di adattare in modo dinamico ed iterativo il valore (in termini per esempio di ampiezza di corrente/tensione e durata temporale) degli impulsi di reset alle caratteristiche fisiche ed elettriche delle celle di memoria da programmare, al fine di trovare il minimo impulso di reset che consenta di programmare la cella di memoria in ciascuno stato programmato e livello di corrente/tensione desiderati (o almeno l'impulso di reset con il valore più basso possibile all’interno di una data sequenza di valori). Questo algoritmo sfrutta la proprietà delle celle di memoria a cambiamento di fase secondo cui a diversi valori degli impulsi di reset possono essere associati diversi valori degli impulsi di set in grado di programmare la cella nello stato programmato desiderato, per esempio modulando la sezione trasversale S del percorso conduttivo 27 affinché tenga in considerazione la relativa diversa lunghezza L. In altre parole, a ciascun valore dell’impulso di reset (e corrispondente lunghezza L del percorso conduttivo 27) viene associata una diversa curva caratteristica Ilett/Iprog, lungo la quale si possono trovare valori dell’impulso di set appropriati fornenti una corrente di lettura desiderata.
Il funzionamento dell'algoritmo proposto verrà descritto con specifico riferimento ad una forma di realizzazione esemplificativa in cui quattro diversi stati possono essere programmati in ciascuna cella di memoria, in modo che due bit possano essere memorizzati in ciascuna cella. Si deve tuttavia comprendere che può essere previsto un qualsiasi numero diverso di stati programmati (per esempio 8 e 16 livelli per memorizzare rispettivamente 3 e 4 bit). In questo specifico esempio, i valori di bit †̃00’, †̃01’, †̃10’ e †̃11’ sono assegnati a rispettivi livelli di resistenza (decrescenti) e correnti di lettura Ilett(crescenti) in uscita dalle celle PCM appropriatamente polarizzate.
Come illustrato nella Figura 9, che mostra le distribuzioni di celle di memoria associate a ciascuno stato programmato, il valore di bit †̃00’ à ̈ assegnato ad uno stato programmato di reset completo, in cui il livello di resistenza à ̈ il più alto e la corrente di lettura Ilettà ̈ in modo corrispondente la più bassa, in particolare inferiore ad un valore I0; in questa condizione si forma un cappuccio amorfo 25, che non à ̈ attraversato da alcun percorso conduttivo cristallino. I valori di bit †̃01’ e †̃10’ sono associati a primi e secondi stati programmati intermedi, aventi livelli di resistenza decrescenti e correnti di uscita crescenti Io; viene formato attraverso il cappuccio amorfo 25 il percorso conduttivo 27, che presenta un valore complessivo di resistenza R (modulato controllando sia la lunghezza L che la relativa sezione trasversale S) inferiore nel secondo stato programmato intermedio rispetto al primo. In particolare, la corrente di lettura Ilettnel primo stato programmato intermedio à ̈ compresa tra i valori I1e I2, con I2>I1>I0; e la corrente di uscita Ilettnel secondo stato programmato intermedio à ̈ compresa tra i valori I3e I4, con I4>I3>I2. Al valore di bit †̃11’ à ̈ associato uno stato programmato di set completo, in cui tutto il materiale a cambiamento di fase che forma l'elemento di memorizzazione 10 à ̈ cristallino. In questo stato programmato, il livello di resistenza à ̈ il più basso e la corrente di lettura di uscita Ilettà ̈ la più alta, in particolare maggiore di un valore I5, con I5>I4. Naturalmente, durante l'utilizzo, diverse celle PCM 2 vengono portate nei rispettivi stati programmati, in modo che, per esempio, alcune celle PCM 2 possano essere nel primo stato programmato intermedio, mentre altre celle PCM 2 possano essere allo stesso tempo nel secondo stato programmato intermedio.
L'unità di controllo 6 controlla il circuito di programmazione 7a e il circuito di verifica/lettura 7b per programmare celle PCM 2 selezionate secondo il metodo di programmazione multilivello descritto qui di seguito facendo riferimento anche alle Figure 10a e 10b.
In un blocco decisionale 30 (si veda la Figura 10a), si determina se il dato D da memorizzare nella cella PCM 2 à ̈ †̃00’, vale a dire lo stato programmato di reset completo. Se questo à ̈ il caso, l'unità di controllo 6 controlla il circuito di programmazione 7a al fine di applicare l'impulso di reset più basso in grado di associare una corrente di uscita Io< I0alla cella PCM 2, iniziando una cosiddetta sequenza di “SCU (Stair Case Up) di Programmazione e Verifica di Reset)†(indicata con SCUR). Di conseguenza (si veda anche la Figura 11), viene applicata una sequenza di impulsi di reset Reseticon livello crescente, e, dopo ogni impulso di reset, viene eseguita un'operazione di verifica al fine di determinare se la corrente di uscita associata alla cella PCM 2 à ̈ diventata più bassa del valore desiderato I0.
Nel dettaglio, in una fase di processo 32 viene applicato un impulso di reset (in particolare un primo impulso di reset Reset1), avente un'ampiezza minima (il cui valore può essere, per esempio, determinato in un processo di caratterizzazione preliminare o scelto a livello di progettazione).
Lo stato programmato della cella PCM 2 viene successivamente verificato dal circuito di verifica 7b in un blocco di processo 34, in cui la cella PCM 2 viene letta, e in un blocco decisionale 35, in cui la corrente di uscita Ioletta dalla cella viene confrontata con il valore desiderato I0. Se la corrente di uscita Ioà ̈ ancora maggiore di I0, la sequenza di impulsi SCURdi reset à ̈ proseguita nel blocco di elaborazione 32 applicando un secondo impulso di reset Reset2, avente un'ampiezza aumentata da un dato gradiente di aumento di reset ∆IR1rispetto al primo impulso di reset Reset1(il gradiente di aumento di reset ∆IR1può nuovamente essere determinato, per esempio, in fase di caratterizzazione o di progettazione). Successivamente, un'altra operazione di verifica viene eseguita dal circuito di verifica nel blocco di elaborazione 34 e nel blocco decisionale 35. Cicli di verifica/programmazione vengono successivamente ripetuti sino a che la corrente di uscita Ionon diventa inferiore di I0. A questo punto, il ciclo di programmazione per raggiungere il livello †̃00’ termina (blocco 38). In ciascun ciclo di verifica/programmazione, l'ampiezza del nuovo impulso di reset Resetiviene aumentata del gradiente di aumento di reset ∆IRirispetto al precedente impulso di reset Reseti-1nella sequenza.
Questo algoritmo consente di conseguenza l'applicazione dell'impulso di reset Resetipiù basso possibile a ciascuna cella PCM 2, in modo che celle di memoria che vengono resettate ad una corrente inferiore ricevano impulsi di reset con livelli inferiori rispetto alle celle di memoria che vengono resettate a correnti maggiori, essendo comunque ancora in grado di formare un cappuccio amorfo 25 con dimensione appropriata (e pertanto un bit stabile), senza generare temperature eccessive che produrrebbero un degrado durante il ciclo di programmazione. Nello stato programmato di reset completo †̃00’, il cappuccio amorfo 25, come mostrato nella figura 12, copre completamente l'interfaccia tra l'elemento di riscaldamento 16 e la porzione sottile 17a della striscia 17, ed ha uno spessore (o altezza) corrispondente all'impulso di reset che à ̈ stato determinato dinamicamente in modo adattativo durante le operazioni di programmazione.
In un blocco decisionale 40 (si veda nuovamente la Figura 10a), si determina se il dato D da memorizzare nella cella PCM 2 à ̈ †̃11’, vale a dire lo stato programmato di set completo. Se questo à ̈ il caso, in un blocco di processo 42 l'unità di controllo 6 controlla il circuito di programmazione 7a al fine di applicare il minimo impulso di set che consente di cristallizzare l'intero volume di materiale amorfo generato dalle precedenti operazioni di programmazione (se presenti), come mostrato nella Figura 13. In particolare, un impulso di corrente di set completo viene applicato sotto forma di un cosiddetto impulso Set Sweep Pulse (SSP, si veda la Figura 14a), o Staircase Down (SCD, si veda la Figura 14b), che consente un veloce riscaldamento ed un lento raffreddamento del materiale a cambiamento di fase che forma l'elemento di memorizzazione 10. In tal modo, la “finestra†disponibile per il posizionamento degli stati programmati intermedi (che variano da 0 Î1⁄4A fino alla corrente associata allo stato completamente cristallizzato) viene massimizzata, poiché l'applicazione di una rampa che decresce lentamente consente di ottenere per lo stato †̃11’ uno stato cristallino per il materiale a cambiamento di fase avente il minimo valore di resistenza (e, pertanto, il massimo livello di corrente), massimizzando così la distanza tra gli stati †̃00’ e †̃11’.
Un'operazione di verifica può essere eseguita dopo il blocco 42, nel blocco di elaborazione 43 e nel blocco decisionale 44, al fine di verificare se la corrente di uscita Ioha oltrepassato il valore I5(Io>I5); se questo non à ̈ il caso, vengono iterativamente applicati ulteriori impulsi Set Sweep Pulse o Staircase Down (per esempio aventi una diversa durata o un diverso livello iniziale), sino a che la suddetta condizione Io>I5non venga verificata e lo stato †̃11’ non venga raggiunto.
Facendo riferimento alla Figura 10b, viene ora descritto l'algoritmo iterativo eseguito per programmare le celle PCM 2 negli stati intermedi tra gli stati di reset completo e di set completo (nell'esempio a quattro bit, gli stati intermedi †̃01’ e †̃10’). In termini generali, questo algoritmo prevede: l'applicazione a ciascuna cella PCM 2 di una sequenza di impulsi di reset Reseti, in cui ciascun impulso di reset viene determinato iterativamente come una prima funzione f (nel seguito “funzione di reset†) dell'impulso di reset precedentemente determinato nella sequenza; e, per ognuno degli impulsi di reset Reseti, l'applicazione di una sequenza di impulsi di set Setk, in cui ciascun impulso di set viene determinato iterativamente come una seconda funzione g (di seguito “funzione di set†) dell'impulso di set precedentemente determinato nella sequenza. Le sequenze di set e di reset iterative annidate vengono interrotte quando si determini che uno stato desiderato à ̈ stato programmato nella cella PCM 2. Come verrà spiegato in dettaglio, il suddetto algoritmo prevede anche di regolare in modo appropriato le funzioni di reset e di set f, g durante le sequenze iterative.
In maggior dettaglio, in un blocco di processo 45, si determina se il dato D da memorizzare nella cella PCM 2 selezionata consiste nel livello logico intermedio †̃Sj’, associato al j<esimo>stato programmato intermedio (per esempio lo stato intermedio †̃01’ o †̃10’ nell'esempio a quattro bit).
Se questo à ̈ il caso, in un blocco di processo 46 il circuito di programmazione 7a viene controllato per applicare un Impulso Set Sweep Pulse (SSP), o Staircase Down (SCD), al fine di collocare inizialmente in uno stato di set completo il materiale a cambiamento di fase (si noti che in una prima iterazione dell'algoritmo di programmazione, il blocco di processo 46 può essere saltato come mostrato dal ramo facoltativo in linea tratteggiata, raggiungendo il seguente blocco di processo 47).
Successivamente, nel blocco di processo 47, il valore dell’impulso di reset Resetiattuale (per esempio un impulso di corrente) che deve essere applicato alla cella PCM 2 viene iterativamente determinato come l'uscita della funzione di reset f applicata al precedente impulso di reset Reseti-1, che era stato determinato nella precedente iterazione dell’algoritmo, cioà ̈:
Reset[i]=f(Reset[i-1])
Per esempio, la funzione di reset f può prevedere un aumento di ampiezza ΔI, o un aumento della durata dell’impulso Δt, o anche una modifica della forma, rispetto all’impulso di reset Reseti-1precedentemente applicato. Nell'esempio rappresentato nella Figura 15, gli impulsi di reset Resetinella sequenza hanno livelli di corrente di ampiezza crescenti.
Alla prima iterazione dell'algoritmo, viene applicato un primo impulso di reset Reset1(si veda la forma di realizzazione esemplificativa rappresentata nella Figura 15) con una prima corrente di reset Ir1, al fine di formare un cappuccio amorfo 25 con una prima data altezza (in funzione della corrente di reset applicata) che sia sufficientemente stabile se viene eseguita un'operazione di cottura; una prima curva caratteristica di programmazione à ̈ associata a questo primo impulso di reset, come mostrato nella Figura 16. Il primo impulso di reset Reset1può avere un minimo valore di ampiezza (che viene determinato in un processo di caratterizzazione o in fase di progettazione).
Una volta che il cappuccio amorfo 25 à ̈ stato ottenuto, si forma attraverso di esso il percorso conduttivo a bassa resistenza 27, avente una prima lunghezza L1(approssimativamente uguale allo spessore del cappuccio amorfo 25) ed una sezione trasversale S che viene controllata applicando una sequenza di impulsi di set Setk, e verificando, dopo ciascun impulso di set, se il j<esimo>stato programmato intermedio à ̈ stato impostato (per esempio verificando se la corrente di uscita dalla cella di memoria à ̈ compresa tra i valori desiderati Ije Ij+1associati al j<esimo>stato programmato intermedio, Ijessendo una soglia inferiore e Ij+1essendo una soglia superiore per il j<esimo>stato intermedio).
In maggior dettaglio, in un blocco di elaborazione 48 il valore attuale dell'impulso di set Setk(per esempio un impulso di corrente) che deve essere applicato alla cella PCM 2 viene iterativamente determinato, come l'uscita della funzione di set g applicata al precedente impulso di set Setk-1, che era stato determinato nella precedente iterazione dell'algoritmo, cioà ̈:
Set[k]=g(Set[k-1])
Per esempio, la funzione di set g può prevedere un aumento di ampiezza ∆I, o un aumento della durata dell'impulso ∆t, o anche una modifica della forma dell'impulso applicato, rispetto al precedente impulso di set Setk-1. Nell'esempio rappresentato nella Figura 15, la sequenza di impulsi di set ha la configurazione di un “SCU (Stair Case Up) di Programmazione e Verifica di Set†(indicato con SCUS), con impulsi di set aventi livelli di corrente crescenti (il valore dei quali può essere, per esempio, determinato in un processo di caratterizzazione preliminare o scelto in fase di progettazione). Alla prima iterazione dell'algoritmo, viene applicato un primo impulso di set Set1, per esempio avente una minima ampiezza di corrente Is1, che genera un percorso conduttivo 27 avente una prima sezione trasversale S1.
Lo stato programmato della cella PCM 2 viene successivamente verificato dal circuito di verifica 7b in un blocco di processo 49, in cui la cella PCM 2 viene letta e la corrente di uscita Ioviene prima confrontata con la soglia inferiore Ij.
Se la corrente di uscita Ioà ̈ maggiore della soglia inferiore Ij, e si determina inoltre, in un successivo blocco di processo 50, che la corrente di uscita Ioà ̈ anche inferiore alla soglia superiore Ij+1, l'operazione di programmazione del j<esimo>stato programmato intermedio viene considerata eseguita con successo e il ciclo di programmazione viene terminato (blocco 38).
Se nel blocco di processo 49 si determina che la corrente di uscita Ionon à ̈ maggiore della soglia inferiore Ij, l'algoritmo continua nel blocco di processo 53, dove si giudica se un numero massimo kmaxdi impulsi di set à ̈ già stato applicato (la relazione 1<k<kmaxessendo di conseguenza valida per l'indice di set k). Se questo non à ̈ il caso, l'algoritmo ritorna al blocco di processo 48, per la generazione di un nuovo impulso di set Setk+1, per esempio aumentato rispetto al primo impulso di set Setkdi un dato gradiente di aumento di set ∆ISkdeterminato dalla funzione di set g. Per esempio, viene generato un secondo impulso di set Set2avente un'ampiezza Is2incrementata rispetto al primo impulso di set Set1(di un dato gradiente di aumento di set ∆IS1), ed un percorso conduttivo 27 avente una sezione trasversale S2maggiore viene di conseguenza formato nel cappuccio amorfo 25.
Tuttavia, prima di ritornare al blocco di processo 48, l'algoritmo passa attraverso il blocco di processo 54, dove la funzione di set g può essere modificata. Per esempio, può essere implementato un valore diverso per il gradiente di aumento di set ∆ISk, o, in certe condizioni operative, si può anche decidere che la funzione di set g debba produrre una diminuzione del successivo impulso di set Setk+1rispetto a quello precedente (o un diverso aumento/diminuzione della durata dell'impulso ∆t, o può anche essere implementata una modifica della forma degli impulsi applicati).
Se nel blocco di processo 53 si determina che il numero massimo kmaxà ̈ stato raggiunto (cioà ̈ l'intera sequenza di impulsi di set Setknon ha permesso di raggiungere lo stato programmato desiderato), si giudica dapprima, nel blocco di processo 56, se una condizione limite (indicata con “impulso massimo†nella Figura 10b) à ̈ già stata raggiunta (per esempio corrispondente al raggiungimento di un massimo impulso di programmazione per la cella di memoria). Se questo à ̈ il caso, si giudica che l'operazione di programmazione non ha avuto successo e il ciclo di programmazione viene terminato (blocco 38).
Se questo non à ̈ il caso, l'algoritmo si sposta verso il blocco 58, dove la funzione di reset f viene modificata, e successivamente indietro verso il blocco di processo 46. Per esempio, la funzione di reset f viene modificata al fine di produrre una diminuzione del valore (per esempio in termini dell'ampiezza e/o durata) del successivo impulso di reset Resetirispetto alla precedente iterazione, al fine di ottenere una diversa curva caratteristica di programmazione che consenta di raggiungere valori maggiori per la corrente di uscita Io.
Se nel blocco di processo 50 si determina invece che la corrente di uscita Ionon à ̈ inferiore alla soglia superiore Ij+1, l'algoritmo procede alla determinazione iterativa di un nuovo impulso di reset Reseti+1e di una diversa curva caratteristica di programmazione che consenta di raggiungere diversi valori per la corrente di uscita Io. Tuttavia, si determina dapprima, blocco di processo 59, se un numero massimo imaxdi impulsi di reset à ̈ già stato applicato (la relazione 1<i<imaxessendo di conseguenza valida per l'indice di reset i). Se questo à ̈ il caso, l'operazione di programmazione non ha avuto successo e il ciclo di programmazione viene terminato (blocco 38).
Se questo non à ̈ il caso, l'algoritmo ritorna al blocco di processo 47, per la generazione di un nuovo impulso di reset Reseti+1, per esempio aumentato rispetto al precedente impulso di reset Resetidi un dato gradiente di aumento di reset ∆IRideterminato dalla funzione di reset f. Tuttavia, prima di ritornare al blocco di processo 46, l'algoritmo passa attraverso il blocco di processo 60, dove la funzione di reset f può essere regolata. La funzione di reset f può essere modificata al fine di produrre un diverso aumento del valore (per esempio in termini dell'ampiezza e/o durata) del successivo impulso di reset Reseti+1, e per ottenere una diversa curva caratteristica di programmazione che consenta di raggiungere valori inferiori per la corrente di uscita Io(o, invece, possono essere previsti un diverso aumento/diminuzione della durata dell'impulso ∆t o anche una modifica della forma degli impulsi applicati). Come una forma di realizzazione alternativa, e come mostrato dal ramo facoltativo in Figura 10b, il processo può ritornare dal blocco 60 al blocco 46, per l'applicazione di una nuova sequenza di set SSP o SCD.
Per esempio, viene generato un secondo impulso di reset Reset2con una seconda corrente di reset Ir2(aumentato rispetto al primo impulso di reset Reset1di un gradiente di aumento di reset ∆IR1), al fine di formare un cappuccio amorfo 25 avente uno spessore maggiore che consenta di ottenere una lunghezza maggiore L2del percorso conduttivo 27. Viene ora sfruttata una seconda curva caratteristica di programmazione, associata a questo secondo impulso di reset Reset2. Come à ̈ chiaro dalla Figura 16, l'applicazione degli impulsi di set Setklungo la diversa curva caratteristica produce la generazione di diversi valori per la corrente di uscita, che possono ora soddisfare la condizione richiesta per programmare lo stato intermedio desiderato. In particolare, un'inclinazione minore della curva di programmazione risulta in generale in un'accuratezza di programmazione maggiore.
I due cicli iterativi annidati associati alle sequenze di reset e di set vengono così iterati sino a che non si trovano impulsi di reset e di set appropriati che consentano di programmare la cella PCM 2 nello stato programmato intermedio desiderato. Per esempio, nella forma di realizzazione esemplificativa mostrata nelle Figure 15 e 16, il terzo impulso di reset Reset3(con la corrente di reset Ir3e curva caratteristica associate) consente di collocare la cella PCM 2 nello stato programmato †̃01’, fornendo una corrente di uscita che soddisfa la condizione I1<Io<I2, quando viene applicato un terzo impulso di set Set3con il livello di corrente Is3; mentre lo stato programmato †̃10’, con la corrente di uscita che soddisfa la condizione I3<Io<I4, viene raggiunto con il secondo impulso di reset Reset2e con il terzo impulso di set Set3nelle sequenze di impulsi di programmazione di reset e di set.
Come à ̈ chiaro dalla Figura 16, gli stati programmati desiderati possono essere ottenuti anche con correnti di reset maggiori (si vedano ad esempio le ulteriori curve caratteristiche associate agli impulsi di reset Reset4e Reset5). Tuttavia, in modo vantaggioso, il suddetto algoritmo determina l'impulso di reset che consente alla cella PCM 2 di essere programmata allo stato desiderato, avente il valore minimo nella sequenza di impulsi di reset, minimizzando di conseguenza gli stress di programmazione.
Come precedentemente discusso, la funzione di set g può essere regolata (si veda il blocco di processo 54) ad esempio variando il valore del gradiente di aumento di set ∆ISktra due consecutivi impulsi di set Setk, Setk+1, modulando di conseguenza l'inclinazione della sequenza SCU che può essere associata agli impulsi di programmazione di set.
Secondo una particolare forma di realizzazione della presente invenzione, il gradiente di aumento di set ∆ISkviene modificato, per esempio viene diminuito, quando si determina che la cella PCM 2 à ̈ vicina al j<esimo>stato programmato intermedio desiderato.
Nel dettaglio, viene introdotto un ulteriore valore da discriminare per la corrente di lettura Ixj, che à ̈ vicino alla soglia inferiore Ijassociata al j<esimo>stato programmato. Per esempio, se la cella PCM 2 deve essere collocata nel primo stato intermedio (livello di bit †̃01’), la corrente di lettura deve essere compresa tra i livelli di corrente I1e I2; di conseguenza, viene introdotto un ulteriore livello di corrente avente un valore Ix1vicino, ma ancora inferiore a I1. Quando, durante un'operazione di verifica, la corrente di uscita Iodiventa maggiore di questo ulteriore valore di corrente Ix1, si determina che la cella di memoria à ̈ vicina allo stato programmato desiderato e il circuito di programmazione 7a viene controllato per applicare un gradiente di aumento di set minore ∆Is2(ed un’inclinazione inferiore α2) tra due consecutivi impulsi di set, inferiori ad un gradiente iniziale ∆Is1ed inclinazione α1. In questa maniera, utilizzando aumenti di corrente più piccoli, à ̈ possibile collocare in modo più fine ed accurato le celle PCM 2 nello stato programmato desiderato.
Nel dettaglio, le Figure 17a, 17b mostrano una curva caratteristica di programmazione per due diverse celle PCM 2, indicate come CellaA e CellaB, con un ulteriore valore da discriminare Ix3vicino al livello di corrente di lettura I3(associato alla programmazione del secondo stato intermedio e livello di bit †̃10’). Una possibile sequenza esemplificativa di impulsi di programmazione di set e di reset secondo questa forma di realizzazione viene mostrata nelle Figure 18a, 18b.
Come mostrato nella Figura 18a per la cella di memoria CellaA, durante una sequenza di set che segue un i<esimo>impulso di reset Reseti, la corrente di uscita Iodiventa maggiore dell'ulteriore valore di corrente Ix3dopo il secondo impulso di set Set2; dopodiché, l'inclinazione ridotta α2ed il gradiente di aumento più piccolo ∆Is2vengono applicati agli impulsi di set. Come mostrato nella Figura 18b per la cella di memoria CellaB, la corrente di uscita Iodiventa maggiore dell'ulteriore valore di corrente Ix3solo dopo che à ̈ stato applicato il quarto valore di set Set4, e dopodiché vengono applicati l'inclinazione ridotta α2ed il gradiente di aumento più piccolo ∆Is2.
Nella figura 19, viene illustrata una porzione di un sistema 70 secondo un'ulteriore forma di realizzazione della presente invenzione. Il sistema 70 può essere utilizzato in dispositivi quali, per esempio, un assistente digitale personale (PDA), un computer portatile o portabile, possibilmente con capacità wireless, un telefono cellulare, un dispositivo di messaggistica, un riproduttore musicale digitale, una foto- o videocamera digitale, o altri dispositivi che possano essere adattati per elaborare, memorizzare, trasmettere o ricevere informazioni e che richiedano una capacità permanente di memorizzazione.
Il sistema 70 può comprendere un controllore 71, un dispositivo di ingresso (input)/output (I/O) 72 (per esempio una tastiera, un visualizzatore), il dispositivo di memoria a cambiamento di fase 1, un'interfaccia wireless 74, ed una memoria RAM 76, accoppiati gli uni agli altri tramite un bus 75. Una batteria 78 può essere utilizzata per fornire potenza al sistema 70 in una forma di realizzazione. Si dovrebbe notare che l'ambito della presente invenzione non à ̈ limitato a forme di realizzazione aventi necessariamente alcuni o tutti i componenti elencati sopra.
Il controllore 71 può comprendere, per esempio, uno o più microprocessori, elaboratori di segnali digitali (DSP), microcontrollori o simili.
Il dispositivo I/O 72 può essere utilizzato per generare un messaggio. Il sistema 70 può utilizzare l'interfaccia wireless 74 per trasmettere e ricevere messaggi verso e da una rete di comunicazione wireless con un segnale a radiofrequenza (RF). Esempi dell'interfaccia wireless 74 possono comprendere un'antenna, o un ricetrasmettitore wireless, quale un'antenna a dipolo, sebbene l'ambito della presente invenzione non sia in questo senso limitato. Inoltre, il dispositivo I/O 72 può fornire una tensione che riflette ciò che viene memorizzato o come un’uscita digitale (se erano state memorizzate informazioni digitali), o come informazioni analogiche (se erano state memorizzate informazioni analogiche).
Dalla precedente descrizione, sono evidenti i vantaggi che il metodo di programmazione multilivello secondo la presente invenzione consente di ottenere.
In particolare, per ciascuna cella PCM 2 si determina in modo dinamico ed adattativo il minimo impulso di reset che consente di programmare ciascuno stato desiderato intermedio, in modo che sia possibile eseguire le operazioni di programmazione con un'accuratezza maggiore e stress minimi in ogni cella. Poiché vengono applicati impulsi di reset che sono specifici per le caratteristiche delle celle PCM 2, vengono formati cappucci amorfi 25 con proprietà simili gli uni agli altri, compensando le differenze nelle caratteristiche elettriche e geometriche di ciascuna cella con la variazione della corrente di reset. Gli impulsi di programmazione di set possono avere un intervallo più piccolo, poiché essi devono compensare una dispersione più piccola del volume del cappuccio amorfo 25; in particolare, questo intervallo sarà sostanzialmente solo una funzione dei fenomeni stocastici che si verificano durante la formazione del percorso conduttivo 27. Gli effetti termici del riscaldatore durante la scrittura dei contenuti della cella di memoria vengono notevolmente ridotti, poiché le correnti di programmazione hanno valori più piccoli e meno dispersi. Inoltre, la popolazione dei percorsi conduttivi 27 ottenuti utilizzando il metodo proposto à ̈ più uniforme e mostra un comportamento più coerente. In particolare, le funzioni di reset e di set, che generano iterativamente i valori per gli impulsi di reset e di set, possono essere regolate in modo adattativo durante le operazioni di programmazione, al fine di regolare in modo dinamico l'algoritmo per la caratteristica specifica delle celle di memoria da programmare.
L'algoritmo proposto consente di determinare, in maniera indiretta, il valore di reset più appropriato da fornire a ciascuna cella PCM 2. In effetti, durante un'operazione di lettura avente una durata di 50-100 ns, non à ̈ possibile eseguire un’operazione di programmazione e verifica accurata ed affidabile sulla popolazione resettata; in particolare, in un intervallo di tempo della stessa durata di quello dell'operazione di lettura, i valori della corrente di lettura possono consentire di determinare se le celle sono al di sotto o al di sopra una data soglia di corrente (nell'ordine di 1Î1⁄4A) ma non possono consentire di rilevare il valore esatto della resistenza equivalente di ciascuna cella, poiché la corrente della cella à ̈ molto piccola. La possibilità di essere in grado di determinare indirettamente i valori di reset ottimali à ̈ di conseguenza chiaramente vantaggiosa.
Più in generale, l'algoritmo di programmazione descritto consente di ottenere i seguenti vantaggi: una riduzione degli impulsi di programmazione; distribuzioni più accentuata (“peaked†); una finestra di lettura più ampia; dati più stabili; e una migliore compensazione di disturbi di programmazione.
Infine, Ã ̈ chiaro che possono essere apportate numerose modifiche e varianti al metodo e al dispositivo qui descritti ed illustrati, tutte rientranti nell'ambito di protezione dell'invenzione, come definito nelle rivendicazioni allegate.
In particolare, Ã ̈ chiaro che sia la programmazione che la lettura delle celle di memoria possono essere implementate utilizzando in modo uguale grandezze elettriche di tensione o di corrente. Di conseguenza, sebbene nella precedente descrizione si sia fatto specifico riferimento ad un dispositivo di memoria e a celle PCM che sfruttano impulsi di programmazione di corrente e livelli di corrente di lettura, si deve comprendere che possono anche essere utilizzati dispositivi di memoria e celle PCM leggibili e/o programmabili tramite livelli e impulsi di tensione.
Nell'algoritmo di programmazione descritto i valori attuali degli impulsi di reset (Reseti) e di set (Setk) possono essere determinati come qualsiasi data funzione dei valori assunti nella precedente iterazione. Inoltre, la regolazione delle funzioni di reset e di set iterative f, g può prevedere qualsiasi tipo di relativa modifica, in particolare sulla base del valore raggiunto dai rispettivi indici di iterazione i e k (ed il loro avvicinarsi ai rispettivi valori massimi imaxe kmax) e/o della prossimità ad una data condizione limite (indicata con “impulso massimo†nel blocco 56 della Figura 10b).
Chiaramente, possono essere memorizzati più di due bit in ciascuna cella PCM 2 (per esempio tre o quattro bit corrispondenti rispettivamente a 8 e 16 stati programmati). Inoltre, possono essere utilizzati diversi livelli di impulsi di reset (nella sequenza SCUR) durante le operazioni di programmazione associate a ciascun diverso stato programmato delle celle di memoria.
Gli impulsi di reset/set possono avere diverse forme, invece di essere rettangolari (o “box-like†). In particolare, gli impulsi di reset/set possono avere fronti inclinati invece che verticali, al fine di controllare il riscaldamento e il raffreddamento del materiale a cambiamento di fase. Per esempio, gli impulsi di reset/set possono essere triangolari, con fronti di salita verticali e fronti di discesa ad inclinazione costante, o trapezoidali con fronti di salita verticali e fronti di discesa a inclinazione costante. Il controllo dei fronti impedisce la formazione di tasche amorfe non desiderate nei percorsi cristallini. Inoltre, sia nel riscaldamento che nel raffreddamento, la densità della corrente nei percorsi cristallini può essere mantenuta costante, per mantenere condizioni di temperatura stabili e controllate nel materiale a cambiamento di fase, in un intervallo di temperatura ottimale per la formazione di cristalli. La regolazione della funzione di reset/set g/f può di conseguenza prevedere anche la modifica della forma di impulso, per esempio da una forma rettangolare ad una forma con fronti inclinati.

Claims (14)

  1. RIVENDICAZIONI 1. Metodo di programmazione multilivello di celle PCM (2) comprendente le fasi di: formare una regione amorfa (25) di materiale a cambiamento di fase amorfo in un elemento di memorizzazione (10) di una cella PCM (2) applicando almeno un impulso di reset (Reseti); e formare un percorso conduttivo (27) attraverso detta regione amorfa (25) applicando almeno un impulso di set (Setk), la dimensione (L, S) di detto percorso conduttivo (27) definendo uno stato programmato di detta cella PCM (2) ed una grandezza elettrica di uscita (Io) ad esso associata, ed essendo controllata dal valore di detto impulso di reset (Reseti) e di detto impulso di set (Setk), caratterizzato dal fatto che la fase di formare una regione amorfa (25) comprende determinare in modo adattativo ed iterativo, durante detta programmazione, un valore di detto impulso di reset (Reseti) adatto per proprietà elettriche e/o fisiche di detta cella PCM (2).
  2. 2. Metodo secondo la rivendicazione 1, in cui la fase di determinare in modo adattativo ed iterativo comprende determinare un valore ottimizzato di detto impulso di reset (Reseti) che consente di programmare uno stato programmato desiderato in detta cella PCM (2) ed un livello programmato desiderato di detta grandezza elettrica di uscita (Io).
  3. 3. Metodo secondo la rivendicazione 2, in cui la fase di determinare in modo adattativo ed iterativo comprende determinare un valore ottimizzato di detto impulso di reset (Reseti) per ciascuna di dette celle PCM (2) e ciascuno stato programmato fra uno o più stati programmati intermedi tra uno stato programmato di reset completo ed uno stato programmato di set completo.
  4. 4. Metodo secondo la rivendicazione 3, in cui la fase di determinare in modo adattativo ed iterativo comprende: applicare iterativamente a detta cella PCM (2) uno o più impulsi di reset (Reseti) in una sequenza di impulsi di reset (Reseti); e verificare, dopo l'applicazione di ciascun impulso di reset (Reseti), il valore della grandezza elettrica di uscita (Io) associata a detta cella PCM (2), per determinare, fra detti impulsi di reset (Reseti), l'impulso di reset con un valore minimo che consente di ottenere detto livello programmato desiderato di detta grandezza elettrica di uscita (Io); un impulso di reset attuale (Reseti) di detta sequenza essendo determinato in modo iterativo come una prima funzione (f) dell’impulso di reset precedente (Reseti-1) in detta sequenza, e l'applicazione di detta sequenza essendo interrotta dopo che detto livello programmato desiderato di detta grandezza elettrica di uscita (Io) à ̈ stato raggiunto.
  5. 5. Metodo secondo la rivendicazione 4, in cui durante detta sequenza di impulsi di reset (Reseti) detta prima funzione (f) genera un incremento di un valore di detto impulso di reset attuale (Reseti) rispetto a detto impulso di reset precedente (Reseti- 1) di detta sequenza; e in cui la fase di determinare in modo adattativo ed iterativo comprende inoltre regolare detta prima funzione (f) durante detta sequenza di impulsi di reset (Reseti).
  6. 6. Metodo secondo la rivendicazione 4 o 5, in cui la fase di formare un percorso conduttivo (27) comprende, durante la programmazione di un dato stato tra detti uno o più stati programmati intermedi, le fasi di: applicare in modo iterativo, dopo ciascun impulso di reset (Reseti), uno o più impulsi di set (Setk) in una sequenza di impulsi di set (Setk) per convertire porzioni di materiale a cambiamento di fase amorfo all'interno di detta regione amorfa (25) in materiale a cambiamento di fase cristallino; e verificare, dopo ciascun impulso di set (Setk), se la grandezza elettrica di uscita (Io) associata a detta cella PCM (2) ha raggiunto il livello programmato desiderato, interrompendo così detta sequenza di impulsi di set (Setk); un impulso di set attuale (Setk) di detta sequenza essendo determinato in modo iterativo come una seconda funzione (g) dell'impulso di set precedentemente determinato (Setk-1) in detta sequenza.
  7. 7. Metodo secondo la rivendicazione 6, in cui la fase di determinare in modo adattativo ed iterativo comprende, nel caso in cui detta grandezza elettrica di uscita (Io) associata a detta cella PCM (2) non abbia raggiunto il livello programmato desiderato dopo che detta sequenza di impulsi di set (Setk) Ã ̈ stata eseguita, la fase di modificare detta prima funzione (f) al fine di determinare un valore diminuito per detto impulso di reset (Reseti).
  8. 8. Metodo secondo la rivendicazione 6 o 7, in cui la fase di applicare una sequenza di impulsi di set (Setk) comprende inoltre regolare detta seconda funzione (g) durante detta sequenza di impulsi di set (Setk).
  9. 9. Metodo secondo la rivendicazione 8, in cui ciascun impulso di reset (Reseti) in detta sequenza di impulsi di reset (Reseti) definisce una curva caratteristica di programmazione associata a detta cella PCM (2), lungo la quale ciascuno di detti impulsi di set (Setk) definisce un rispettivo valore di detta grandezza elettrica di uscita (Io) associata a detta cella PCM (2); ed in cui la fase di verificare se la grandezza elettrica di uscita (Io) ha raggiunto un livello programmato desiderato comprende confrontare detta grandezza elettrica di uscita (Io) con una soglia inferiore (Ij) e con una soglia superiore (Ij+1), che sono associate allo stato programmato intermedio da programmare.
  10. 10. Metodo secondo la rivendicazione 9, in cui la fase di confrontare detta grandezza elettrica di uscita (Io) comprende: definire un valore di soglia di prossimità (Ixj) prossimo inferiormente a detta soglia inferiore (Ij), e determinare una condizione di prossimità in cui detta grandezza elettrica di uscita (Io) diventa maggiore di detto valore di soglia di prossimità (Ixj); ed in cui regolare detta seconda funzione (g) comprende, dopo la determinazione di detta condizione di prossimità, la fase di diminuire un gradiente di incremento (∆ISk) tra impulsi di set consecutivi (Setk-1, Setk) in detta sequenza, al fine di definire più finemente il valore programmato per detta grandezza elettrica di uscita (Io).
  11. 11. Metodo secondo una qualsiasi delle rivendicazioni 4-10, in cui un diverso volume di detta regione amorfa (25) corrisponde a ciascuno di detti impulsi di reset (Reseti) in detta sequenza di impulsi di reset (Reseti).
  12. 12. Dispositivo di memoria a cambiamento di fase (1) comprendente: una pluralità di celle PCM (2); un'unità di programmazione/lettura (7) per programmare le celle PCM (2); e un'unità di controllo (6) accoppiata all'unità di programmazione/lettura (7) e configurata per controllare l'unità di programmazione/lettura (7), in modo che esegua il metodo secondo una qualsiasi delle rivendicazioni precedenti.
  13. 13. Dispositivo secondo la rivendicazione 12, in cui ciascuna di dette celle PCM (2) comprende un elemento di riscaldamento (16) avente una regione di contatto con detto elemento di memorizzazione (10) con dimensioni sub-litografiche, ed azionabile per riscaldare detto elemento di memorizzazione (10) attraverso l'applicazione di detti impulsi di set (Setk) e di reset (Reseti).
  14. 14. Sistema (70) comprendente: un'unità di elaborazione (71); un'interfaccia (74) accoppiata a detta unità di elaborazione (71); ed un dispositivo di memoria a cambiamento di fase (1), secondo qualsiasi delle rivendicazioni 12 o 13, accoppiato a detta unità di elaborazione (71).
ITTO2008A001018A 2008-12-30 2008-12-30 Metodo di programmazione multilivello di celle di memoria a cambiamento di fase utilizzante impulsi di reset adattativi IT1392578B1 (it)

Priority Applications (2)

Application Number Priority Date Filing Date Title
ITTO2008A001018A IT1392578B1 (it) 2008-12-30 2008-12-30 Metodo di programmazione multilivello di celle di memoria a cambiamento di fase utilizzante impulsi di reset adattativi
US12/780,580 US8149616B2 (en) 2008-12-30 2010-05-14 Method for multilevel programming of phase change memory cells using adaptive reset pulses

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
ITTO2008A001018A IT1392578B1 (it) 2008-12-30 2008-12-30 Metodo di programmazione multilivello di celle di memoria a cambiamento di fase utilizzante impulsi di reset adattativi

Publications (2)

Publication Number Publication Date
ITTO20081018A1 true ITTO20081018A1 (it) 2010-06-30
IT1392578B1 IT1392578B1 (it) 2012-03-09

Family

ID=41119921

Family Applications (1)

Application Number Title Priority Date Filing Date
ITTO2008A001018A IT1392578B1 (it) 2008-12-30 2008-12-30 Metodo di programmazione multilivello di celle di memoria a cambiamento di fase utilizzante impulsi di reset adattativi

Country Status (2)

Country Link
US (1) US8149616B2 (it)
IT (1) IT1392578B1 (it)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7916544B2 (en) * 2008-01-25 2011-03-29 Micron Technology, Inc. Random telegraph signal noise reduction scheme for semiconductor memories
US8289762B2 (en) * 2009-10-30 2012-10-16 Intel Corporation Double-pulse write for phase change memory
JP2012014769A (ja) * 2010-06-30 2012-01-19 Elpida Memory Inc 半導体装置およびそのテスト方法
US8787065B2 (en) 2011-10-18 2014-07-22 Micron Technology, Inc. Apparatuses and methods for determining stability of a memory cell
US8958233B2 (en) 2011-10-18 2015-02-17 Micron Technology, Inc. Stabilization of resistive memory
US8730708B2 (en) 2011-11-01 2014-05-20 Micron Technology, Inc. Performing forming processes on resistive memory
US9218876B2 (en) 2012-05-08 2015-12-22 Micron Technology, Inc. Methods, articles and devices for pulse adjustments to program a memory cell
US9117519B2 (en) 2012-08-29 2015-08-25 Micron Technology, Inc. Methods, devices and systems using over-reset state in a memory cell
US9183929B2 (en) 2012-08-29 2015-11-10 Micron Technology, Inc. Systems, methods and devices for programming a multilevel resistive memory cell
US8988926B2 (en) 2013-01-11 2015-03-24 Micron Technology, Inc. Method, system and device for phase change memory with shunt
KR20140117893A (ko) * 2013-03-27 2014-10-08 인텔렉추얼디스커버리 주식회사 상변화 메모리 소자 및 상변화 메모리 소자의 멀티 레벨 프로그램 방법
CN103714852B (zh) * 2013-12-18 2017-03-01 华中科技大学 一种精确控制微纳尺寸相变材料非晶化率连续变化的方法
CN105448332A (zh) * 2014-09-16 2016-03-30 复旦大学 一种电阻型随机读取存储器及其写操作方法
US20180277208A1 (en) * 2017-03-27 2018-09-27 Sandisk Technologies Llc Methods and apparatus for programming barrier modulated memory cells
US10424374B2 (en) 2017-04-28 2019-09-24 Micron Technology, Inc. Programming enhancement in self-selecting memory
FR3066308B1 (fr) 2017-05-09 2021-07-30 Commissariat Energie Atomique Procede de gestion de l'endurance d'une memoire reinscriptible non volatile et dispositif de programmation d'une telle memoire
US10354724B2 (en) * 2017-09-15 2019-07-16 Sandisk Technologies Llc Methods and apparatus for programming barrier modulated memory cells
US10424730B2 (en) 2018-02-09 2019-09-24 Micron Technology, Inc. Tapered memory cell profiles
US10854813B2 (en) 2018-02-09 2020-12-01 Micron Technology, Inc. Dopant-modulated etching for memory devices
IT201900021606A1 (it) 2019-11-19 2021-05-19 St Microelectronics Srl Dispositivo di memoria a cambiamento di fase e metodo di programmazione di un dispositivo di memoria a cambiamento di fase
EP4099327A1 (en) * 2021-06-04 2022-12-07 Commissariat à l'Energie Atomique et aux Energies Alternatives Method for programming an array of resistive memory cells

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004013862A2 (en) * 2002-08-05 2004-02-12 Intel Corporation Refreshing memory cells of a phase change material memory device
US20060126380A1 (en) * 2004-11-26 2006-06-15 Renesas Technology Corp. Semiconductor device
US20060220688A1 (en) * 2005-04-04 2006-10-05 International Business Machines Corporation Precision tuning of a phase-change resistive element
EP1729303A1 (en) * 2005-06-03 2006-12-06 STMicroelectronics S.r.l. Method for multilevel programming of phase change memory cells using a percolation algorithm

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE60137788D1 (de) 2001-12-27 2009-04-09 St Microelectronics Srl Architektur einer nichtflüchtigen Phasenwechsel -Speichermatrix
US6670628B2 (en) * 2002-04-04 2003-12-30 Hewlett-Packard Company, L.P. Low heat loss and small contact area composite electrode for a phase change media memory device
US7220982B2 (en) * 2004-07-27 2007-05-22 Micron Technology, Inc. Amorphous carbon-based non-volatile memory
US20090008024A1 (en) 2004-12-28 2009-01-08 Maurizio Marchini Method and Apparatus for Manufacturing Pneumatic Tyres
KR100794654B1 (ko) * 2005-07-06 2008-01-14 삼성전자주식회사 상 변화 메모리 장치 및 그것의 프로그램 방법
WO2007057972A1 (ja) * 2005-11-21 2007-05-24 Renesas Technology Corp. 半導体装置
JP2009026382A (ja) * 2007-07-19 2009-02-05 Hitachi Ltd 半導体記憶装置
US7787291B2 (en) 2007-09-26 2010-08-31 Intel Corporation Programming a multilevel phase change memory cell
US7869270B2 (en) * 2008-12-29 2011-01-11 Macronix International Co., Ltd. Set algorithm for phase change memory cell
US7965537B2 (en) * 2009-06-25 2011-06-21 International Business Machines Corporation Phase change memory with finite annular conductive path

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004013862A2 (en) * 2002-08-05 2004-02-12 Intel Corporation Refreshing memory cells of a phase change material memory device
US20060126380A1 (en) * 2004-11-26 2006-06-15 Renesas Technology Corp. Semiconductor device
US20060220688A1 (en) * 2005-04-04 2006-10-05 International Business Machines Corporation Precision tuning of a phase-change resistive element
EP1729303A1 (en) * 2005-06-03 2006-12-06 STMicroelectronics S.r.l. Method for multilevel programming of phase change memory cells using a percolation algorithm

Also Published As

Publication number Publication date
US20100284212A1 (en) 2010-11-11
US8149616B2 (en) 2012-04-03
IT1392578B1 (it) 2012-03-09

Similar Documents

Publication Publication Date Title
ITTO20081018A1 (it) Metodo di programmazione multilivello di celle di memoria a cambiamento di fase utilizzante impulsi di reset adattativi
US9293199B2 (en) Phase-change memory cells
JP5354596B2 (ja) 相変化メモリセルの低ストレスマルチレベル読み取り方法及びマルチレベル相変化メモリデバイス
US9257639B2 (en) Phase-change memory cells
KR101553131B1 (ko) 상 변화 메모리 및 스위치(pcms) 메모리 셀을 리셋하기 위한 방법 및 장치
US9570169B1 (en) Resistive memory device
US9087987B2 (en) Phase-change memory cells
US7787291B2 (en) Programming a multilevel phase change memory cell
US7646632B2 (en) Integrated circuit for setting a memory cell based on a reset current distribution
US9070438B2 (en) Programming of phase-change memory cells
US8289762B2 (en) Double-pulse write for phase change memory
CN111149168B (zh) 电阻式存储器设备
US20090147563A1 (en) Integrated circuit for programming a memory element
JP2010157306A6 (ja) 相変化メモリセルの低ストレスマルチレベル読み取り方法及びマルチレベル相変化メモリデバイス
KR100866657B1 (ko) 상변화 메모리용 방법, 장치 및 시스템
KR20100009325A (ko) 다중치 상변화 메모리 소자
Li et al. Electrothermal modeling and design strategies for multibit phase-change memory
US8908417B2 (en) Systems, methods, and devices with write optimization in phase change memory
US20050032307A1 (en) Damascene phase change memory
US20050029504A1 (en) Reducing parasitic conductive paths in phase change memories
US9548110B2 (en) Memory device and method for thermoelectric heat confinement
TWI384663B (zh) The method of styling a phase - changing memory cell and the phase - changing memory