Brevet FR3080703A1 — publié le 20191101

PROCÉDÉ DE PROGRAMMATION D'UNE MEMOIRE RESISTIVE DOMAINE TECHNIQUE DE L'INVENTION La présente invention est relative au domaine des mémoires résistives, également appelées « RRAM » pour « Resistive Random-Access Memory » selon la terminologie anglo-saxonne. La présente invention concerne plus particulièrement un procédé de programmation d'une telle mémoire résistive. ARRIÈRE-PLAN TECHNOLOGIQUE DE L'INVENTION Les mémoires résistives sont des mémoires non-volatiles présentant une vitesse de fonctionnement élevée, une faible consommation d'énergie électrique et une grande durée de vie. Pour ces raisons, les mémoires résistives sont des candidates prometteuses pour remplacer à la fois les mémoires vives et les mémoires non-volatiles actuelles telles que les mémoires de type flash. Il existe plusieurs technologies de mémoires résistives. On peut notamment citer les mémoires résistives à pont conducteur, également appelées « CBRAM » pour « Conductive-Bridgi n g Random-Access Memory » selon la terminologie anglo- saxonne, ou les mémoires résistives à base d'oxyde, également appelées « OxRAM » pour « Oxide-based Random-Access Memory » selon la terminologie anglo-saxonne. Une mémoire résistive est composée d'une multitude de cellules mémoires résistives agencées en lignes et colonnes de manière à former une matrice. La cellule mémoire comporte un matériau diélectrique disposé entre deux électrodes conductrices. Le matériau diélectrique est capable de basculer de manière réversible entre un état fortement résistif et un état faiblement résistif, respectivement appelés « High-Resistance State » et « Low-Resistance State » selon la terminologie anglo-saxonne. Ces deux états de résistance permettent donc de stocker un bit d'information dans chaque cellule mémoire. Le changement d'état de résistance est lié à la formation et à la rupture, dans le matériau diélectrique, d'une zone de commutation, également appelée « switching zone » en anglais, qui forme un chemin conducteur électriquement reliant les 2 électrodes de la cellule mémoire. La nature de ce chemin conducteur dépend de la technologie utilisée. Par exemple, dans les mémoires de type CBRAM, le chemin conducteur est un filament formé par des ions métalliques, et dans les mémoires de type OxRAM, la formation du chemin conducteur est attribuée à l'accumulation de 5 lacunes d'oxygène au sein de la couche d'oxyde. En tout état de cause, les mécanismes de conduction qui interviennent dans les cellules mémoires résistives impliquent une grande variabilité des valeurs de résistance que peuvent prendre les cellules mémoires. La figure 1 représente de manière schématique des distributions de valeurs de résistance d'une cellule mémoire 10 résistive dans l'état faiblement résistif 101 et dans l'état fortement résistif 102. La figure 1 montre également l'influence du vieillissement de la cellule mémoire sur ces distributions. Initialement, les distributions des valeurs de résistance (représentées en traits pointillés) sont espacées l'une de l'autre. Avec le vieillissement de la cellule mémoire, les distributions des valeurs de résistance (représentées en traits continus) 15 ont tendance à s'élargir et à se rapprocher l'une de l'autre, ce qui peut conduire à l'apparition d'une zone de recouvrement. Par ailleurs, pour programmer une cellule mémoire, une tension de programmation est appliquée entre les électrodes de la cellule mémoire. Il peut s'agir d'une tension d'écriture pour écrire la cellule mémoire, c'est-à-dire la placer dans l'état 20 faiblement résistif, ou d'une tension d'effacement pour effacer la cellule mémoire, c'est-à-dire la placer dans l'état fortement résistif. Cependant, après une telle opération de programmation, il peut arriver que la cellule mémoire ne passe pas dans l'état de résistance souhaité. Pour cette raison, on vérifie que la cellule mémoire est correctement programmée en comparant sa valeur 25 de résistance à un seuil de résistance prédéfini. Si le résultat de cette comparaison est négatif, cela signifie que l'opération de programmation n'a pas fonctionnée. Dans ce cas, l'opération de programmation est répétée un certain nombre de fois jusqu'à ce que la cellule mémoire prenne l'état de résistance souhaité ou jusqu'à ce qu'un nombre maximal de tentatives soit atteint. En général, on définit un premier seuil de résistance utilisé pour lire la cellule mémoire, un deuxième seuil de résistance utilisé lorsque la cellule mémoire est 3 programmée en écriture et un troisième seuil de résistance utilisé lorsque la cellule mémoire est programmée en effacement. Le troisième seuil de résistance est supérieur au deuxième seuil de résistance et leur différence définit la fenêtre de programmation de la cellule mémoire. Le premier seuil de résistance peut alors être 5 choisi au milieu de la fenêtre de programmation. Un inconvénient de cette méthode de programmation est que les différents seuils de résistance sont fixes tout au long de la durée de vie de la mémoire résistive alors que les distributions des valeurs de résistance s'élargissent. Par conséquent, avec le vieillissement de la mémoire, la programmation des cellules mémoires échoue 10 de plus en plus souvent, ce qui augmente le nombre de tentatives nécessaires pour réussir à placer les cellules mémoires dans l'état de résistance désiré. Il en résulte une augmentation du temps de programmation de la mémoire résistive. RÉSUMÉ DE L'INVENTION Il ressort de ce qui précède qu'il existe un besoin d'améliorer la programmation 15 d'une mémoire résistive en définissant un seuil de résistance qui varie au cours de la durée de vie de la mémoire résistive afin de minimiser les erreurs de programmation. La présente invention vise à répondre à ce besoin en proposant un procédé de programmation d'une mémoire résistive non volatile comprenant une pluralité de cellules mémoires résistives non volatiles, chaque cellule mémoire étant apte à zo commuter de manière réversible entre : - un premier état de programmation, dit « état faiblement résistif », dans lequel la cellule mémoire a une valeur de résistance électrique inférieure à un premier seuil de résistance ; et - un deuxième état de programmation, dit « état fortement résistif », dans lequel 25 la cellule mémoire a une valeur de résistance électrique supérieure au premier seuil de résistance ; le procédé de programmation comportant une étape de détermination du premier seuil de résistance effectuée périodiquement, l'étape de détermination comprenant : - une première étape d'écriture destinée à placer un premier groupe de cellules 30 mémoires dans l'état faiblement résistif, un premier nombre de cellules 4 mémoires du premier groupe n'étant pas effectivement placées dans l'état faiblement résistif après la première étape de programmation ; et - une deuxième étape d'effacement destinée à placer un deuxième groupe de cellules mémoires dans l'état fortement résistif, un deuxième nombre de cellules 5 mémoires du deuxième groupe n'étant pas effectivement placées dans l'état fortement résistif après la deuxième étape de programmation ; le premier seuil de résistance étant déterminé de manière à minimiser un nombre d'erreurs de programmation égal à la somme du premier nombre de cellules mémoires et du deuxième nombre de cellules mémoires. 10 Grâce à l'invention, le premier seuil de résistance est adapté régulièrement en fonction du vieillissement de la mémoire résistive ce qui permet de réduire le taux d'erreur provoquer par l'élargissement des distributions des valeurs de résistance que peuvent prendre les cellules mémoires. Le nombre de tentatives nécessaires pour placer une cellule mémoire dans un état de résistance donné est également réduit ce 15 qui conduit à une diminution du temps de programmation. Le procédé selon l'invention peut également comporter une ou plusieurs caractéristiques parmi les suivantes considérées individuellement ou selon toutes les combinaisons techniquement possibles. Selon un mode de mise en oeuvre, l'étape de détermination du premier seuil de 20 résistance comporte les étapes suivantes : a) définir un seuil de résistance variable égal au premier seuil de résistance déterminé au cours de la précédente étape de détermination ; b) effectuer la première étape d'écriture et la deuxième étape d'effacement en utilisant le seuil de résistance variable ; 25 c) déterminer le nombre d'erreurs de programmation survenues au cours de l'étape b) ; d) répéter les étapes b) et c) après avoir modifié le seuil de résistance variable selon un sens de variation prédéterminé, les étapes b) et c) étant répétées au moins une fois et tant que le nombre d'erreurs de programmation diminue entre 30 deux étapes b) consécutives ; e) définir le premier seuil de résistance égal au seuil de résistance variable utilisé au cours de l'avant-dernière étape b). 5 Selon un mode de mise en oeuvre, deux étapes consécutives de détermination du premier seuil de résistance sont séparées par un intervalle de temps correspondant à un premier nombre prédéterminé de cycles de programmation qu'au moins une cellule mémoire a subi. 5 Selon un mode de mise en oeuvre, le procédé de programmation comporte une étape de programmation comprenant au moins l'une des étapes suivantes : - une étape d'écriture destinée à placer au moins une cellule mémoire dans l'état faiblement résistif, ladite au moins une cellule mémoire étant considérée comme étant dans l'état faiblement résistif au terme de l'étape d'écriture si la 10 valeur de résistance de ladite au moins une cellule mémoire est inférieure à un deuxième seuil de résistance inférieur ou égal au premier seuil de résistance ; - une étape d'effacement destinée à placer au moins une cellule mémoire dans l'état fortement résistif, ladite au moins une cellule mémoire étant considérée comme étant dans l'état fortement résistif au terme de l'étape d'effacement si la 15 valeur de résistance de ladite au moins une cellule mémoire est supérieure à un troisième seuil de résistance supérieur ou égal au premier seuil de résistance ; le deuxième seuil de résistance et le troisième seuil de résistance étant définis en fonction du premier seuil de résistance déterminé. 20 Selon un mode de mise en oeuvre, le deuxième seuil de résistance et le troisième seuil de résistance sont égaux au premier seuil de résistance. Selon un mode de mise en oeuvre, que le deuxième seuil de résistance et le troisième seuil de résistance sont respectivement égaux à 90 % et à 110 % du premier seuil de résistance. 25 Selon un mode de mise en oeuvre, chaque cellule mémoire comporte un matériau diélectrique disposé entre deux électrodes, la cellule mémoire passant de l'état fortement résistif à l'état faiblement résistif lorsqu'une zone de commutation est formée dans le matériau diélectrique, la zone de commutation reliant électriquement les électrodes de la cellule mémoire, le procédé de programmation comportant en 30 outre une étape d'initialisation de la mémoire résistive comprenant les étapes suivantes : 6 - former pour la première fois la zone de commutation de chaque cellule mémoire ; et - conditionner les cellules mémoires en répétant un deuxième nombre prédéterminé de cycles de programmation comprenant chacun une opération 5 d'écriture et une opération d'effacement des cellules mémoires. Selon un mode de mise en oeuvre, les cellules mémoires sont de type CBRAM ou OxRAM. BRÈVE DESCRIPTION DES FIGURES L'invention et ses différentes applications seront mieux comprises à la lecture lo de la description qui suit et à l'examen des figures qui l'accompagnent, parmi lesquelles : - la figure 1 représente des distributions d'une cellule mémoire résistive dans l'état faiblement résistif et dans l'état fortement résistif ; - la figure 2 est un logigramme d'un mode de mise en oeuvre du procédé de 15 programmation selon l'invention ; - le figure 3A est un logigramme d'une étape d'écriture du procédé de programmation de la figure 2 ; - le figure 3B est un logigramme d'une étape d'effacement du procédé de programmation de la figure 2 ; 20 - la figure 4 est un logigramme d'une étape de détermination d'un seuil de résistance du procédé de programmation de la figure 2 ; - la figure 5 représente deux courbes de variation du taux d'erreurs de programmation en fonction du nombre de cycles de programmation d'une mémoire résistive programmé selon un procédé de l'art antérieur et selon le procédé de la figure 25 2. Les figures ne sont présentées qu'à titre indicatif et nullement limitatif de l'invention. Pour plus de clarté, les éléments identiques ou similaires sont repérés par des signes de référence identiques sur toutes les figures. 30 DESCRIPTION DÉTAILLÉE D'AU MOINS UN MODE DE MISE EN OEUVRE 7 La figure 2 montre un procédé de programmation 200 d'une mémoire résistive non volatile, selon un mode de mise en oeuvre de l'invention. La mémoire résistive comporte une pluralité de cellules mémoires résistives disposées en lignes en en colonne de manière à former une matrice. Chaque cellule mémoire comporte une 5 première électrode, une deuxième électrode et une couche d'un matériau diélectrique disposée entre la première électrode et la deuxième électrode. Les cellules mémoires sont par exemple des cellules mémoires résistives à pont conducteur (CBRAM) ou des cellules mémoires résistives à base d'oxyde (OxRAM). Les électrodes sont des couches conductrices électriquement et peuvent être 10 formées à partir d'un ou plusieurs matériaux conducteurs tels que le titane, le nitrure de titane, le silicium dopé, le tungstène, le nitrure de tungstène, les siliciures de métal, le platine. Les électrodes présentent une épaisseur de préférence comprise entre 5 nm et 30 nm. Le matériau diélectrique peut être un oxyde de préférence d'un métal de 15 transition tel que l'oxyde de hafnium, l'oxyde de tantale, l'oxyde de titane, l'oxyde de nickel, l'oxyde de tungstène ou l'oxyde de zinc. Le matériau diélectrique peut également être de l'oxyde de silicium, de l'oxyde d'aluminium, de l'oxyde d'indium ou de l'oxyde de gadolinium. Eventuellement, la couche de matériau diélectrique peut comporter plusieurs sous-couches superposées. La couche de matériau diélectrique 20 présente une épaisseur de préférence comprise entre 3nm et 20nm, et plus préférentiellement encore comprise entre 5nm et lOnm. Le matériau diélectrique, et de manière plus générale la cellule mémoire, peut basculer de manière réversible entre un état faiblement résistif et un état fortement résistif. Ces deux états de résistance permettent donc à la cellule mémoire de stocker 25 une information binaire. La cellule mémoire peut être soumise à une opération d'écriture, à une opération d'effacement ou à une opération de lecture. Il s'agit de trois opérations élémentaires sur lesquelles se base le fonctionnement de la cellule mémoire. L'opération d'écriture est une première opération de programmation de la cellule 30 mémoire au cours de laquelle une tension d'écriture est appliquée entre les électrodes 8 de la cellule mémoire. La tension d'écriture est prévue pour placer la cellule mémoire dans l'état faiblement résistif. L'opération d'effacement est une deuxième opération de programmation de la cellule mémoire au cours de laquelle une tension d'effacement est appliquée entre les 5 électrodes de la cellule mémoire. La tension d'effacement est prévue pour placer la cellule mémoire dans l'état fortement résistif. L'opération de lecture consiste à déterminer dans quel état de résistance se trouve la cellule mémoire. Pour ce faire, une tension de lecture est appliquée entre les électrodes de la cellule mémoire de manière à déterminer la valeur de résistance de 10 la cellule mémoire. Ensuite, la valeur de résistance de la cellule mémoire est comparée à un premier seuil de résistance dit « seuil de résistance en lecture ». Si la valeur de résistance de la cellule mémoire est inférieure au seuil de résistance en lecture, la cellule mémoire est considérée comme étant dans l'état faiblement résistif. Au contraire, si la valeur de résistance de la cellule mémoire est supérieure au seuil de 15 résistance en lecture, la cellule mémoire est considérée comme étant dans l'état fortement résistif. Le procédé de programmation 200 comporte une étape de programmation 210 d'une ou plusieurs cellules mémoires. L'étape de programmation 210 peut être une étape d'écriture 210a, une étape d'effacement 210b ou une combinaison de n'importe 20 quel nombre et dans n'importe quel ordre de ces deux étapes 210a, 210b. La figure 3A montre un exemple de logigramme de l'étape d'écriture 210a d'une cellule mémoire. L'étape d'écriture 210a comporte une première opération d'écriture 211a de la cellule mémoire. Il s'agit d'une première tentative pour placer la cellule mémoire dans l'état faiblement résistif. Cependant, il n'est pas certain que cette 25 tentative aboutisse au résultat souhaité. En effet, après l'opération d'écriture 211a, il est possible que la cellule mémoire ne soit pas effectivement placée dans l'état faiblement résistif. L'opération d'écriture 211a est donc suivie par une opération de lecture 212a pour vérifier si la cellule mémoire est effectivement dans l'état faiblement résistif. Il 30 s'agit d'une opération de lecture particulière, appelée « opération de vérification d'écriture », qui est effectuée pendant l'étape d'écriture 210a. Au cours de l'opération 9 de vérification d'écriture 212a, la valeur de résistance R de la cellule mémoire est comparée à un deuxième seuil de résistance dit « seuil de résistance en écriture » THset. Si la valeur de résistance R de la cellule mémoire est inférieure au seuil de 5 résistance en écriture THset, la cellule mémoire est considérée comme étant dans l'état faiblement résistif, ce qui signifie que l'opération d'écriture 211a a réussi. Dans ce cas, l'étape d'écriture 210a est terminée. Au contraire, si la valeur de résistance R de la cellule mémoire n'est pas inférieure au seuil de résistance en écriture THset, la cellule mémoire n'est pas i.o considérée comme étant dans l'état faiblement résistif, ce qui signifie que l'opération d'écriture 211a a échoué. Dans ce dernier cas, on procède avantageusement à une opération d'effacement 213a de la cellule mémoire avant d'effectuer une nouvelle tentative d'écriture 211a de la cellule mémoire. Il est en effet connu qu'en effectuant un cycle 15 complet de programmation, c'est-à-dire une opération d'écriture et une opération d'effacement, on augmente la probabilité d'atteindre l'état de résistance souhaité, en l'occurrence l'état faiblement résistif. La figure 3B montre un exemple de logigramme de l'étape d'effacement 210b d'une cellule mémoire. Le déroulement de l'étape d'effacement 210b est similaire à 20 celui de de l'étape d'écriture 210a. L'étape d'effacement 210b comporte une première opération d'effacement 211b de la cellule mémoire. Il s'agit d'une première tentative pour placer la cellule mémoire dans l'état fortement résistif. Cependant, il n'est pas certain que cette tentative aboutisse au résultat souhaité. En effet, après l'opération d'effacement 211b, il est possible que la cellule mémoire ne soit pas effectivement 25 placée dans l'état fortement résistif. L'opération d'effacement 211b est donc suivie par une opération de lecture 212b pour vérifier si la cellule mémoire est effectivement dans l'état fortement résistif. Il s'agit d'une opération de lecture particulière, appelée « opération de vérification d'effacement », qui est effectuée pendant l'étape d'effacement 210b. Au 30 cours de l'opération de vérification d'effacement 212b, la valeur de résistance R de la 10 cellule mémoire est comparée à un troisième seuil de résistance dit « seuil de résistance en effacement » THReset. Si la valeur de résistance R de la cellule mémoire est supérieure au seuil de résistance en effacement THReset, la cellule mémoire est considérée comme étant dans 5 l'état fortement résistif, ce qui signifie que l'opération d'effacement 211b a réussi. Dans ce cas, l'étape d'effacement 210b est terminée. Au contraire, si la valeur de résistance R de la cellule mémoire n'est pas supérieure au seuil de résistance en effacement THReset, la cellule mémoire n'est pas considérée comme étant dans l'état fortement résistif, ce qui signifie que l'opération Io d'effacement 211b a échoué. Dans ce dernier cas, on procède avantageusement à une opération d'écriture 213b de la cellule mémoire avant d'effectuer une nouvelle tentative d'effacement 211b de la cellule mémoire. On procède ainsi pour la même raison que dans l'étape d'écriture 201a, c'est-à-dire pour augmenter la probabilité d'atteindre l'état 15 de résistance souhaité, en l'occurrence l'état fortement résistif. Avantageusement, l'étape de programmation 210, que ce soit une étape d'écriture 210a ou une étape d'effacement 210b, comporte également une étape de comparaison 214 entre le nombre THvar de tentatives déjà effectuées pour programmer la cellule mémoire et un nombre maximal N de tentatives prédéterminé. L'étape de 20 comparaison 214 est par exemple effectuée entre chaque tentative de programmation 211a, 211b et l'opération de programmation opposée 213a, 231b correspondante. Le nombre maximal N de tentatives est par exemple égal à 5. Si le nombre i de tentatives effectuées est strictement inférieur au nombre maximal Nmax de tentatives (i REVENDICATIONS1. Procédé de programmation (200) d'une mémoire résistive non volatile comprenant une pluralité de cellules mémoires résistives non volatiles, chaque cellule mémoire étant apte à commuter de manière réversible entre : - un premier état de programmation, dit « état faiblement résistif », dans lequel la cellule mémoire a une valeur de résistance électrique (R) inférieure à un premier seuil de résistance (THopt) ; et - un deuxième état de programmation, dit « état fortement résistif », dans lequel la cellule mémoire a une valeur de résistance électrique (R) supérieure au premier seuil de résistance (THopt) ; le procédé de programmation (200) étant caractérisé en ce qu'il comporte une étape de détermination (230) du premier seuil de résistance (THopt) effectuée périodiquement, l'étape de détermination (230) comprenant : - une première étape d'écriture (232a) destinée à placer un premier groupe de cellules mémoires dans l'état faiblement résistif, un premier nombre de cellules mémoires du premier groupe n'étant pas effectivement placées dans l'état faiblement résistif après la première étape de programmation ; et - une deuxième étape d'effacement (232b) destinée à placer un deuxième groupe de cellules mémoires dans l'état fortement résistif, un deuxième nombre de cellules mémoires du deuxième groupe n'étant pas effectivement placées dans l'état fortement résistif après la deuxième étape de programmation ; le premier seuil de résistance (THopt) étant déterminé de manière à minimiser un nombre d'erreurs de programmation égal à la somme du premier nombre de cellules mémoires et du deuxième nombre de cellules mémoires. 2. Procédé de programmation (200) selon la revendication 1, caractérisé en ce que l'étape de détermination (230) du premier seuil de résistance (THopt) comporte les étapes suivantes : a) définir (231) un seuil de résistance variable (THvar) égal au premier seuil de résistance (THopt) déterminé au cours de la précédente étape de détermination (230) ; b) effectuer la première étape d'écriture (232a) et la deuxième étape d'effacement (232) en utilisant le seuil de résistance variable (THvar) ; 17 c) déterminer (233) le nombre d'erreurs de programmation survenues au cours de l'étape b) ; d) répéter les étapes b) et c) après avoir modifié (235) le seuil de résistance variable selon un sens de variation prédéterminé, les étapes b) et c) étant répétées au 5 moins une fois et tant que le nombre d'erreurs de programmation diminue entre deux étapes b) consécutives ; e) définir (236) le premier seuil de résistance (THopt) égal au seuil de résistance variable (THvar) utilisé au cours de l'avant-dernière étape b). 3. Procédé de programmation (200) selon l'une quelconque des revendications 1 10 et 2, caractérisé en ce que deux étapes consécutives de détermination (230) du premier seuil de résistance (THopt) sont séparées par un intervalle de temps correspondant à un premier nombre prédéterminé (Nc) de cycles de programmation qu'au moins une cellule mémoire a subi. 4. Procédé de programmation (200) selon l'une quelconque des revendications 1 15 à 3, caractérisé en ce qu'il comporte une étape de programmation (210) comprenant au moins l'une des étapes suivantes : - une étape d'écriture (210a) destinée à placer au moins une cellule mémoire dans l'état faiblement résistif, ladite au moins une cellule mémoire étant considérée comme étant dans l'état faiblement résistif au terme de l'étape 20 d'écriture (210a) si la valeur de résistance (R) de ladite au moins une cellule mémoire est inférieure à un deuxième seuil de résistance (THset) inférieur ou égal au premier seuil de résistance (THopt) ; - une étape d'effacement (210b) destinée à placer au moins une cellule mémoire dans l'état fortement résistif, ladite au moins une cellule mémoire étant 25 considérée comme étant dans l'état fortement résistif au terme de l'étape d'effacement (210b) si la valeur de résistance (R) de ladite au moins une cellule mémoire est supérieure à un troisième seuil de résistance (THReset) supérieur ou égal au premier seuil de résistance (THopt) ; le deuxième seuil de résistance (THset) et le troisième seuil de résistance (THReset) 30 étant définis en fonction du premier seuil de résistance déterminé. 18 5. Procédé de programmation (200) selon la revendication 4, caractérisé en ce que le deuxième seuil de résistance (THset) et le troisième seuil de résistance (THReset) sont égaux au premier seuil de résistance (THopt). 6. Procédé de programmation (200) selon la revendication 4, caractérisé en ce 5 que le deuxième seuil de résistance (THset) et le troisième seuil de résistance (THReset) sont respectivement égaux à 90 % et à 110 % du premier seuil de résistance (THopt). 7. Procédé de programmation (200) selon l'une quelconque des revendications 1 à 6, caractérisé en ce que chaque cellule mémoire comporte un matériau diélectrique disposé entre deux électrodes, la cellule mémoire passant de l'état fortement résistif à 10 l'état faiblement résistif lorsqu'une zone de commutation est formée dans le matériau diélectrique, la zone de commutation reliant électriquement les électrodes de la cellule mémoire, le procédé de programmation (200) comportant en outre une étape d'initialisation (290) de la mémoire résistive comprenant les étapes suivantes : - former pour la première fois la zone de commutation de chaque cellule 15 mémoire ; et - conditionner les cellules mémoires en répétant un deuxième nombre prédéterminé de cycles de programmation comprenant chacun une opération d'écriture et une opération d'effacement des cellules mémoires. 8. Procédé de programmation (200) selon l'une quelconque des revendications 1 zo à 7, caractérisé en ce que les cellules mémoires sont de type CBRAM ou OxRAM.