FR 3042304 A1 20170414 FR 1559648 A 20151009 B14538 FR - DD16569ST 1 PROCEDE ET CIRCUIT POUR CONTROLER LE COURANT DE PROGRAMMATION DANS UNE MATRICE DE MÉMOIRE NON VOLATILE Domaine La présente description concerne le domaine des mémoires non volatiles, et en particulier un procédé et un circuit pour contrôler le courant de programmation de cellules de mémoire non volatile dans une matrice mémoire à points d'intersection (mémoire connue aussi sous le nom anglais de mémoire "cross-point"). Exposé de l'art antérieur On a déjà proposé d'utiliser des éléments résistifs programmables dans des cellules mémoires pour assurer une mémorisation de données non volatile. De tels éléments résistifs sont programmables pour prendre l'un d'une pluralité d'états résistifS différents. L'état résistif programmé est conservé lorsque la tension d'alimentation de la cellule mémoire est déconnectée, et ainsi des données peuvent être mémorisées de façon non volatile. Divers types d'éléments résistifs ont été proposés, dont certains peuvent être programmés par la direction et/ou le niveau du courant qu'on fait passer dans l'élément. Des exemples de tels éléments résistifs programmables par un courant comprennent les OxRAM (de l'anglais Oxyde Random Access Memory - mémoire à accès aléatoire à oxyde), les PC-RAM (Phase Change Random Access Memory 3042304 B14538 FR - DD16569ST 2 - mémoire à accès aléatoire à changement de phase) et les MRAM (Magnetic RAM - mémoire à accès aléatoire magnétique) utilisant par exemple la technologie STT (couple de transfert de SPIN). Afin d'obtenir une matrice mémoire compacte, on a 5 proposé d'incorporer des cellules de mémoire non volatile dans une architecture de matrice mémoire à points d'intersection. Dans une telle matrice, des cellules mémoires sont agencées en rangées et en colonnes, chaque rangée ayant une piste conductrice de rangée associée, et chaque colonne ayant une piste conductrice de 10 colonne associée. Chaque cellule mémoire comprend un élément résistif programmable couplé entre une piste conductrice de rangée correspondante et une piste conductrice de colonne correspondante. Ainsi, en appliquant des niveaux de tension particuliers aux pistes conductrices de colonne et de rangée, une cellule mémoire 15 peut être sélectionnée dans la matrice pour une opération de lecture ou d'écriture. En fonction de la technologie particulière de l'élément résistif programmable non volatil, le niveau du courant de programmation utilisé pendant l'opération de programmation peut 20 affecter une certaine propriété de l'état résistif programmé, comme la résistance programmée et/ou la durée de rétention de la donnée. Par exemple, dans le cas d'une cellule mémoire OxRAM, lorsqu'on passe de l'état résistif haut à l'état résistif bas, le courant de programmation va monter rapidement et le niveau atteint par le courant de programmation va déterminer le niveau de résistance programmé de la cellule. Par conséquent, afin de programmer une résistance souhaitée particulière, le courant devrait être limité pendant l'opération de programmation. Toutefois, une difficulté dans les matrices de mémoire à points d'intersection est que, pendant qu'une cellule mémoire donnée est en cours de programmation, une certaine quantité du courant envoyé dans la matrice va être perdue par des fuites de courant dans des cellules mémoires non sélectionnées. De tels chemins de courant sont connus dans la technique sous le nom de 3042304 B14538 FR - DD16569ST 3 chemins furtifs (de l'anglais "sneak path"). La quantité de courant passant par des chemins furtifs va dépendre de divers facteurs, comme les états résistifs des cellules mémoires non sélectionnées, la position de la cellule mémoire sélectionnée dans 5 la matrice, les conditions de fonctionnement, l'âge du dispositif et les performances d'autres composants dans chaque cellule mémoire. Il existe donc un problème technique pour compenser de façon appropriée de tels courants de fuite. Ainsi il existe un besoin dans la technique pour un 10 circuit et un procédé assurant une limitation de courant effective pendant des opérations de programmation dans une matrice de mémoire non volatile à points d'intersection. Résumé Un objet de modes de réalisation de la présente 15 description est de résoudre au moins partiellement un ou plusieurs besoin de l'art antérieur. Selon un aspect, on prévoit un dispositif mémoire comprenant : une matrice mémoire à points d'intersection comprenant une pluralité de pistes conductrices de rangée, une 20 pluralité de pistes conductrices de colonne et une pluralité de cellules mémoires agencées en rangées et en colonnes, chaque cellule mémoire comprenant un élément résistif programmable non volatil couplé entre l'une correspondante des pistes conductrices de rangée et l'une correspondante des pistes conductrices de 25 colonne ; un circuit d'alimentation en courant adapté à fournir un courant de programmation à l'une sélectionnée des pistes conductrices de rangée pendant une opération de programmation pour changer l'état résistif d'une cellule mémoire sélectionnée couplée entre la piste conductrice de rangée sélectionnée et l'une 30 sélectionnée des pistes conductrices de colonne ; un circuit de détection de courants de fuite couplé à la pluralité de pistes conductrices de colonne excepté à la piste conductrice de colonne sélectionnée et adapté à détecter des courants de fuite pendant l'opération de programmation ; et un circuit de génération de 35 limite de courant adapté à générer une limite de courant sur la 3042304 B14538 FR - DD16569ST 4 base de la somme des courants de fuite et d'un courant de référence, et à fournir la limite de courant au circuit d'alimentation en courant pour limiter le courant de programmation. 5 Selon un mode de réalisation, le circuit de génération de limite de courant est adapté à générer la limite de courant en ajoutant la somme des courants de fuite au courant de référence, le courant de référence représentant le courant de programmation à appliquer à la cellule mémoire sélectionnée. 10 Selon un mode de réalisation, le circuit d'alimentation en courant comprend un régulateur de tension pour contrôler un premier niveau de tension appliqué à la piste conductrice de rangée sélectionnée. Selon un mode de réalisation, le régulateur de tension 15 comprend un premier transistor couplé à la piste conductrice de rangée sélectionnée et ayant son noeud de commande couplé à la sortie d'un comparateur adapté à comparer la tension sur la piste conductrice de rangée sélectionnée à une tension de référence égale au premier niveau de tension. 20 Selon un mode de réalisation, le circuit d'alimentation en courant comprend un miroir de courant ayant une branche de référence couplée de façon à recevoir la limite de courant et une autre branche couplée à la piste conductrice de rangée sélectionnée. 25 Selon un mode de réalisation, le circuit d'alimentation en courant comprend un autre comparateur adapté à comparer un premier niveau de tension généré sur la base de la limite de courant à un deuxième niveau de tension généré sur la base du courant de programmation, et à contrôler le courant de 30 programmation sur la base de la comparaison. Selon un mode de réalisation, le circuit de détection de courants de fuite comprend un régulateur de tension pour contrôler un deuxième niveau de tension appliqué aux pistes conductrices de colonne excepté à la piste conductrice de colonne 35 sélectionnée. 3042304 B14538 FR - DD16569ST 5 Selon un mode de réalisation, le circuit de génération de limite de courant comprend : un premier miroir de courant ayant une branche de référence couplée de façon à recevoir la sorte des courants de fuite, et une autre branche ; un deuxième miroir de 5 courant ayant une branche de référence couplée de façon à recevoir le courant de référence, et une autre branche, les autres branches des premier et deuxième miroirs de courant étant couplées à une ligne de sortie du circuit de génération de limite de courant fournissant la limite de courant. 10 Selon un mode de réalisation, le dispositif mémoire comprend : un ou plusieurs autres circuits d'alimentation en courant adaptés à fournir un courant de programmation à une ou plusieurs autres pistes conductrices de rangée sélectionnées pendant l'opération de programmation pour changer l'état résistif 15 d'une ou plusieurs des cellules mémoires couplées à la piste conductrice de colonne sélectionnée ; et un circuit de division adapté à diviser la somme des courants de fuite par le nombre de circuits d'alimentation en courant. Selon un mode de réalisation, l'élément résistif 20 programmable non volatil est sélectionné parmi un dispositif OxRAM (mémoire à accès aléatoire à oxyde), un dispositif PCM (mémoire à changement de phase) et un dispositif MRAM (RAM magnétique). Selon un mode de réalisation, chaque cellule mémoire comprend en outre un dispositif à sélection bidirectionnelle 25 couplé en série avec l'élément résistif programmable non volatil et adapté à conduire au-dessus d'un seuil de tension. Selon un autre aspect on prévoit un procédé pour limiter un courant de programmation dans une matrice de mémoire non volatile à points d'intersection comprenant une pluralité de 30 pistes conductrices de rangée, une pluralité de pistes conductrices de colonne et une pluralité de cellules mémoires agencées en rangées et en colonnes, chaque cellule mémoire comprenant un élément résistif programmable non volatil couplé entre l'une correspondante des pistes conductrices de rangée et 35 l'une correspondante des pistes conductrices de colonne, le 3042304 B14538 FR - DD16569ST 6 procédé comprenant : fournir, par un circuit d'alimentation en courant, un courant de programmation à l'une sélectionnée des pistes conductrices de rangée pendant une opération de programmation pour changer l'état résistif d'une cellule mémoire 5 sélectionnée couplée entre la piste conductrice de rangée sélectionnée et l'une sélectionnée des pistes conductrices de colonne ; détecter, par un circuit de détection de courants de fuite couplé à la pluralité de pistes conductrices de colonne excepté à la piste conductrice de colonne sélectionnée, des 10 courants de fuite pendant l'opération de programmation ; générer, par un circuit de génération de limite de courant, une limite de courant sur la base de la somme des courants de fuite et d'un courant de référence ; et fournir la limite de courant au circuit d'alimentation en courant pour limiter le courant de 15 programmation. Brève description des dessins Les caractéristiques et avantages susmentionnés et d'autres apparaîtront avec la description détaillée suivante de modes de réalisation, donnés à titre d'illustration et non de 20 limitation, en faisant référence aux dessins joints dans lesquels : la figure lA illustre schématiquement une matrice mémoire à points d'intersection selon un exemple de réalisation ; la figure 1B illustre schématiquement une cellule 25 mémoire non volatile de la matrice de la figure lA plus en détail selon un exemple de réalisation ; la figure 2 est un graphique représentant une relation courant-tension aux bornes de la cellule mémoire de la figure 1B selon un exemple de réalisation ; 30 la figure 3 illustre schématiquement un dispositif mémoire muni d'un circuit de limitation de courant selon un exemple de réalisation de la présente description ; la figure 4 illustre schématiquement un dispositif mémoire muni d'un circuit de limitation de courant selon un autre 35 exemple de réalisation de la présente description ; 3042304 B14538 FR - DD16569ST 7 la figure 5 est un organigramme illustrant des étapes dans un procédé de limitation d'un courant de programmation dans une cellule mémoire non volatile selon un exemple de réalisation de la présente description ; 5 la figure 6 illustre schématiquement le dispositif mémoire de la figure 3 plus en détail selon un exemple de réalisation ; la figure 7 illustre schématiquement le dispositif mémoire de la figure 3 plus en détail selon un autre exemple de 10 réalisation ; la figure 8 illustre schématiquement un dispositif mémoire muni d'un circuit de limitation de courant selon un autre exemple de réalisation dans lequel plusieurs cellules mémoire peuvent être programmées à la fois ; et 15 la figure 9 illustre schématiquement le dispositif mémoire de la figure 8 plus en détail selon un exemple de réalisation. Description détaillée Dans la présente description, le terme "connecté" est 20 utilisé pour désigner une connexion électrique directe entre deux éléments, alors que le terme "couplé" est utilisé pour désigner une connexion électrique entre deux éléments qui peut être directe, ou qui peut se faire par l'intermédiaire d'un ou plusieurs composants tels que des résistances, des condensateurs, 25 ou des transistors. En outre, tel qu'il est utilisé ici, le terme "autour de" est utilisé pour désigner une plage de ±10 % autour de la valeur en question. Tel qu'il est utilisé ici, le terme "piste conductrice de colonne" est utilisé pour désigner les pistes conductrices 30 d'une matrice mémoire dessinées verticalement dans les figures, alors que le terne "piste conductrice de rangée" est utilisé pour désigner les pistes conductrices de la matrice mémoire dessinées horizontalement dans les figures. Il apparaîtra clairement à l'homme de l'art qu'en pratique les pistes conductrices de rangée 3042304 B14538 FR - DD16569ST 8 et les pistes conductrices de colonne pourraient avoir une orientation quelconque. La figure lA illustre schématiquement un exemple de matrice mémoire à points d'intersection 100 selon un exemple de 5 réalisation. Comme cela est illustré, la matrice 100 comprend par exemple des pistes conductrices de rangée 102 et des pistes conductrices de colonne 104. Dans l'exemple de la figure 1A, la matrice comprend quatre pistes conductrices de rangée et quatre pistes conductrices de colonne, bien que dans des variantes de 10 réalisation il puisse y avoir un nombre n quelconque de pistes conductrices de rangée et un nombre m quelconque de pistes conductrices de colonne, où n et m sont tous deux par exemple des entiers égaux ou supérieurs à deux. La matrice mémoire 100 comprend des cellules mémoires 15 106 agencées en rangées et en colonnes, une rangée de cellules mémoires pour chaque piste conductrice de rangée, et une colonne de cellules mémoires pour chaque piste conductrice de colonne. Chaque cellule mémoire est couplée entre une piste conductrice de rangée correspondante 102 et une piste conductrice de colonne 20 correspondante 104. Par exemple, les cellules mémoires dans la colonne du côté gauche de la matrice ont toutes une borne couplée à la piste conductrice de colonne 104 du côté gauche, et leurs autres bornes couplées aux pistes conductrices de rangée 102 correspondantes. 25 Une cellule mémoire de la matrice peut être sélectionnée pendant une opération de lecture ou d'écriture en appliquant des tensions appropriées à des pistes conductrices de rangée et de colonne afin de faire passer un courant dans la cellule mémoire sélectionnée. Un exemple est représenté en figure 1A dans lequel, 30 pendant une opération d'écriture, une cellule mémoire située dans le coin supérieur gauche de la matrice est sélectionnée en appliquant une tension de sélection Vsel à la piste conductrice de rangée 102 supérieure et une tension basse Vb à la piste conductrice de colonne 104 de gauche. Ainsi, la cellule mémoire 35 supérieure gauche de la matrice a une tension de Vsel-Vb à ses 3042304 B14538 FR - DD16569ST 9 bornes. Par exemple, Vsel est à environ la tension d'alimentation VDDH du circuit, qui est par exemple dans la plage de 1 à 3 V, et Vb est à 0 V ou autour de cette valeur. Par exemple, un courant appliqué à une cellule mémoire sélectionnée à partir de la piste 5 conductrice de rangée vers la piste conductrice de colonne provoque la commutation de l'élément résistif programmable d'un état de résistance haute à un état de résistance basse. Pour programmer l'élément résistif pour prendre un état de résistance différent, un courant est par exemple appliqué à partir de la 10 piste conductrice de colonne vers la piste conductrice de rangée de la cellule mémoire, ou un niveau de courant différent est appliqué. Les autres pistes conductrices de rangée 102 ont une tension Vx qui leur est appliquée, et les autres pistes 15 conductrices de colonne ont une tension Vsel-Vx qui leur est appliquée. Les cellules mémoires 106 comprennent chacune par exemple un dispositif à sélection bidirectionnelle, décrit plus en détail ci-après, qui est un dispositif non linéaire associé à un niveau de seuil Vt. Le niveau de seuil Vt est par exemple 20 inférieur à Vx. Lorsque la tension aux bornes du dispositif de sélection est supérieure au niveau de seuil Vt, le dispositif de sélection assure un chemin de résistance relativement faible, permettant le passage d'un courant relativement élevé dans celui-ci. Lorsque la tension aux bornes du dispositif de sélection est 25 inférieure à la tension de seuil Vt, le dispositif de sélection présente un chemin de résistance relativement élevé, de sorte que le courant passant dans celui-ci est relativement faible, ce courant correspondant à un courant de fuite. La somme de ces courants de fuite passant dans de multiples chemins furtifs dans 30 la matrice, correspondant aux cellules mémoires non sélectionnées, peut être significative, et c'est pourquoi il est souhaitable d'assurer une compensation pour ces courants de fuite. Le niveau de Vx est choisi de façon à être entre Vb et Vsel. Par exemple, Vx est égal à ou compris entre Vsel/2 et Vsel/3. 35 Dans le cas où Vx = Vsel/2 et Vb = O V, la tension aux bornes des 3042304 B14538 FR - DD16569ST 10 cellules mémoires dans la colonne de gauche de la matrice et dans la rangée supérieure de la matrice va être égale à Vse1/2, et la tension aux bornes de toutes les autres cellules mémoires de la matrice va être 0 V. Dans le cas où Vx = Vsel/3 et Vb = 0 V, la 5 tension aux bornes de toutes les cellules mémoires dans la matrice, excepté la cellule mémoire se trouvant dans le coin supérieur gauche, va être Vsel/3. Le niveau de la tension Vx est par exemple choisi de façon à minimiser le courant de fuite dans la matrice, et généralement pour la plupart des tailles de 10 matrice, un niveau de Vsel/2 fonctionne bien. La plus grande partie du courant résultant des niveaux de tension Vsel et Vb va passer à travers la cellule mémoire sélectionnée. Cependant, comme cela a été mentionné précédemment, une partie du courant va être perdue en raison de la fuite de 15 courant par les chemins furtifs dans les cellules mémoires passant à travers d'autres cellules mémoires non sélectionnées. Par exemple, lorsque la tension Vsel est appliquée à la piste conductrice de rangée supérieure 102 de la matrice, un courant de programmation Ip va circuler dans la cellule mémoire du haut à 20 gauche et des courants de fuite (I11, 112 et 113) peuvent circuler à travers les autres cellules mémoires dans la rangée supérieure de la matrice, en fonction du niveau de tension Vsel - Vx. Ces courants de fuite vont réduire le courant de programmation Ip passant dans la cellule mémoire sélectionnée. 25 La figure 1B illustre un exemple de la cellule mémoire 106 de la matrice de la figure lA selon un exemple de réalisation. Chaque cellule mémoire 106 comprend par exemple un élément résistif programmable 108 couplé en série avec un dispositif à sélection bidirectionnelle 110. 30 L'élément résistif programmable dispositif bipolaire programmable par la programmation qu'on fait passer dedans. 108 est un dispositif OxRAM (RAM à oxy (mémoire à changement de phase) ou un 108 est par exemple un polarité du courant de Par exemple, l'élément de), un dispositif PCM dispositif MRAM (RAM 3042304 B14538 FR - DD16569ST 11 magnétique) basé sur la technologie STT (couple de transfert de spin). Comme cela a été mentionné précédemment, le dispositif à sélection bidirectionnelle 110 est un dispositif bipolaire non 5 linéaire, qui va laisser passer un courant dans l'une ou l'autre direction lorsqu'un seuil de tension Vt à ses bornes est atteint. En dessous du seuil de tension Vt, le dispositif 110 par exemple laisse passer un courant relativement faible. Ainsi, le dispositif de sélection se comporte par exemple comme une diode 10 bidirectionnelle. Par exemple, comme cela est connu de l'homme de l'art, un tel dispositif à sélection bidirectionnelle peut être formé, entre autres, par : un dispositif à barrière tunnel, une structure MIM (métal-isolant-métal) basée sur une émission Schottky ; ou un dispositif à commutation à seuil bidirectionnel 15 induite par un chauffage à effet joule. Par exemple, de tels dispositifs sont décrits plus en détail dans la publication de J. Woo et al., intitulée "Selector Devices for High Density Cross-point ReRAM", 14th Non-Volatile Memory Technology Symposium (NVMTS 2014) Oct 27th - 29th, 2014, Jeju, Korea, dont le contenu est 20 considéré inclus ici dans les limites autorisées par la loi. Ainsi, lorsqu'une tension V>Vt est appliquée aux bornes de la cellule mémoire, la chute de tension Vr dans l'élément résistif 108 va être égale à V-Vt. La tension de seuil Vt est par exemple choisie supérieure à Vsel/2, de sorte qu'il va passer un 25 courant relativement faible dans les cellules mémoires non sélectionnées dans la matrice. Dans un mode de réalisation, Vt est choisi dans la plage de 0,8 à 1,5 V, et est par exemple égal à environ 1 V. La tension V est par exemple dans la plage de 1 à 3 V et est par exemple égale à environ 2 V, et la tension Vr aux 30 bornes de l'élément résistif pendant une phase de programmation est dans la plage de 1 à 2 V, et par exemple autour de 1,4 V. La figure 2 est un graphique illustrant un exemple des tensions de programmation et des courants résultants dans la cellule mémoire 106 de la figure 1B selon un exemple de réalisation 3042304 B14538 FR - DD16569ST 12 dans lequel l'élément résistif 108 est mis en oeuvre par un dispositif OxRAM. Comme cela est représenté par une courbe en trait plein, lorsque l'élément résistif 108 est dans l'état résistif bas, 5 jusqu'à ce que la tension de seuil Vt ou -Vt soit atteinte, le courant dans la cellule mémoire va être à un niveau bas de Imin ou moins. Dans l'exemple de la figure 2, les seuils positif et négatif Vt, -Vt sont de la même amplitude, mais il serait possible dans certains modes de réalisation que ces seuils aient des 10 amplitudes différentes. Lorsque la tension est supérieure à Vt ou inférieure à -Vt, le courant est proportionnel à V-Vt. Cependant, si un niveau négatif Voff est atteint, l'élément résistif va commuter dans l'état résistif haut, et le courant va tomber à un niveau relativement faible. 15 Comme cela est représenté par une courbe en trait interrompu, lorsque l'élément résistif 108 est dans l'état résistif haut et que la tension aux bornes de la cellule mémoire passe au-dessus de Vt et atteint un niveau Von, le courant monte brusquement lorsque l'élément résistif commute sur l'état résistif 20 bas. Le courant augmente jusqu'à ce qu'une certaine limite de courant Ilimit soit atteinte. Le niveau de cette limite de courant détermine la résistance de l'élément résistif dans l'état résistif bas. Dans le cas d'autres types d'éléments résistifs, le 25 comportement du dispositif lorsque la tension Von est atteinte peut être différent. Par exemple, dans des cellules mémoires basées sur des technologies MRAM, la limite de courant ne règle pas le niveau de résistance de l'état résistif bas, mais détermine la durée de rétention. Dans un autre exemple, dans des 30 technologies PCM (mémoire à changement de phase), la limite de courant déteLmine le volume de matériau qui est programmé, et ainsi a un impact sur la résistance du dispositif. On notera que les dispositifs PCM sont prograu uués de façon unipolaire, ce qui 3042304 B14538 FR - DD16569ST 13 signifie que ce n'est pas la direction du courant de programmation, mais le niveau du courant, qui détermine la résistance programmée. Il y a donc intérêt à limiter le courant, avec une 5 précision relativement élevée, à une limite de courant souhaitée l'irait afin de contrôler les propriétés résistives de l'élément résistif. La figure 3 illustre un dispbsitif mémoire 300 comprenant la matrice de mémoire non volatile à points 10 d'intersection 100 de la figure lA et comprenant des circuits pour limiter le courant de programmation selon un exemple de réalisation. Comme cela a été mentionné en relation avec la figure 1A, alors que la matrice mémoire ne comprend que seulement quatre rangées et quatre colonnes de cellules mémoires, dans des 15 variantes de réalisation elle pourrait comprendre un nombre quelconque n de rangées et un nombre quelconque m de colonnes. Un circuit limiteur de courant de rangée sélectionnée (SELECTED ROW CURRENT LIMITER) 302 est par exemple couplé à la piste conductrice de rangée sélectionnée, et est adapté à 20 appliquer un niveau de tension de piste conductrice sélectionnée Vsel à cette piste conductrice de rangée. En outre, le circuit 302 est adapté à limiter le courant fourni à cette piste conductrice de rangée. Les autres pistes conductrices de rangées sont par exemple couplées à une tension de piste conductrice non 25 sélectionnée Vusel, qui correspond par exemple à la tension Vx de la figure 1A, par un circuit de commande de rangée (non illustré dans les figures). Un circuit de sélection de colonne (non illustré dans les figures) est par exemple adapté à coupler l'une sélectionnée 30 des pistes conductrices de colonne à la tension Vb. Un circuit de sélection de colonne non sélectionnée (UNSELECTED COL SELECTION) 304 est par exemple adapté à appliquer la tension de piste conductrice non sélectionnée Vusel à chacune des pistes conductrices de colonne non sélectionnées. Ainsi, dans l'exemple 35 de la figure 3, une même tension est par exemple appliquée à des 3042304 B14538 FR - DD16569ST 14 pistes conductrices de rangée non sélectionnées et à des pistes conductrices de colonne non sélectionnées. Dans certains modes de réalisation, la tension Vb est égale à 0 V, et la tension Vusel est égale à environ Vsel/2. Cependant, en fonction du niveau de 5 Vsel, la tension Vsel/2 peut ne pas être suffisamment élevée pour polariser correctement des transistors dans le circuit 304. Dans un tel cas, la tension Vb peut être choisie de façon à être positive, par exemple égale à environ 0,5 V, et les autres tensions décalées en conséquence. Ainsi, par exemple, plutôt que d'être 10 égale à Vsel/2, la tension Vusel est par exemple égale à Vb+(VselvB)/2. Le circuit 304 est aussi par exemple adapté à générer une somme EILEAK des courants de fuite sur les pistes conductrices de colonne non sélectionnées. 15 Dans l'exemple de la figure 3, la deuxième cellule mémoire à partir du haut et deuxième à partir de la gauche est sélectionnée. Un circuit de référence de courant de programmation (PROG CURRENT REF) 306 est par exemple adapté à générer un courant 20 de référence IREF correspondant à une limite de courant de programmation souhaitée Inmit de la cellule mémoire à programmer. Un additionneur 308 est par exemple adapté à ajouter le courant de référence IREF à la somme EILEAK des courants de fuite afin de générer une limite de courant IL. Cette limite de courant IL est 25 fournie au circuit limiteur de courant de rangée sélectionnée 302, et est utilisée par ce circuit pour limiter le courant dans la piste conductrice de rangée sélectionnée. Dans certains modes de réalisation, l'élément résistif programmable de chaque cellule mémoire est un élément, comme un 30 élément OxRAM, ayant un état de résistance bas qui dépend du niveau atteint par le courant de programmation pendant la phase de programmation. Dans un tel cas, le dispositif mémoire est par exemple capable de programmer chaque élément résistif de façon à prendre l'un d'une pluralité d'états résistifs bas, ce qui permet 35 à chaque élément de mémoriser plus qu'un seul bit de données. Ceci 3042304 B14538 FR - DD16569ST 15 est par exemple obtenu en fixant, pendant chaque phase de programmation, une valeur appropriée du courant de référence IREF parmi une pluralité de niveaux sélectionnables de telle sorte que le courant de programmation soit limité à un niveau correspondant 5 à un état de résistance bas souhaité. Par exemple, dans un mode de réalisation, il y a trois courants de programmation distincts pour programmer trois états de résistance bas distincts (LRS), et un état de résistance haut (HRS). Ainsi, il y a un total de quatre états résistifs distincts, ce qui permet de mémoriser deux bits 10 de données dans chaque élément résistif programmable. Bien que dans l'exemple de la figure 3, la limite de courant IL soit imposée par le circuit qui fournit la tension d'alimentation Vsel, dans des variantes de réalisation, la limite de courant pourrait être imposée par le circuit qui fournit la 15 tension d'alimentation Vb, comme on va le décrire maintenant en faisant référence à la figure 4. La figure 4 illustre schématiquement un circuit de mémoire non volatile 400 selon une variante de réalisation par rapport à la figure 3. Comme cela est illustré, le circuit de 20 commande de colonnes (non illustré dans les figures) est adapté à coupler une piste conductrice de colonne sélectionnée à une tension Vsel plutôt qu'à la tension Vb. En outre, le circuit 302 est remplacé par un circuit limiteur de courant de rangée sélectionnée 402 adapté à appliquer une tension Vb à la piste 25 conductrice de rangée sélectionnée, et à limiter le courant à une valeur IL de façon similaire au circuit 302. La figure 5 est un organigramme illustrant des étapes dans un procédé de limitation de courant de programmation dans une matrice mémoire non volatile à points d'intersection, comme 30 la matrice 100 de la figure 1A. Dans une étape 501, une piste conductrice de rangée et une piste conductrice de colonne d'une cellule mémoire à programmer sont sélectionnées. Par exemple, la piste conductrice de rangée sélectionnée est couplée au niveau de tension Vsel, et 35 la piste conductrice de colonne sélectionnée est couplée à la 3042304 B14538 FR - DD16569ST 16 tension Vb, ou vice versa. Cela déclenche le début de la phase de programmation. Dans une étape suivante 502, le courant fourni à la piste conductrice de rangée sélectionnée est limité sur la base 5 d'une limite de courant IL. En particulier, l'étape 502 comprend par exemple les sous-étapes 502A à 502C suivantes, qui sont toutes par exemple réalisées de façon continue pendant la phase de programmation de la cellule mémoire. Dans l'étape 502A, le courant de fuite sur les pistes 10 conductrices de colonne non sélectionnées pendant la phase de programmation est détecté et additionné pour générer la sommeDLEAK. La somme EILEAK est par exemple représentée par un niveau de courant, bien que dans des variantes de réalisation elle puisse être représentée par un niveau de tension. 15 Dans l'étape 502B, la limite de courant IL est générée sur la base de la somme des courants de fuite et du courant de programmation de référence IREF- Ici encore, la limite de courant IL est par exemple représentée par un niveau de courant, bien que dans des variantes de réalisation elle puisse être représentée 20 par un niveau de tension. Dans l'étape 502C, le courant fourni à la piste conductrice de rangée sélectionnée pendant la phase de programmation est limité sur la base de la limite de courant. Après l'étape 502, une étape 503 est réalisée, pendant 25 laquelle on détermine si la fin de la phase de programmation a été atteinte. Par exemple, dans certains modes de réalisation, cela implique de déterminer si la limite de courant IL a été atteinte, et si oui, la tension Vsel n'est plus appliquée à la piste conductrice de rangée ou de colonne sélectionnée, terminant 30 ainsi la phase de programmation. Dans l'autre cas, la phase de programmation continue toujours pendant un certain temps. Si la phase de programmation n'a pas encore pris fin, l'étape 502 continue. Une fois la fin de la phase de programmation atteinte, le procédé se termine à l'étape 504. 3042304 B14538 FR - DD16569ST 17 La figure 6 illustre schématiquement le dispositif mémoire 300 de la figure 3 plus en détail selon un exemple de réalisation. La façon dont la mise en oeuvre de la figure 6 pourrait être adaptée pour mettre en oeuvre le dispositif mémoire 5 400 de la figure 4 apparaîtra facilement à l'homme de l'art. Le circuit de sélection de colonne non sélectionnée 304 comprend par exemple une ligne 602 couplée à chacune des pistes conductrices de colonne non sélectionnées. Par exemple, la ligne 602 est couplée à chacune des pistes conductrices de colonne, 10 notées Co à CM en figure 6, par l'intermédiaire d'un transistor NMOS de sélection correspondant T0 à Tm, contrôlé par un signal de commande correspondant S0 à S. La totalité des signaux de commande S0 à Sm est par exemple activée pendant une phase de programmation, excepté le signal correspondant à la piste 15 conductrice de colonne sélectionnée. La ligne 602 fournit la somme des courants de fuite EILEAK. La tension Vusel est par exemple appliquée à chacune des pistes conductrices de colonne non sélectionnées parmi les pistes conductrices Co à CM par un régulateur de tension formé par un 20 transistor NMOS 604 ayant l'un de ses noeuds de conduction principaux couplé à la ligne 602 et ayant son noeud de commande contrôlé par un comparateur 606, qui est par exemple mis en oeuvre par un amplificateur opérationnel. Le comparateur 606 a l'une de ses entrées couplée à la ligne 602, et son autre entrée couplée 25 au niveau de tension Vusel, qui est par exemple au niveau de ou à proximité de Vsel/2. L'autre noeud de conduction principal du transistor 604 est couplé à une ligne de sortie du circuit 304 fournissant la somme 57/ - LEAK des courants de fuite, et est par exemple couplé au rail de masse par l'intermédiaire d'un 30 transistor NMOS 610. L'additionneur 308 est par exemple mis en oeuvre par une paire de miroirs de courant. Un premier miroir de courant est formé par le transistor 610 et un autre transistor NMOS 612 couplé entre une ligne de sortie 614 de l'additionneur et le rail de 35 masse. Les noeuds de commande des transistors 610, 612 sont 3042304 B14538 FR - DD16569ST 18 couplés entre eux et au drain du transistor 610, de telle sorte que le transistor 610 forme la branche de référence du miroir de courant, et le transistor 612 laisse passer un courant basé sur le courant DLEAK . L'autre miroir de courant est formé par un 5 transistor NMOS 616 couplé entre le circuit de référence de courant de programmation 306 et le rail de masse, et un transistor NMOS 618 couplé entre la ligne 614 et le rail de masse. Le circuit 306 comprend par exemple une source de courant 619 couplée entre le transistor 616 et un rail de tension d'alimentation VDDH, la 10 source de courant 619 fournissant le courant de référence IREF à l'additionneur 308. Les noeuds de commande des transistors 616, 618 sont couplés entre eux et au drain du transistor 616, de sorte que le transistor 616 forme la branche de référence du miroir de courant, et le transistor 618 laisse passer un courant basé sur 15 le courant de référence IREF. Dans certains modes de réalisation, les transistors 612 et 618 ont les mêmes dimensions que les transistors 610 et 616, de sorte que le transistor 612 laisse passer le courant DLEAK et le transistor 618 laisse passer le courant IREF. Toutefois, dans 20 des variantes de réalisation, il serait possible que ces transistors aient des dimensions différentes afin que les courants IREF et 3'1 -LEAK soient augmentés ou diminués d'un même facteur. La somme des courants conduits par les transistors 612 et 618 fournit la limite de courant IL sur la ligne 614, qui est 25 fournie au circuit limiteur de courant de rangée sélectionnée 302. Le circuit 302 comprend par exemple un premier miroir de courant constitué de transistors PMOS 620 et 622 ayant chacun leur source couplée au rail de tension d'alimentation VDDH. Les noeuds de commande des transistors 620 et 622 sont couplés entre 30 eux et au drain du transistor 620, de sorte que le transistor 620 forme la branche de référence du miroir de courant.- Le drain du transistor 622 est par exemple couplé à un noeud 624, qui est à son tour couplé au rail de masse par l'intermédiaire d'une résistance 626. Le noeud 624 fournit une tension VL basée sur le 35 courant IL, et est couplé à une première entrée d'un comparateur 3042304 B14538 FR - DD16569ST 19 628, qui est par exemple mis en oeuvre par un amplificateur opérationnel. Le comparateur 628 compare la tension VL à une tension de rétroaction VFB. La tension de rétroaction V.KB est fournie par 5 un noeud 630 couplé au rail de masse par l'intermédiaire d'une résistance 631. Un courant passant dans la résistance 631 est fourni par un miroir de courant formé par un transistor PMOS 632 couplé en série avec la résistance 631, et un transistor PMOS 634. Les transistors 632, 634 ont leurs sources couplées au rail 10 d'alimentation VDDH, et leurs noeuds de commande couplés entre eux et au drain du transistor 634, de sorte que le transistor 634 forme une branche de référence du miroir de courant. Le drain du transistor 634 est couplé à la piste conductrice de rangée sélectionnée (SELECTED WL), notée 636 en figure 6, par 15 l'intermédiaire d'un transistor NMOS 638. Le transistor 638 forme un régulateur de tension pour appliquer la tension Vsel à la piste conductrice de rangée sélectionnée. Par exemple, le noeud de commande du transistor 638 est couplé à la sortie d'un comparateur 640, qui est par exemple mis en oeuvre par un amplificateur 20 opérationnel, et qui a son entrée négative couplée à la piste conductrice de rangée sélectionné 636, et son entrée positive couplée à la sortie d'un multiplexeur 642. Une entrée du multiplexeur 642 reçoit le niveau de tension Vsel, et l'autre entrée du multiplexeur 642 est par exemple couplée à la masse, ou 25 à Vusel. Le multiplexeur 642 est contrôlé par le signal de sortie S OUT du comparateur 628. En fonctionnement, au début de la phase de programmation de la cellule mémoire sélectionnée, le signal S OUT sur la sortie du comparateur 628 est par exemple bas, et ainsi contrôle le 30 multiplexeur 642 pour fournir la tension Vsel au comparateur 640. La piste conductrice de rangée sélectionnée 638 est ainsi amenée à la tension Vsel, et le courant de programmation va commencer à monter. Pendant la phase de programmation, les circuits 304, 306 et 308 génèrent la limite de courant IL. Le circuit 302 convertit 35 la limite de courant IL en un niveau de tension VL, et utilise le 3042304 B14538 FR - DD16569ST 20 miroir de courant formé par les transistors 632 et 634, et la résistance 631, pour générer la tension de rétroaction VFB sur la base du niveau du courant IWL sur la piste conductrice de rangée sélectionnée 636. Ces tensions VFB et VL sont comparées par le 5 comparateur 628. Lorsque le courant IWL sur la piste conductrice de rangée sélectionnée atteint la limite de courant IL, le signal de sortie S OUT du comparateur 628 passe par exemple à l'état haut, amenant le multiplexeur 642 à coupler l'entrée du comparateur à la masse ou à un autre niveau bas, de sorte que le 10 courant de programmation est stoppé ou réduit de façon significative. Tous les transistors se trouvant dans le circuit de la figure 6 sont par exemple des transistors MOS à canal N (NMOS) ou des transistors MOS à canal P (PMOS), et il apparaitra à l'homme 15 de l'art que, dans des variantes de réalisation, un ou plusieurs des transistors PMOS pourraient être remplacés par des transistors NMOS, et vice versa. Par exemple, les transistors NMOS 604 et 638 pourraient être remplacés par des transistors PMOS, et dans un tel cas, les entrées positives et négatives des comparateurs 20 correspondants 606, 640 sont aussi interverties. La figure 7 illustre le dispositif mémoire de la figure 3 selon une variante de réalisation par rapport à la figure 6. De nombreux éléments du circuit de la figure 7 sont identiques à des éléments du circuit de la figure 6, et ces éléments portent les 25 mêmes références et ne seront pas décrits de nouveau en détail. Les circuits 304, 306 et 308 de la figure 7 sont par exemple mis en oeuvre de la même manière qu'en figure 6, et ces circuits ne seront pas décrits de nouveau. Le circuit 302 est toutefois modifié pour retirer le comparateur 628 et le 30 multiplexeur 642. A la place, la limite de courant IL est appliquée à la branche de référence d'un miroir de courant formé par des transistors PMOS 702 et 704 ayant leurs noeuds de commande couplés entre eux et au drain du transistor 702. Le transistor 702 est couplé entre la ligne 614 et le rail d'alimentation VDDH, et le 35 transistor 704 est couplé en série avec le transistor 638. Le 3042304 B14538 FR - DD16569ST 21 comparateur 640 reçoit, sur son entrée négative, le niveau de tension Vsel. Ainsi, dans le mode de réalisation de la figure 7, le courant IWL sur la piste conductrice de rangée sélectionnée 636 5 est directement limité par le miroir de courant formé par les transistors 702 et 704. En fonctionnement, au début de la phase de programmation, le courant IWL va être inférieur au courant IL, et va commencer à monter, mais dès qu'il atteint la limite de courant IL, il ne va plus monter. 10 Il n'y a par exemple aucune détection de la fin de la phase d'écriture dans le circuit de la figure 7. En variante, bien que cela ne soit pas représenté en figure 7, il serait possible de coupler l'entrée positive du comparateur 640 à la sortie d'un multiplexeur 642 comme en figure 6, avec une entrée du 15 multiplexeur 642 couplée à Vsel, et l'autre à la masse ou à la tension Vusel. Dans un tel cas, plutôt que d'être contrôlé par le comparateur 628 (non présent en figure 7), le multiplexeur 642 pourrait par exemple être contrôlé par un inverseur ayant son entrée connectée à la ligne 636. Avant que la limite de courant 20 IL n'ait été atteinte, la tension sur la ligne 636 va être relativement haute, et l'inverseur va fournir une tension basse contrôlant le multiplexeur 642 pour fournir la tension Vsel au comparateur 640. Toutefois, lorsque la limite de courant IL est atteinte, la tension sur la ligne 636 va chuter, et la sortie de 25 l'inverseur va passer à l'état haut, contrôlant le multiplexeur 642 pour fournir la tension de masse ou une autre tension basse au comparateur 640. Dans les modes de réalisation des figures 3 et 4, une seule cellule mémoire de la matrice est sélectionnée et programmée 30 pendant chaque phase de programmation. Dans des variantes de réalisation, plusieurs cellules mémoires d'une colonne donnée pourrait être sélectionnées et programmées en même temps, comme on va le décrire maintenant en faisant référence à la figure 8. 3042304 B14538 FR - DD16569ST 22 La figure 8 illustre schématiquement un dispositif mémoire 800 selon un autre exemple de réalisation, comprenant la même matrice mémoire 100 qu'en figure 1. Le dispositif mémoire 800 comprend un premier circuit 5 limiteur de courant de rangée sélectionnée (SELECTED ROW 1 CURRENT LIMITER) 804-1 couplé à une première rangée 1 sélectionnée de la matrice mémoire. Le dispositif mémoire comprend aussi un ou plusieurs autres circuits limiteurs de courant, jusqu'à un k-ième circuit (SELECTED ROW k CURRENT LIMITER) 804-k, couplé 10 respectivement à une ou plusieurs autres rangées sélectionnées de la matrice mémoire. Une seule piste conductrice de colonne sélectionnée est par exemple couplée à la tension Vb, et les autres pistes conductrices de colonne sont couplées au circuit de sélection de 15 colonne non sélectionnée 304. Puisque plus qu'une seule des rangées reçoit un courant de programmation, la sortie du circuit 304 est un courant LE/LEAK égal à la somme des courants de fuite générés par les k courants de programmation. Ce courant est par exemple fourni à un circuit 806, qui divise le courant par k, afin 20 de générer un courant de fuite moyen par rangée sélectionnée. Le résultat de la division est par exemple fourni à un additionneur 808, qui l'additionne au courant de référence TREF fourni par le circuit 306, et fournit une limite de courant IL, qui est fournie à chacun des circuits 804-1 à 804-k. 25 Bien sûr, dans des variantes de réalisation, les circuits 804-1 à 804-k pourraient fournir la tension Vb à des pistes conductrices de rangée sélectionnées plutôt que la tension Vsel, et un circuit de sélection de colonne (non illustré en figure 8), pourrait appliquer la tension Vb à la piste conductrice 30 de colonne sélectionnée. La figure 9 illustre schématiquement le dispositif mémoire 800 de la figure 8 plus en détail selon un exemple de réalisation. 3042304 B14538 FR - DD16569ST 23 Les circuits 304 et 306 sont par exemple les mêmes que ces circuits dans la figure 6 et ne seront pas décrits de nouveau en détail. Les circuits 806 et 808 pour diviser le courant LEILEAK 5 par k et pour additionner le résultat au courant TREF sont par exemple mis en oeuvre par un circuit similaire au circuit de l'additionneur 308 de la figure 6. Toutefois, les transistors 610 et 612 du miroir de courant recevant le courant EILEAK sont remplacés par des transistors 902 et 904 respectivement. Les 10 largeurs des transistors 902 et 904 sont par exemple différentes afin de mettre en oeuvre la fonction de division du circuit 806. Par exemple, en appelant W la largeur du transistor 902, la largeur du transistor 904 est par exemple W/k. Les circuits de limitation de courant 804-1 à 804-k sont 15 chacun par exemple mis en oeuvre par un circuit similaire au circuit 302 de la figure 7, excepté que le transistor 702 est par exemple mis en oeuvre dans un seul de ces circuits, par exemple dans le circuit 804-1, et chacun des circuits 804-1 à 804-k comprend le transistor 704-1 à 704-k ayant respectivement sa 20 grille couplée à la ligne 614 afin de limiter le courant sur la piste conductrice de rangée sélectionnée correspondante au niveau IL. Chacun des circuits 804-1 à 804-k comprend un transistor correspondant 638-1 à 638-k et un multiplexeur correspondant 6401 à 640-k couplé à la piste conductrice de rangée sélectionnée 25 correspondante IWL1 à IWLk. Un avantage des modes de réalisation décrits ici est que les courants de fuite dans une matrice mémoire à points d'intersection peuvent être compensés d'une manière simple et précise. 30 Avec la description ainsi faite d'au moins un mode de réalisation illustratif, diverses altérations, modifications et améliorations apparaitront facilement à l'honute de l'art. Par exemple il apparaitra à l'homme de l'art que bien qu'on ait décrit un circuit comprenant des transistors MOS, dans des variantes de 3042304 B14538 FR - DD16569ST 24 réalisation, on pourrait utiliser des technologies de transistors différentes, comme la technologie bipolaire. En outre, il sera clair pour l'homme de l'art que le niveau de la tension d'alimentation VDDH va dépendre de la 5 technologie particulière utilisée pour l'élément résistif, et que plutôt que les circuits soient couplés à une tension de masse, ils pourraient être couplés à un niveau de tension différent, qui pourrait être négatif. REVENDICATIONS1. Dispositif mémoire comprenant : une matrice mémoire à points d'intersection (100) comprenant une pluralité de pistes conductrices de rangée (102), une pluralité de pistes conductrices de colonne (104) et une pluralité de cellules mémoires (106) agencées en rangées et en colonnes, chaque cellule mémoire (106) comprenant un élément résistif programmable non volatil (108) couplé entre l'une correspondante des pistes conductrices de rangée et l'une correspondante des pistes conductrices de colonne ; un circuit d'alimentation en courant (302, 402) adapté à fournir un courant de programmation (IWL) à l'une sélectionnée des pistes conductrices de rangée pendant une opération de programmation pour changer l'état résistif d'une cellule mémoire sélectionnée couplée entre la piste conductrice de rangée sélectionnée et l'une sélectionnée des pistes conductrices de colonne ; un circuit de détection de courants de fuite (304) couplé à la pluralité de pistes conductrices de colonne (104) excepté à la piste conductrice de colonne sélectionnée et adapté à détecter des courants de fuite pendant l'opération de programmation ; et un circuit de génération de limite de courant (308) adapté à générer une limite de courant (IL) sur la base de la somme des courants de fuite et d'un courant de référence (IREF), et à fournir la limite de courant au circuit d'alimentation en courant (302) pour limiter le courant de programmation. 2. Dispositif mémoire selon la revendication 1, dans lequel le circuit de génération de limite de courant (308) est adapté à générer la limite de courant (IL) en ajoutant la somme 30 des courants de fuite au courant de référence (IREF), dans lequel le courant de référence représente le courant de programmation à appliquer à la cellule mémoire sélectionnée. 3. Dispositif mémoire selon la revendication 1 ou 2, dans lequel le circuit d'alimentation en courant (302) comprend 3042304 B14538 FR - DD16569ST 26 un régulateur de tension (638, 640) pour contrôler un premier niveau de tension (Vsel) appliqué à la piste conductrice de rangée sélectionnée. 4. Dispositif mémoire selon la revendication 3, dans 5 lequel le régulateur de tension (638, 640) comprend un premier transistor (638) couplé à la piste conductrice de rangée sélectionnée et ayant son noeud de commande couplé à la sortie d'un comparateur (640) adapté à comparer la tension sur la piste conductrice de rangée sélectionnée à une tension de référence 10 égale au premier niveau de tension (Vsel). 5. Dispositif mémoire selon l'une quelconque des revendications 1 à 4, dans lequel le circuit d'alimentation en courant (302) comprend un miroir de courant (702, 704) ayant une branche de référence (702) couplée de façon à recevoir la limite 15 de courant (IL) et une autre branche (704) couplée à la piste conductrice de rangée sélectionnée. 6. Dispositif mémoire selon l'une quelconque des revendications 1 à 4, dans lequel le circuit d'alimentation en courant (302) comprend un autre comparateur (628) adapté à 20 comparer un premier niveau de tension (VL) généré sur la base de la limite de courant (IL) à un deuxième niveau de tension (VFB) généré sur la base du courant de programmation, et à contrôler le courant de programmation sur la base de la comparaison. 7. Dispositif mémoire selon l'une quelconque des 25 revendications 1 à 6, dans lequel le circuit de détection de courants de fuite (304) comprend un régulateur de tension (604, 606) pour contrôler un deuxième niveau de tension (Vusel) appliqué aux pistes conductrices de colonne (104) excepté à la piste conductrice de colonne sélectionnée. 8. Dispositif mémoire selon l'une quelconque des revendications 1 à 7, dans lequel le circuit de génération de limite de courant (308) comprend : un premier miroir de courant (610, 612) ayant une branche de référence (610) couplée de façon à recevoir la somme 35 des courants de fuite, et une autre branche (612) ; 3042304 B14538 FR - DD16569ST 27 un deuxième miroir de courant ayant une branche de référence (616) couplée de façon à recevoir le courant de référence (IREF), et une autre branche (618), les autres branches (612, 618) des premier et deuxième miroirs de courant étant 5 couplées à une ligne de sortie (614) du circuit de génération de limite de courant (308) fournissant la limite de courant (IL). 9. DisPositif mémoire selon l'une quelconque des revendications 1 à 8, comprenant : un ou plusieurs autres circuits d'alimentation en 10 courant (804-k) adaptés à fournir un courant de programmation (IWLk) à une ou plusieurs autres pistes conductrices de rangée sélectionnées pendant l'opération de programmation pour changer l'état résistif d'une ou plusieurs des cellules mémoires couplées à la piste conductrice de colonne sélectionnée ; et 15 un circuit de division (806) adapté à diviser la somme des courants de fuite par le nombre de circuits d'alimentation en courant. 10. Dispositif mémoire selon l'une quelconque des revendications 1 à 9, dans lequel l'élément résistif programmable 20 non volatil (108) est l'un des éléments suivants : un dispositif OxRAM (mémoire à accès aléatoire à oxyde) ; un dispositif PCM (mémoire à changement de phase) ; et un dispositif MRAM (RAM magnétique). 25 11. Dispositif mémoire selon l'une quelconque des revendications 1 à 10, dans lequel chaque cellule mémoire comprend en outre un dispositif à sélection bidirectionnelle (110) couplé en série avec l'élément résistif programmable non volatil et adapté à conduire au-dessus d'un seuil de tension (Vt). 30 12. Procédé pour limiter un courant de programmation dans une matrice de mémoire non volatile à points d'intersection (100) comprenant une pluralité de pistes conductrices de rangée (102), une pluralité de pistes conductrices de colonne (104) et une pluralité de cellules mémoires (106) agencées en rangées et en colonnes, chaque cellule mémoire (106) comprenant un élément 3042304 B14538 FR - DD16569ST 28 résistif programmable non volatil (108) couplé entre l'une correspondante des pistes conductrices de rangée et l'une correspondante des pistes conductrices de colonne, le procédé comprenant : fournir, par un circuit d'alimentation en courant (302), 5 un courant de programmation (IWL) à l'une sélectionnée des pistes conductrices de rangée pendant une opération de programmation pour changer l'état résistif d'une cellule mémoire sélectionnée couplée entre la piste conductrice de rangée sélectionnée et l'une sélectionnée des pistes conductrices de colonne ; 10 détecter, par un circuit de détection de courants de fuite (304) couplé à la pluralité de pistes conductrices de colonne (104) excepté à la piste conductrice de colonne sélectionnée, des courants de fuite pendant l'Opération de programmation ; 15 générer, par un circuit de génération de limite de courant (308), une limite de courant (IL) sur la base de la somme des courants de fuite et d'un courant de référence (IREF) ; et fournir la limite de courant (IL) au circuit d'alimentation en courant (302) pour limiter le courant de 20 programmation.