FR 3066309 A1 20181116 FR 1754044 A 20170509 1. PROCEDE DE GESTION DE L'ENDURANCE D'UNE MEMOIRE REINSCRIPTIBLE NON VOLATILE ET DISPOSITIF DE PROGRAMMATION D'UNE TELLE MEMOIRE DOMAINE TECHNIQUE La présente invention concerne un procédé de gestion de l'endurance d'une mémoire réinscriptible non volatile. L'invention concerne également un dispositif de programmation d'une telle mémoire réinscriptible non volatile. L'invention trouve des applications dans le domaine des mémoires réinscriptibles non volatiles et, plus spécifiquement, celui des mémoires résistives de type OxRRAM (« Oxyde-based Resistive RAM» et CBRAM (« Conductive Bridging RAM »). ETAT DE LA TECHNIQUE Dans le domaine des mémoires réinscriptibles non volatiles, différents types de mémoires sont utilisés en fonction des applications et des performances visées. Les mémoires les plus couramment utilisées, en particulier dans les appareils photos numériques, les téléphones cellulaires, les ordinateurs portables, le clés USB, et autres dispositifs portables, sont des mémoires appelées « mémoires Flash ». Les mémoires flash offrent, notamment, une forte densité d'intégration, une grande zo résistance aux chocs et une bonne durabilité. La plupart des mémoires Flash non-volatiles du commerce utilisent le stockage de charges comme principe de codage de l'information. En pratique, une couche de piégeage de charge (généralement du polysilicium, ou un diélectrique comme le SiN) est encapsulée entre deux diélectriques dans l'empilement de grille 25 d'un transistor MOS. La présence ou l'absence de charge dans ce medium modifie la conduction du transistor MOS et permet de coder l'état de la mémoire. Toutefois, l'évolution de la microélectronique nécessite une miniaturisation toujours plus poussée des composants et, en particulier, des mémoires réinscriptibles non volatiles. Or, la miniaturisation de la technologie Flash est limitée, 30 notamment par le fait que l'épaisseur de la couche de piégeage de charge ne peut 3066309 2 être réduite en dessous d'une valeur minimale (de l'ordre de 6nm) sous peine de diminuer le temps de rétention de l'information. Récemment, un nouveau type de mémoires, appelées mémoires résistives, ont fait leur apparition pour remplacer les mémoires Flash. Ces mémoires résistives 5 ne reposent pas sur le piégeage de charge des grilles de transistors, mais sur un changement d'état d'un bloc résistif. Les mémoires résistives, notamment les mémoires résistives à base d'oxyde, nommées OxRRAM, et les mémoires résistives à base de matériau à conduction ionique, nommées CBRAM, sont basées sur un changement de l'état de résistance (forte ou faible résistance) d'un matériau actif 10 intégré entre deux électrodes métalliques. Ce nouveau type de mémoire permet, non seulement une forte densité d'intégration, mais également une vitesse de fonctionnement élevée, une grande endurance et une bonne compatibilité avec les procédés de fabrication utilisés actuellement dans l'industrie microélectronique, en particulier avec les procédés de fin de ligne de la technologie CMOS. 15 Une mémoire résistive comprend généralement une pluralité de cellules mémoire, appelées également points mémoire. Chaque cellule mémoire comporte un empilement 10 d'une première et d'une seconde électrodes, généralement en métal, et d'une couche en matériau actif, par exemple un oxyde de métal, disposé entre les deux électrodes. Un exemple d'une cellule mémoire résistive est représenté sur la figure 1. Cette mémoire résistive comporte une première électrode 11, une seconde électrode 12 et une couche en matériau diélectrique 13 agencée entre les première et seconde électrodes. La seconde électrode 12 de la mémoire résistive est ménagée au contact d'un substrat connecteur 14 assurant un contact électrique entre un dispositif de programmation et l'empilement. Le dispositif de programmation permet de contrôler les conditions de programmation, par exemple la tension de programmation, appliquées aux électrodes 11 et 12 de l'empilement. La couche en matériau diélectrique13, appelée également couche active, est apte à commuter, de manière réversible, entre deux états de résistance qui correspondent aux valeurs logiques « 0 » et « 1 » utilisées pour coder un bit d'information. Ainsi, un empilement de mémoire résistive peut basculer d'un état faiblement résistif LRS ( « Low Resistance State » en termes anglo-saxons) à un état fortement résistif HRS ( « High Resistance State » en termes anglo-saxons) par l'application d'une première tension VRESET entre la première 11 et la seconde 12 3066309 3 électrodes, et rebasculer de l'état fortement résistif HRS à l'état faiblement résistif LRS par l'application d'une deuxième tension VSET entre les première et seconde électrodes. En particulier, une information est écrite dans la cellule mémoire en basculant la couche en matériau diélectrique de l'état fortement résistif HRS, appelé 5 également état « OFF », à l'état faiblement résistif LRS, ou état « ON ». À l'inverse, une information peut être effacée de la cellule mémoire en basculant la couche en matériau diélectrique de l'état LRS vers l'état HRS. L'opération d'écriture dans le cellule mémoire est appelée « SET » ; l'opération d'effacement de ladite cellule mémoire est appelée « RESET ». 10 Ainsi, lors d'une opération d'écriture, le matériau diélectrique comporte une première valeur de résistance et, lors d'une opération d'effacement, il comporte une deuxième valeur de résistance, inférieure à la première valeur de résistance. Le changement de résistance du matériau diélectrique est gouverné par la formation et la rupture d'un filament conducteur de section nanométrique entre les deux 15 électrodes 11-12. En l'état actuel des connaissances, ce filament semble être dû à des phénomènes différents, dépendant du type de matériau utilisé pour la couche de matériau actif. En particulier, dans une mémoire résistive de type OxRRAM dans laquelle la couche de matériau diélectrique est à base d'oxyde, le changement d'état résistif semble s'expliquer par la formation d'un filament de lacunes d'oxygène au 20 sein de ladite couche de matériau diélectrique. Dans une mémoire résistive de type CBRAM, dans laquelle la couche de matériau diélectrique comporte un matériau à conduction ionique formant un électrolyte solide à conduction ionique disposé entre une électrode formant une cathode inerte et une électrode comportant une portion de métal ionisable, le changement d'état résistif semble s'expliquer par la formation d'un 25 filament conducteur au sein de la couche de matériau diélectrique. Toutefois, dans les mémoires résistives, il existe une certaine variabilité des niveaux de résistances, tant à l'état faiblement résistif LRS qu'à l'état fortement résistif HRS. En effet, à chaque cycle d'écriture et d'effacement de la mémoire, les valeurs de la résistance Roff à l'état fortement résistif HRS et les valeurs de la 30 résistance Ron à l'état faiblement résistif LRS fluctuent, comme représenté par les courbes de fluctuation des résistances Roff et Ron de la figure 2. En outre, au fur et à mesure des cycles d'écriture et d'effacement de la mémoire, les niveaux des résistances du matériau diélectrique dérivent, s'écartant de 3066309 4 plus en plus des valeurs de résistance des premiers cycles, comme montré par la figure 2. Du fait de ces dérives, les conditions de programmation - par exemple la tension ou le courant de programmation - doivent être modifiées pour permettre l'écriture ou l'effacement d'un matériau diélectrique. Ces modifications consistent 5 généralement à appliquer une tension ou un courant de programmation très fort ou, au contraire, très faible. Or, l'application de conditions de programmation trop faibles empêche toute écriture et l'application de conditions de programmation trop fortes lors de l'opération d'effacement génère des défauts dans le matériau diélectrique, ce qui dégrade le matériau diélectrique. Les performances des mémoires résistives ont 10 donc tendance à se dégrader de plus en plus au fil des cycles d'écriture et d'effacement. Les performances en endurance de ces mémoires sont donc relativement restreintes. Pour remédier à ce problème d'endurance et ainsi allonger la durée de vie des mémoires résistives, il est connu d'utiliser un procédé dit de « smart programming » 15 qui a pour objectif de compenser les défauts accumulés au cours de plusieurs cycles d'écriture et d'effacement de la mémoire. Pour cela, le procédé de smart programming propose d'appliquer une tension de compensation qui augmente progressivement jusqu'à ce que le matériau diélectrique atteigne une valeur de résistance cible. Autrement dit, ce procédé propose de déterminer une valeur de 20 résistance cible considérée comme la valeur de résistance optimale à atteindre. Une tension de compensation - ou une durée ou un nombre d'impulsions à niveau de tension constant - destinée à compenser les défauts dans le matériau diélectrique, est ensuite appliquée depuis une valeur faible qui est augmentée pas par pas jusqu'à ce que la résistance atteigne la valeur cible prédéterminée. Les conditions de 25 compensation (tension ou durée d'impulsion) sont appliquées pour compenser les défauts au sein du matériau diélectrique aussi bien dans son état faiblement résistif que dans son état fortement résistif. Les figures 3A et 3B représentent des courbes, respectivement, des valeurs de résistances du matériau diélectrique et des valeurs de la tension de compensation 30 appliquée à la mémoire, au cours des cycles, lorsqu'un procédé de smart programming est utilisé. Comme le montrent ces courbes, lorsqu'une tension de compensation en écriture (courbe « set ») et en effacement (courbe « reset ») est appliquée, la valeur de la résistance augmente. Cependant, l'augmentation des 3066309 5 valeurs de résistance n'est que momentanée, les valeurs de résistances diminuant à nouveau rapidement après l'application de la tension de compensation. En effet, la compensation en tension n'étant réalisée qu'après un certain nombre de cycles - par exemple aux environs de 102 et 104 cycles sur les figures 3A-3B - la mémoire est 5 déjà fortement détériorée lorsque la tension de compensation est appliquée. Cette compensation camouffle donc les défauts générés au fur et à mesure des cycles, sans toutefois les réparer. En effet, les défauts du matériau diélectrique à l'origine de la modification des niveaux résistifs du matériau diélectriques sont irréversibles. Il n'est donc pas possible de les réparer, mais uniquement de les compenser. 10 Or, la compensation de ces défauts avec le procédé de smart programming nécessite l'application de fortes conditions de compensation, par exemple une tension de compensation élevée. Or, de fortes conditions de compensation génèrent de nouveaux défauts au sein du matériau diélectrique ; et plus les conditions de compensation sont élevées, plus le nombre de défauts est élevé. 15 Pour compenser les défauts le plus justement possible, il pourrait être envisagé d'augmenter le niveau des conditions de compensation très lentement, avec un pas très court, jusqu' à d'atteindre le niveau juste suffisant pour compenser les défauts, sans générer trop de défauts supplémentaires. Toutefois, une telle pratique serait si longue qu'elle ne serait pas exploitable industriellement. zo RESUME DE L'INVENTION Pour répondre au problème évoqué ci-dessus de la compensation momentanée des défauts dans le matériau diélectrique, le demandeur propose un procédé de gestion de l'endurance d'une mémoire résistive dans lequel des conditions de programmation sont déterminées à la fin de chaque opération d'écriture ou 25 d'effacement afin de limiter les dérives de résistance à chaque opération et, ainsi, ralentir la dégradation de la mémoire. Selon un premier aspect, l'invention concerne un procédé de gestion de l'endurance d'une mémoire réinscriptible non-volatile comprenant une pluralité d'empilements ordonnés d'une électrode inférieure, d'une couche de matériau 30 diélectrique et d'une électrode supérieure, le matériau diélectrique de chaque empilement étant apte à commuter entre : - un état fortement résistif, dans lequel ledit matériau diélectrique présente une 3066309 6 première valeur de résistance (Roff), et - un état faiblement résistif, dans lequel ledit matériau diélectrique présente une deuxième valeur de résistance (Ron), une commutation entre l'état fortement résistif et l'état faiblement résistif autorisant 5 une écriture dans la mémoire et une commutation entre l'état faiblement résistif et l'état fortement résistif autorisant un effacement dans ladite mémoire, Ce procédé se caractérise par le fait qu'il comporte, pour chaque empilement, au moins une des opérations suivantes : - à la fin de chaque opération d'effacement : une lecture de la première valeur de 10 résistance du matériau diélectrique, une comparaison de ladite première valeur de résistance avec une première valeur de résistance médiane prédéterminée et une détermination de conditions de programmation en écriture à partir des résultats de ladite comparaison ; et - à la fin de chaque opération d'écriture : une lecture de la deuxième valeur de 15 résistance du matériau diélectrique, une comparaison de ladite deuxième valeur de résistance avec une deuxième valeur de résistance médiane prédéterminée et une détermination de conditions de programmation en effacement à partir des résultats de ladite comparaison, lesdites conditions de programmation en écriture et en programmation étant zo appliquées aux électrodes de l'empilement lors, respectivement, d'opérations d'écriture et d'effacement suivantes afin de limiter la génération de défauts dans le matériau diélectrique au cours des opérations d'écriture et d'effacement. Le fait de limiter les défauts dans le matériau diélectrique, à chaque opération d'écriture ou d'effacement, permet de stabiliser les dérives de résistance de chaque 25 cellule mémoire d'une mémoire résistive. Cette stabilité des dérives de résistance augmente l'endurance de la mémoire et donc sa durée de vie. Dans la description qui suit, l'expression « opération d'écriture » définit une étape d'écriture d'une donnée dans une cellule mémoire et l'expression « opération d'effacement » définit une étape d'effacement de cette même donnée. Une opération 30 d'écriture suivie d'une opération d'effacement constitue un cycle d'écriture et d'effacement, appelé plus simplement cycle. Ainsi, l'expression « conditions de programmation » est à interpréter comme des conditions pour écrire dans une cellule mémoire et/ou effacer cette cellule 3066309 7 mémoire. Les conditions de programmation peuvent donc être des conditions en écriture ou des conditions en effacement d'une cellule mémoire. Les conditions de programmation en écriture sont déterminées en fonction d'une opération d'effacement terminée, appelée opération d'effacement précédente, dans le but 5 d'être appliquées à l'opération d'écriture suivante. De façon similaire, les conditions de programmation en effacement sont déterminées en fonction d'une opération d'écriture terminée, appelée opération d'écriture précédente, dans le but d'être appliquées à l'opération d'effacement suivante. Selon certaines variantes, seules les opérations d'écriture ou seules les 10 opérations d'effacement peuvent être réalisées avec les conditions de programmation déterminées de la façon définie ci-dessus. Selon d'autres variantes, à la fois les opérations d'écriture et les opérations d'effacement sont réalisées avec les conditions de programmation déterminées de la façon définie ci-dessus. Selon une variante, les conditions de programmation comprennent une 15 tension de programmation appliquée entre les électrodes de chaque empilement pendant une durée constante. Selon une autre variante, les conditions de programmation comprennent une durée d'application d'une tension entre les électrodes de chaque empilement, ladite tension étant constante. 20 De façon avantageuse, les première et deuxième valeurs de résistance médianes suivent, respectivement, une première et une deuxième lois de dépendance prédéterminées, reliant les conditions de programmation et les première et deuxième valeurs de résistance lues. Ces lois de dépendance permettent d'adapter le procédé de l'invention à tous types de mémoires résistives, chaque type 25 de mémoire résistive ayant ses propres lois de dépendance. Avantageusement, chaque loi de dépendance est calibrée préalablement à toutes opérations d'écriture et d'effacement. Elles peuvent être calibrées par mesures ou par calculs à partir de paramètres spécifiques à chaque type de mémoire résistive. 30 Selon certains modes de réalisation, les conditions de programmation lues sont mémorisées au moins partiellement jusqu'aux opérations d'écriture ou d'effacement suivantes, dans au moins une cellule mémoire de la mémoire. Selon un second aspect, l'invention concerne un dispositif de programmation 3066309 8 d'une mémoire réinscriptible non-volatile comportant un circuit de programmation connecté aux électrodes de chaque empilement de la mémoire. Ce dispositif se caractérise par le fait qu'il met en oeuvre le procédé définit ci-dessus. Selon certains modes de réalisation, le circuit de programmation comporte une 5 pluralité de générateurs de tension aptes à générer chacun au moins une valeur de tension de programmation. Selon d'autres modes de réalisation, le circuit de programmation comporte au moins un générateur de tension connecté à des ponts diviseurs. Ces différents modes de réalisation permettent de faire varier la tension de 10 programmation afin que la tension appliquée aux électrodes soit le plus proche possible de la valeur de tension déterminée. Selon encore d'autres modes de réalisation, le circuit de programmation comporte au moins un générateur de tension connecté à au moins un compteur et/ou une horloge apte à moduler une durée d'application d'une tension constante sur les 15 électrodes. Ces modes de réalisation permettent de faire varier les conditions de programmation avec un circuit simple et peu couteux. BREVE DESCRIPTION DES FIGURES D'autres avantages et caractéristiques de l'invention apparaîtront à la lecture de zo la description, illustrée par les figures dans lesquelles : - La figure 1, déjà décrite, représente schématiquement un exemple d'une cellule mémoire d'une mémoire résistive ; - La figure 2, déjà décrite, représente des exemples d'évolution des résistances Roff et Ron d'une cellule mémoire au cours des cycles ; 25 - Les figures 3A et 3B, déjà décrites, représentent des exemples d'évolution des résistances Roff et Ron, en fonction des tensions d'écriture et d'effacement, lors d'une mise en oeuvre du procédé de smart programming ; - Les figures 4A et 4B représentent des exemples d'évolution et de distribution des résistances Roff et Ron, lors d'une mise en oeuvre du procédé selon 30 l'invention ; - Les figures 5A-5C représentent des exemples de lois de dépendance utilisées 3066309 9 dans le procédé selon l'invention ; - La figure 6 représente un exemple d'une loi reliant la durée d'application d'une tension avec la valeur de la tension ; - Les figures 7A et 7B représentent schématiquement deux modes de mise en 5 oeuvre de l'ajustement des conditions de programmation. DESCRIPTION DETAILLEE D'AU MOINS UN MODE DE REALISATION Un exemple d'un procédé de gestion de l'endurance d'une mémoire résistive est décrit en détail ci-après, en référence aux dessins annexés. Cet exemple illustre les caractéristiques et avantages de l'invention. Il est toutefois rappelé que l'invention ne 10 se limite pas à cet exemple. Sur les figures, les éléments identiques sont repérés par des références identiques. Pour des questions de lisibilité des figures, les échelles de taille entre éléments représentés ne sont pas respectées. Le procédé de gestion de l'endurance selon l'invention est mis en oeuvre dans 15 une mémoire résistive comportant une pluralité de cellules mémoires, du type de celui représenté sur la figure 1 décrite précédemment. Chaque cellule mémoire comporte un empilement 10, formé d'une électrode inférieure 12, d'une électrode supérieure 11 et d'une couche de matériau diélectrique 13 et associé à un circuit de programmation 15 apte à appliquer une différence de potentiel entre les deux 20 électrodes 11 et 12. Plusieurs cellules mémoire sont agencées les unes à côté des autres, sur un ou plusieurs étages pour former une mémoire résistive. La couche de matériau diélectrique 13, par exemple une couche en Oxyde de Hafnium (Hf02), est capable de passer d'un état faiblement résistif LRS à un état fortement résistif HRS, et inversement, sous l'effet d'une tension appliquée entre les 25 électrodes supérieure et inférieure. A l'état faiblement résistif, le matériau diélectrique a une résistance d'une valeur Ron ; à l'état fortement résistif, le matériau diélectrique a une résistance d'une valeur Roff, supérieure à Ron. Une commutation du matériau diélectrique de l'état fortement résistif HRS à l'état faiblement résistif LRS permet d'écrire une donnée ; une commutation du matériau diélectrique de l'état faiblement 30 résistif LRS à l'état fortement résistif HRS permet d'effacer la donnée. Le procédé de l'invention propose de limiter les dérives des résistances Roff et 3066309 10 Ron à chaque cycle, c'est-à-dire à chaque opération d'écriture et à chaque opération d'effacement, de façon à diminuer, voir empêcher, la formation de défauts dans le matériau diélectrique 13. Pour cela, le procédé de l'invention propose de déterminer les conditions de programmation en fonction de valeurs de résistance médianes. En 5 particulier, le procédé propose de déterminer les conditions de programmation de sorte que, à l'état fortement résistif HRS, la résistance Roff du matériau diélectrique fluctue autour d'une première valeur de résistance médiane Roffmed et que, à l'état faiblement résistif LRS, la résistance Ron du matériau diélectrique fluctue autour d'une deuxième valeur de résistance médiane Ronmed. 10 Les figures 4A et 4B représentent, respectivement, des exemples de fluctuation des résistances Roff et Ron, d'une même cellule mémoire, sur plusieurs cycles, et la distribution cumulée des valeurs des résistances Roff et Ron d'une cellule mémoire. Plus précisément, la figure 4A représente la courbe des valeurs de résistance Roff qui fluctuent autour de la première valeur de résistance médiane Roffmed et la 15 courbe des valeurs de résistance Ron qui fluctuent autour de la deuxième valeur de résistance médiane Ronmed. Le filament au sein du matériau diélectrique ayant une forme variable à la fin de chaque opération d'écriture et d'effacement, la résistance dudit matériau diélectrique, qui dépend de la fluctuation du filament, a des valeurs stochastiques, aussi bien à l'état fortement résistif qu'à l'état faiblement résistif. Le 20 procédé de l'invention propose d'ajuster les conditions de programmation de chaque cellule mémoire en fonction de la valeur de résistance du matériau diélectrique à la fin de chaque opération d'écriture et d'effacement de sorte à compenser, à chaque opération, les fluctuations dudit filament. Ainsi, le fait de déterminer, à chaque opération, les conditions de programmation à utiliser à l'opération suivante permet 25 d'écrire et d'effacer les données avec des conditions optimales qui limitent la génération de défauts dans la cellule mémoire. L'état du matériau diélectrique et de ses défauts sont donc compensés à chaque opération d'écriture et d'effacement, avant que la mémoire n'ait trop dérivé. En effet, le fait de compenser une dérive de la résistance Roff ou Ron rapidement après la naissance de ladite dérive permet de 30 stabiliser l'état, respectivement, fortement ou faiblement résistif du matériau diélectrique. Selon certains modes de réalisation, les conditions de programmation peuvent être la tension de programmation, c'est-à-dire la différence de potentiel appliquée 3066309 n entre les deux électrodes d'un empilement, qui permet d'écrire ou d'effacer une donnée sur/de la cellule mémoire en assurant une valeur de résistance du matériau diélectrique proche de la valeur de résistance médiane. Dans un tel mode de réalisation, la tension appliquée entre les électrodes est variable et la durée 5 d'application de cette tension est constante. Au contraire, les conditions de programmation peuvent être la durée d'application de la tension aux électrodes, ce qui correspond également au nombre d'impulsions appliquées aux électrodes. Dans ce cas, la durée ou le nombre d'impulsions est variable et la différence de potentiel est constante. En effet, l'homme du métier comprendra que du fait de l'équivalence, 10 connue dans le domaine des mémoires résistives, entre le niveau de tension et la durée de la mise sous tension, il est possible d'appliquer aux électrodes, indifféremment, soit une tension de valeur constante avec une durée ou un nombre d'impulsions variable, soit une tension de valeur variable mais avec une durée ou un nombre d'impulsions constant. 15 Dans les exemples qui vont maintenant être décrits, les conditions de programmation variables seront la tension appliquée entre les électrodes d'une cellule mémoire, étant entendu que des exemples similaires pourraient être décrits où la durée d'application ou le nombre d'impulsions serait variable plutôt que la tension. 20 Les figures 5A-5C représentent des exemples de courbes permettant la détermination de tensions de programmation avec le procédé selon l'invention. En particulier, la figure 5A montre un exemple d'une valeur de résistance Roff1 et d'une valeur de résistance Roff2, respectivement, supérieure et inférieure à la valeur de résistance médiane Roffmed ainsi qu'un exemple d'une valeur de résistance Rani et 25 d'une valeur de résistance Ron2, respectivement, supérieure et inférieure à la valeur de résistance médiane Ronmed. Comme représenté sur la figure 5A, les valeurs de résistance médiane Ronmed et Roffmed suivent une loi linéaire et les valeurs de résistance Ron et Roff, lues à la fin d'une opération d'écriture et/ou d'effacement, sont comparées aux valeurs médianes respectives Ronmed et Roffmed. Le résultat 30 de cette comparaison permet de déterminer les conditions de programmation au cours des opérations d'effacement et/ou d'écriture suivantes. Les figures B et C représentent des valeurs de résistance médiane Ronmed et Roffmed qui suivent, respectivement, une première et une deuxième lois de 3066309 12 dépendance référencées Ld1, Ld2. En particulier, la figure 5B montre les tensions de programmation en écriture Vset1 et Vset2 correspondant, d'après la loi de dépendance Ld1, aux valeurs de résistance Roff1 et Roff2. La figure 5C montre les tensions de programmation en effacement Vreset1 et Vreset2 correspondant, 5 d'après la loi de dépendance Ld2, aux valeurs de résistance Rani et Ron2. Dans cet exemple, si la valeur de résistance à l'état HRS, lue à la fin d'une opération d'effacement, est Roff1, alors la tension de programmation en écriture au cours de l'opération d'écriture suivante sera Vset1. De même, si la valeur de résistance à l'état HRS, lue à la fin d'une opération d'effacement, est Roff2, alors la 10 tension de programmation en écriture au cours de l'opération d'écriture suivante sera Vset2. De façon similaire, si la valeur de résistance à l'état LRS, lue à la fin d'une opération d'écriture, est Ron2, alors la tension de programmation en effacement au cours de l'opération d'effacement suivante sera Vreset2. Et si la valeur de résistance 15 à l'état LRS, lue à la fin d'une opération d'écriture, est Ron1, alors la tension de programmation en effacement au cours de l'opération d'effacement suivante sera Vreset1. Ainsi, plus la donnée a été effacée avec une résistance de valeur élevée, plus la donnée suivante sera écrite dans la cellule mémoire avec une valeur de tension d'écriture élevée. Les conditions de programmation sont donc déterminées, 20 avant chaque opération d'écriture et/ou d'effacement, en fonction des valeurs de résistances lues au cours des opérations d'écriture et/ou d'effacement précédentes, en tenant compte de l'évolution stochastique de la valeur de résistance du matériau diélectrique. Dans un mode de réalisation, dont un exemple est représenté sur la figure 5B, 25 les tensions de programmation peuvent être comprises dans une fenêtre de tension de programmation, comme la fenêtre de tension de programmation en écriture définie entre Vset1 et Vset2. Une telle fenêtre de tension de programmation présente l'avantage d'empêcher l'application d'une tension trop élevée, ce qui limite la génération des défauts dans chaque cellule mémoire. 30 Le fait d'appliquer, à chaque opération d'écriture et/ou d'effacement, une tension de programmation adaptée à la résistance du matériau diélectrique lors de l'opération d'écriture et/ou d'effacement précédente permet de limiter la génération 3066309 13 de défauts dans ledit matériau. Le fait de limiter les défauts permet de ralentir la dégradation de la mémoire et ainsi d'améliorer son endurance et donc sa durée de vie. Les lois de dépendance Ld1 et Ld2 entre la tension de programmation et les 5 valeurs de résistance sont des lois prédéterminées lors d'une étape de calibration préliminaire. Ces lois diffèrent selon la technologie de la mémoire. Par exemple, une mémoire résistive de type OxRRAM avec une couche d'Oxyde de Hafnium comme matériau diélectrique présentera des lois de dépendance différentes de celles d'une mémoire CBRAM avec une couche de Sulfure de Germanium. 10 Ces lois de dépendance peuvent être déterminées par calculs, par exemple, par simulation en utilisant des modèles de RRAM. Ces lois de dépendance Ld1 et Ld2 peuvent également être déterminées expérimentalement, par des mesures successives Par exemple, la loi de dépendance Ld1 relative à la tension d'écriture en fonction des valeurs de résistance Roff de l'état fortement résistif peut être construite 15 de la façon suivante : en considérant plusieurs cellules mémoire avec des valeurs initiales différentes de résistance Roff, on applique successivement plusieurs impulsions d'écriture (avec une durée d'impulsion constante) en augmentant la tension d'écriture à chaque impulsion. La tension à partir de laquelle la cellule mémoire est écrite (donc lorsque l'état fortement résistif commute à l'état faiblement 20 résistif) est définie comme la tension d'écriture (Vset). Le fait d'appliquer cette technique à plusieurs valeurs de résistance Roff initiales permet de construire la courbe représentative de la loi de dépendance Ld1, pour une durée d'impulsion donnée. De façon similaire, la loi de dépendance Ld2 relative à la tension d'effacement 25 en fonction des valeurs de résistance Ron de l'état faiblement résistif peut être construite de la façon suivante : en considérant plusieurs cellules mémoire avec des valeurs initiales différentes de résistance Ron, on applique successivement plusieurs impulsions d'effacement (avec une durée d'impulsion constante) en augmentant la tension d'effacement à chaque impulsion. La tension à partir de laquelle la cellule 30 mémoire est effacée (donc lorsque l'état faiblement résistif commute à l'état fortement résistif) est définie comme la tension d'effacement (Vreset). Le fait d'appliquer cette technique à plusieurs valeurs de résistance Ron initiales permet de construire la courbe représentative de la loi de dépendance Ld2, pour une durée 3066309 14 d'impulsion donnée. Selon d'autres modes de réalisation, la loi de dépendance relie la durée d'application (ou le nombre d'impulsions) à tension constante, avec la valeur de résistance. Par exemple, dans le cas d'une détermination par mesures successives, 5 la loi de dépendance Ld1 relative à la durée d'impulsion d'écriture en fonction des valeurs de résistance Roff de l'état fortement résistif peut être construite de la façon suivante : en considérant plusieurs cellules mémoire avec des valeurs initiales différentes de résistance Roff, on applique successivement plusieurs impulsions d'écriture (avec une valeur de tension constante) en augmentant le temps d'écriture 10 à chaque impulsion. La durée d'impulsion à partir de laquelle la cellule mémoire est écrite (donc lorsque l'état fortement résistif commute à l'état faiblement résistif) est définie comme le temps d'écriture (Tset). Le fait d'appliquer cette technique à plusieurs valeurs de résistance Roff initiales permet de construire la courbe représentative de la loi de dépendance Ld1, pour une valeur de tension donnée. 15 De façon similaire, la loi de dépendance Ld2 relative à la durée d'impulsion d'effacement en fonction des valeurs de résistance Ron de l'état faiblement résistif peut être construite de la façon suivante : en considérant plusieurs cellules mémoire avec des valeurs initiales différentes de résistance Ron, on applique successivement plusieurs impulsions d'effacement (avec une valeur de tension constante) en 20 augmentant le temps d'effacement à chaque impulsion. La durée d'impulsion à partir de laquelle la cellule mémoire est effacée (donc lorsque l'état faiblement résistif commute à l'état fortement résistif) est définie comme le temps d'effacement (Vreset). Le fait d'appliquer cette technique à plusieurs valeurs de résistance Ron initiales permet de construire la courbe représentative de la loi de dépendance Ld2, 25 pour une valeur de tension donnée. Dans d'autres modes de réalisation, la loi reliant la durée ou le nombre d'impulsions à la valeur de tension est connue et peut être représentée sous la forme d'une courbe telle que celle représentée sur la figure 6. Dans ces modes de réalisation, la durée ou le nombre d'impulsions sont déduits de la loi de dépendance 30 reliant la valeur de tension à la valeur de résistance ou, inversement, la valeur de la tension de programmation est déduite de la loi de dépendance reliant la durée ou le nombre d'impulsions à la valeur de la résistance. 3066309 15 Quelle que soit la loi de dépendance choisie, le procédé selon l'invention comporte les étapes suivantes : - lecture, à la fin d'une opération d'écriture ou d'effacement (n-1), de la valeur de résistance du matériau diélectrique ; 5 - comparaison de cette valeur de résistance lue à des valeurs de référence telle que les valeurs de résistance médianes, au moyen d'un des procédés décrits par la suite; - détermination des conditions de programmation à partir du résultat de cette comparaison; 10 - application, à la cellule mémoire, des conditions de programmation déterminée pour l'opération d'effacement ou d'écriture suivante n. Selon une première variante, la comparaison de la valeur de résistance lue à des valeurs de référence peut être réalisée par comparaison de ladite valeur de résistance lue avec plusieurs amplificateurs de détection (ou « sense amplifier », en 15 termes anglo-saxons) de niveaux différents. Selon une deuxième variante, cette comparaison peut également être réalisée en comparant le niveau de courant dans la cellule mémoire à celui sorti par une rampe de courant relié à un compteur de sorte à détecter l'instant où les deux courants sont égaux. Cette deuxième variante, bien que plus lente que la première variante, permet une détermination plus précise 20 de la valeur de résistance avec un unique comparateur. Comme expliqué précédemment, la valeur de résistance Ron ou Roff lue à la fin d'une opération d'écriture ou d'effacement est mémorisée dans des cellules mémoires de la mémoire résistive. Selon certains modes de réalisation, la place mémoire dédiée à la mise en oeuvre du procédé de l'invention peut être optimisée en 25 ne mémorisant, par exemple, que les valeurs des cellules mémoires considérées comme les plus sensibles par l'utilisateur comme, par exemple, les cellules les plus souvent effacées et réécrites de la mémoire résistive et/ou les cellules mémoire utilisant les tensions de programmation les plus élevées. En effet, le procédé de l'invention - avec adaptation des conditions d'écriture - 30 peut n'être mis en oeuvre que pour une fraction de la mémoire totale, ce qui correspond à un nombre réduit de cellules mémoire. Ce nombre réduit de cellules mémoire peut être choisi, par l'utilisateur, comme les cellules sensibles. Selon certains modes de réalisation, une mémoire associative est utilisée pour 3066309 16 stocker les adresses et conditions d'effacement : la partie « tag » de cette mémoire associative peut, par exemple, être réalisée en ReRAM car écrite peu souvent. Les conditions d'effacement sont codées en SRAM, technologie non-sujette à l'usure. Le procédé de l'invention n'est utilisé que sur une faible portion de la mémoire car la 5 taille des mémoires SRAM est supérieure à celle des ReRAM. Selon certains modes de réalisation, la place mémoire dédiée à la mise en oeuvre du procédé de l'invention peut être optimisée en utilisant les zones de mémoire cache de la mémoire résistive pour stocker momentanément les valeurs des conditions d'effacement et les utiliser au moment où la mémoire cache doit être 10 vidée pour y stocker une autre donnée. La mémoire cache est alors utilisée pour stocker successivement plusieurs données de types différents. Selon certains modes de réalisation, la place mémoire dédiée au stockage des valeurs lues peut être optimisée en ne stockant qu'une tendance des conditions d'écriture et/ou d'effacement à appliquer, cette tendance pouvant être plus ou moins 15 précise. Par exemple, pour diminuer le nombre de cellules mémoire nécessaires au stockage des valeurs lues, il est possible de coder, sur une seule cellule mémoire, les tendances « augmenter la tension d'écriture » et « diminuer la tension d'écriture ». En augmentant le nombre de cellules mémoire, la nuance de la tendance peut être affinée ; par exemple, en codant sur deux cellules mémoire, il est 20 possible de coder les informations « appliquer la tension médiane + n% », « appliquer la tension médiane - n% », « appliquer la tension médiane + 2n% » et « appliquer la tension médiane - 2n% ». L'homme du métier comprendra qu'un nombre élevé de cellules mémoire dédiées à la mise en oeuvre du procédé de l'invention permet de coder des 25 conditions de programmation affinées. Il comprendra, en outre, que plusieurs des modes de réalisation décrits précédemment peuvent être mis en oeuvre simultanément afin d'optimiser au mieux le ratio entre la place mémoire dédiée à la mise en oeuvre du procédé et la précision de la détermination des conditions de programmation. 30 Le procédé selon l'invention peut être mis en oeuvre dans un dispositif de programmation d'une mémoire résistive. Ce dispositif peut comporter un circuit de programmation, connecté aux électrodes supérieure et inférieure de chaque cellule mémoire de la mémoire. 3066309 17 Selon certains modes de réalisation, le circuit de programmation comporte une pluralité de générateurs de tension aptes à délivrer chacun au moins une valeur de tension de programmation différente de la valeur de tension délivrée par les autres générateurs. En effet, pour appliquer les valeurs de tension de programmation 5 déterminées par le procédé de l'invention, plusieurs générateurs de tension peuvent être nécessaires, comme représenté sur la figure 7A. Le circuit de programmation peut alors choisir, parmi les générateurs de tension, le nombre et la combinaison de ces générateurs qui permettent d'approcher au mieux la valeur de tension de programmation déterminée. Toutefois, afin de limiter le nombre de générateurs de 10 tension, chaque générateur peut comporter des ponts diviseurs qui, par divisions d'une tension de référence, permettent d'appliquer aux électrodes la valeur de tension de programmation la plus proche de la valeur déterminée. Selon certains autres modes de réalisation, le circuit de programmation comporte un seul (ou plusieurs) générateur(s) de tension délivrant (chacun) une 15 valeur de tension constante. Ce générateur de tension est connecté à au moins un compteur et/ou une horloge aptes à contrôler la durée ou le nombre d'impulsions de tension constante à appliquer aux électrodes pour obtenir un résultat identique à celui qui aurait été obtenu avec une valeur de tension de programmation déterminée dans les modes de réalisation où la tension est variable. Un exemple d'application du 20 nombre d'impulsions à une tension constante, déterminé avec le procédé selon l'invention, pour une opération d'écriture est représenté schématiquement sur la figure 7B. Ainsi, le procédé selon l'invention permet de gérer l'endurance d'une mémoire résistive en déterminant, à chaque cycle, les conditions d'écriture et d'effacement de 25 chaque cellule mémoire au cycle suivant. Le procédé selon l'invention permet ainsi d'améliorer l'endurance d'une mémoire résistive et, par conséquent, d'augmenter la durée de vie de ladite mémoire. Bien que décrit à travers un certain nombre d'exemples, variantes et modes de réalisation, le procédé de gestion d'endurance selon l'invention et le dispositif de 30 programmation mettant en oeuvre ce procédé comprennent divers variantes, modifications et perfectionnements qui apparaîtront de façon évidente à l'homme du métier, étant entendu que ces variantes, modifications et perfectionnements font partie de la portée de l'invention. REVENDICATIONS1. Procédé de gestion de l'endurance d'une mémoire réinscriptible non-volatile comprenant une pluralité d'empilements (10) ordonnés d'une électrode inférieure (12 ), d'une couche de matériau diélectrique (13) et d'une électrode supérieure (11), le matériau diélectrique de chaque empilement étant apte à commuter entre : - un état fortement résistif (HRS), dans lequel ledit matériau diélectrique (13) présente une première valeur de résistance (Roff), et - un état faiblement résistif (LRS), dans lequel ledit matériau diélectrique (13) présente une deuxième valeur de résistance (Ron), une commutation entre l'état fortement résistif et l'état faiblement résistif autorisant une écriture dans la mémoire et une commutation entre l'état faiblement résistif et l'état fortement résistif autorisant un effacement dans ladite mémoire, caractérisé en ce qu'il comporte au moins une des opérations suivantes: - à la fin de chaque opération d'effacement : une lecture de la première valeur de résistance (Roff) du matériau diélectrique, une comparaison de ladite première valeur de résistance avec une première valeur de résistance médiane (Roffmed) prédéterminée, et une détermination de conditions de programmation en écriture (Vset, Tset) à partir des résultats de ladite comparaison ; et - à la fin de chaque opération d'écriture : une lecture de la deuxième valeur de résistance (Ron) du matériau, une comparaison de ladite deuxième valeur de résistance avec une deuxième valeur de résistance médiane (Ronmed) prédéterminée, et une détermination de conditions de programmation en effacement (Vreset, Treset) à partir des résultats de ladite comparaison, lesdites conditions de programmation en écriture et en effacement étant appliquées aux électrodes (11, 12) de l'empilement lors, respectivement, d'opérations d'écriture et d'effacement suivantes afin de limiter la génération de défauts dans le matériau diélectrique (13). 2. Procédé selon la revendication 1, caractérisé en ce que les conditions de programmation comprennent une tension de programmation (Vset, Vreset) appliquée entre les électrodes de chaque empilement pendant une durée constante. 3066309 19 3. Procédé selon la revendication 1, caractérisé en ce que les conditions de programmation comprennent une durée d'application (Tset) d'une tension entre les électrodes de chaque empilement, ladite tension étant constante. 5 4. Procédé selon l'une quelconque des revendications 1 à 3, caractérisé en ce que les première et deuxième valeurs de résistance médianes (Roffmed, Ronmed) suivent, respectivement, une première et une deuxième lois de dépendance (Ld1 ; Ld2) prédéterminées, reliant les conditions de programmation et les première et 113 deuxième valeurs de résistance lues. 5. Procédé selon la revendication 4, caractérisé en ce que chaque loi de dépendance (Ld1, Ld2) est calibrée préalablement à toutes opérations d'écriture et d'effacement. 15 6. Procédé selon l'une quelconque des revendications 1 à 5, caractérisé en ce que les conditions de programmation lues sont mémorisées au moins partiellement jusqu'aux opérations d'écriture ou d'effacement suivantes, dans au moins une cellule mémoire de la mémoire. 20 7. Dispositif de programmation d'une mémoire réinscriptible non-volatile comportant un circuit de programmation (15) connecté aux électrodes de chaque empilement de la mémoire, caractérisé en ce qu'il met en oeuvre le procédé selon l'une quelconque des revendications 1 à 6. 25 8. Dispositif selon la revendication 7, caractérisé en ce que le circuit de programmation (15) comporte une pluralité de générateurs de tension aptes à générer chacun au moins une valeur de tension de programmation. 30 9. Dispositif selon la revendication 7 ou 8, caractérisé en ce que le circuit de programmation (15) comporte au moins un générateur de tension connecté à des ponts diviseurs. 10. Dispositif selon la revendication 7 ou 8, caractérisé en ce que le circuit de 3066309 20 programmation (15) comporte au moins un générateur de tension connecté à au moins un compteur et/ou une horloge apte à moduler une durée d'application d'une tension constante sur les électrodes. 5