FR 2976711 A1 20121221 FR 1155191 A 20110615 B10704 - 03914-05 1 (e;T,T,ULE MÉMOIRE AVEC MÉMORISATION VOLATILE ET NON VOLATILE DOMAINE DE L' INVENTION La présente invention concerne une cellule mémoire volatile/non volatile, et un procédé de lecture d'un ou plusieurs bits non volatils dans une cellule mémoire non volatile. ARRIERE PLAN DE L'INVENT'ION La figure 1 illustre une cellule mémoire statique à accès aléatoire (SRAM) typique 100. Un premier inverseur est constitué d'un transistor MOS à canal N (NMOS) 102 et d'un transistor MOS à canal P (PMOS) 103 reliés en série entre une tension d'alimentation VDD et une tension de masse. Un deuxième inverseur est constitué d'un transistor NMOS 104 et d'un transistor PMOS 105, aussi reliés en série entre la tension d'alimentation VDD et la tension de masse. Les grilles des transistors 104 et 105 sont couplées à un noeud 106 couplé aux drains des transistors 102 et 103, tandis que les grilles des transistors 102 et 103 sont couplées à un noeud 108 couplé aux drains des transistors 104 et 105, de sorte que les inverseurs constituent une bascule. Les noeuds 106 et 108 mémorisent des états de tension complémentaires Q et Q, permettant de mémoriser un bit de données dans la cellule. Le noeud 106 est couplé à une ligne de B10704 - 03914-05 2 bit BL par l'intermédiaire d'un transistor MOS à canal N (NMOS) 110, tandis que le noeud 108 est couplé à une ligne de bit complémentaire BLB par l'intermédiaire d'un transistor NMOS 112. Les grilles des transistors 110 et 112 sont couplées à une ligne de mot WL, et sont activées par un signal bas permettant d'écrire ou de lire des données dans la cellule 100. Le circuit 100 présente l'avantage d'être d'un accès rapide pendant des opérations de lecture et d'écriture. Cependant, un inconvénient est que, comme avec toutes les cellules mémoire volatiles, la donnée mémorisée est perdue si la tension d'alimentation VDD est retirée. La mémoire Flash est un exemple de mémoire non volatile programmable. Un inconvénient de la mémoire Flash est qu'elle est d'accès relativement lent, comparée à la cellule SRAM de la figure 1, et qu'elle demande une tension d'alimentation relativement élevée. En outre, la technologie Flash est difficile à intégrer avec la technologie CMOS, et elle a une endurance relativement faible. Dans de nombreuses applications, on a besoin d'une cellule mémoire programmable capable de mémoriser des données non volatiles et ayant des vitesses d'accès supérieures. RESUME DE L'INVENTION Un objet de modes de réalisation de la présente invention est de répondre au moins partiellement à un ou 25 plusieurs besoins de l'art antérieur. Selon un aspect de la présente invention, on prévoit un dispositif mémoire comprenant : au moins une cellule mémoire comprenant : des première et deuxième paires de transistors, chaque paire couplée en série entre des première et deuxième 30 tensions d'alimentation, un premier noeud de mémorisation entre les transistors de la première paire de transistors étant couplé de façon à commander des bornes de la deuxième paire de transistors, et un deuxième noeud de mémorisation entre les transistors de la deuxième paire de transistors étant couplé 35 pour commander des bornes de la première paire de transistors ; B10704 - 03914-05 3 et un premier élément à commutation de résistance couplé entre la première tension d'alimentation et un premier transistor de la première paire de transistors et programmé pour avoir l'une d'une première et d'une deuxième résistance ; et un circuit de commande adapté à mémoriser une valeur de données au niveau des premiers et deuxièmes noeuds de mémorisation en couplant le premier noeud de mémorisation à la deuxième tension d'alimentation, la valeur de donnée étant déterminée par la résistance programmée du premier élément à commutation de résistance. Selon un mode de réalisation, le dispositif mémoire comprend en outre un cinquième transistor couplé entre le premier noeud de mémorisation et une première ligne d'accès, et un sixième transistor couplé entre le deuxième noeud de mémorisation et une deuxième ligne d'accès couplé entre la première tension d'alimentation et un premier transistor d'une deuxième paire de transistors et programmé pour avoir l'une d'une première et d'une deuxième résistance, la valeur de donnée étant déterminée par les résistances relatives des première et deuxième résistances. Selon un autre mode de réalisation, ladite au moins une cellule mémoire comprend en outre un deuxième élément à commutation de résistance couplé entre la première tension d'alimentation et un premier transistor de la deuxième paire de transistors et programmé pour avoir l'une d'une première et d'une deuxième résistance, le cinquième transistor étant commandé par une première ligne de commande et le sixième transistor étant commandé par une deuxième ligne de commande indépendante de la première ligne de commande. Selon un autre mode de réalisation, le circuit de commande est adapté pour coupler, avant de mémoriser la valeur de données au niveau des premier et deuxième noeuds de mémo- risation, le premier noeud de mémorisation à la première tension d'alimentation, et le circuit de commande est adapté pour mémoriser une autre valeur de données au niveau des premier et deuxième noeuds de mémorisation en couplant le deuxième noeud de B10704 - 03914-05 4 mémorisation à la première tension d'alimentation, puis en couplant le deuxième noeud de mémorisation à la première tension d'alimentation. Selon un autre mode de réalisation, ladite au moins une cellule mémoire comprend en outre un autre élément à commutation de résistance couplé entre la deuxième tension d'alimentation et un deuxième transistor de la première paire de transistors et programmé pour avoir l'une d'une première et d'une deuxième résistance. Selon un autre mode de réalisation, le circuit de commande est en outre adapté pour mémoriser une autre valeur de donnée au niveau des premier et deuxième noeuds de mémorisation en couplant le premier noeud de mémorisation à la première tension d'alimentation, la valeur de donnée étant déterminée par la résistance programmée de l'autre élément à comnutation de résistance. Selon un autre mode de réalisation, le circuit de commande est adapté à sélectionner entre mémoriser ladite valeur de données et mémoriser l'autre valeur de données au niveau des premier et deuxième noeuds de mémorisation en appliquant la première ou la deuxième tension d'alimentation au premier noeud de mémorisation. Selon un autre mode de réalisation, ladite au moins une cellule mémoire comprend en outre : un troisième élément à commutation de résistance couplé entre la deuxième tension d'alimentation et un deuxième transistor de la première paire de transistors et programmé pour avoir l'une d'une première et d'une deuxième résistance ; et un quatrième élément à conllu- tation de résistance couplé entre la deuxième tension d'alimentation et un deuxième transistor de la deuxième paire de transistors et programmé pour avoir l'une des première et deuxième résistances ; et le circuit de commande est en outre adapté à mémoriser une autre valeur de données au niveau des premier et deuxième noeuds de mémorisation en couplant le premier noeud de mémorisation à la première tension d'alimenta- B10704 - 03914-05 tion, la valeur de données étant déterminée par les résistances relatives des troisième et quatrième éléments à commutation de résistance. Selon un autre mode de réalisation, le dispositif 5 mémoire comprend en outre un circuit de programmation adapté à programmer les résistances du premier élément à commutation de résistance sur la base de données d'entrée. Selon un autre mode de réalisation, le premier élément à commutation de résistance est l'un des éléments suivants : un élément résistif à oxyde ; un élément à conduction ; un élément à changement de phase ; un élément à métallisation programmable ; un élément à transfert de spin ; un élément à commutation assistée thermiquement, et un élément à commutation magnétique induite par champ. Selon un autre aspect de la présente invention, on prévoit une mémoire à accès aléatoire comprenant un réseau des dispositifs mémoire susmentionnés. Selon encore un autre aspect de la présente invention, on prévoit un réseau de portes programmable sur site comprenant au moins un multiplexeur comprenant une entrée couplée à au moins l'un des dispositifs mémoire susmentionnés. Selon encore un autre aspect de la présente invention, on prévoit un réseau de portes programmable sur site comprenant : une pluralité de blocs logiques configurables; et au moins un bloc de commutation adapté à interconnecter la pluralité de blocs logiques configurables, ledit au moins un bloc de commutation comprenant le dispositif mémoire susmentionné. Selon un autre aspect de la présente invention, on prévoit un procédé pour transférer une valeur de données à partir d'un emplacement de mémorisation non volatile d'une cellule mémoire vers des premier et deuxième noeuds de mémorisation volatile de ladite cellule mémoire, dans lequel la cellule mémoire comprend des première et deuxième paires de transistors, chaque paire étant couplée en série entre des B10704 - 03914-05 6 première et deuxième tensions d'alimentation, dans lequel un premier noeud de mémorisation entre les transistors de la première paire de transistors est couplé à des bornes de commande de la deuxième paire de transistors, et un deuxième noeud de mémorisation entre les transistors de la deuxième paire de transistors est couplé à des bornes de commande de la première paire de transistors ; et un premier élément à commutation de résistance couplé entre la première tension d'alimentation et un premier transistor de la première paire de transistors et programmé pour avoir l'une d'une première et d'une deuxième résistance, le procédé comprenant l'étape suivante coupler le premier noeud de mémorisation à la deuxième tension d'alimentation, la valeur de données étant déterminée par la résistance programmée du premier élément à commutation de résistance. BRÈVE DESCRIPTION DES DESSINS Les objets, fonctionnalités, aspects et avantages susmentionnés, et d'autres, de l'invention apparaîtront claire-ment à la lecture de la description détaillée suivante de modes de réalisation, donnés à titre d'illustration et non de limitation, en référence aux dessins joints, dans lesquels : la figure 1 (décrite précédemment) illustre une cellule SRAM volatile ; la figure 2 illustre une cellule mémoire ayant une 25 mémorisation de données non volatile selon un mode de réalisation de la présente invention ; la figure 3 illustre un circuit de programmation pour programmer la portion non volatile de la cellule mémoire de la figure 2 ; 30 les figures 4A et 4B représentent schématiquement des exemples de la programmation d'un dispositif mémoire à commutation de résistance particulier ; la figure 5 est un chronogramme illustrant un exemple des signaux utilisés pour programmer la portion non volatile de 35 la cellule mémoire de la figure 3 ; B10704 - 03914-05 7 la figure 6 illustre un exemple de circuit de commande pour copier des données mémorisées par des éléments de mémorisation de données non volatile dans des éléments de mémorisation de données volatile de la cellule mémoire ; les figures 7A et 7B sont des chronogrammes représentant des exemples de signaux dans le circuit de la figure 6 ; les figures 7C et 7D sont des graphes illustrant la transition entre des états stables de la cellule de la figure 6 selon un exemple ; la figure 8 illustre une cellule mémoire ayant une mémorisation de données non volatile selon un autre mode de réalisation de la présente invention ; la figure 9 illustre une cellule mémoire ayant une mémorisation de données non volatile selon encore un autre mode 15 de réalisation de la présente invention ; la figure 10 illustre une cellule mémoire ayant une mémorisation de données non volatile selon encore un autre mode de réalisation de la présente invention ; les figures 11A à 11D sont des graphes illustrant la 20 transition entre des états stables de la cellule de la figure 10 selon certains modes de réalisation de la présente invention ; la figure 12 illustre une cellule mémoire ayant une mémorisation de données non volatile selon un autre mode de réalisation de la présente invention ; 25 la figure 13 illustre un réseau mémoire selon un mode de réalisation de la présente invention ; la figure 14A illustre un réseau de portes programmable sur site (FPGA) selon un mode de réalisation de la présente invention ; et 30 la figure 14B illustre plus en détail un bloc logique configurable du FPGA de la figure 14A selon un mode de réalisation de la présente invention. Dans les figures, des éléments similaires portent de mêmes références. B10704 - 03914-05 8 DESCRIPTION DÉvnTÉE DE WE.S DE REALISATICN DE LA PRÉSENTE NVE TICN La figure 2 illustre une cellule mémoire 200 qui mémorise, en plus d'un bit de donnée volatile, un bit de donnée non volatile. La donnée volatile est mémorisée sous forme électronique par une bascule. Cependant, la donnée non volatile est mémorisée par l'état physique d'une paire d'éléments à commutation de résistance, comme on va le décrire maintenant. La cellule mémoire 200 est similaire à la cellule SRAM 100 de la figure 1 décrite précédemment, et les parties communes ne vont pas être décrites de nouveau en détail. La différence est que la cellule mémoire 200 comprend en plus des éléments à commutation de résistance 202 et 204, qui sont couplés entre les sources respectives des transistors 102 et 104 et la tension de masse. Les éléments à commutation de résistance 202 et 204 peuvent être tout élément résistif commutable entre deux valeurs de résistance. De tels éléments maintiennent l'état résistif programmé même après le retrait d'une tension d'alimentation. Les éléments 202, 204 sont programmés pour avoir des valeurs opposées, et les valeurs de résistance relatives des éléments indiquent une valeur de donnée binaire. Par exemple, les éléments à commutation de résistance 202, 204, sont basés sur des jonctions tunnel magnétique (MTJ), comme des éléments à commutation magnétique induite par champ (FIMS), des éléments à commutation assistée thermiquement (TAS), des éléments STT (à transfert de spin), ou ceux de mémoires MRAM à bascule. Des FIMS-MRAM (mémoires magnétiques à accès aléatoire) sont par exemple décrites plus en détail dans la publication intitulée "Magnetoresistive random access memory using magnetic tunnel junctions", S. Tehrani, Proceedings of IEEE, 91(5):3707-714, Mai 2003. Des TAS-MRAM sont par exemple décrites plus en détail dans la publication intitulée "Thermally Assisted MRAM", Prejbeanu et al. A titre de variante, les éléments à commutation de 35 résistance 202, 204 pourraient être d'autres types de dispo- B10704 - 03914-05 sitifs mémoire à commutation de résistance, cela comprenant ceux qui sont utilisés dans des cellules à métallisation programmable (PMC), comme des RAM résistives à oxyde (OxRRAM), des RAM à conduction (CBRAM), ou des RAM à changement de phase (PCRAM). Quel que soit le type d'élément à commutation de résistance, l'information est mémorisée en mettant l'un des éléments à une résistance relativement élevée (Rmax), et l'autre à une résistance relativement faible (Rmin). Chacun des éléments à commutation de résistance 202, 204 a par exemple seulement deux états résistifs correspondant aux résistances haute et basse Rmax et Rmin, bien que les valeurs exactes de Rmin et Rmax puissent varier en fonction de conditions telles que la température, des variations de processus, etc. La valeur de donnée non volatile représentée par les éléments résistifs 202, 204 dépend de celui des éléments résistifs qui est à la resistance Rmax ou Rmin, en d'autres termes des résistances relatives. Les éléments résistifs 202, 204 sont par exemple choisis de telle sorte que Rmax soit toujours notablement supérieure à Rmin, par exemple supérieure d'au moins 20 En général, le rapport entre la résistance Rmax et la résistance Rmin est par exemple compris entre 1,7 et 5 pour une MRAM, ou plus généralement entre 1,2 et 10000. Dans un exemple, Rmin est dans la région des 2,5 kilo-ohms, et Rmax est dans la région des 5 kilo-ohms, bien que de nombreuses autres valeurs soient possibles. En fonctionnement, pour lire et écrire des données dans la partie volatile de la cellule mémoire 200, en d'autres termes dans les noeuds de mémorisation 106 et 108, le processus est le même que pour la cellule mémoire 100 de la figure 1, et n'est pas affecté par les valeurs de résistance programmées des éléments à commutation de résistance 202 et 204. En bref, le fait d'écrire un bit de données dans les noeuds 106, 108 implique l'application, pendant que les transistors 110 et 112 sont passants, d'une tension haute ou basse sur la ligne de bit BL en fonction de la donnée à mémoriser, et de la tension B10704 - 03914-05 10 opposée sur la ligne de bit BLB. La lecture des données dans les noeuds 106 et 108 implique la pré-charge des lignes de bit BL et BLB, puis la mise à l'état passant des transistors 110 et 112 et la détermination de la tension des lignes de bit qui chute la première, à l'aide d'un amplificateur de détection (non illustré), qui amplifie la différence de tension entre les lignes de bit. De préférence, de façon à ne pas ralentir les opérations de lecture et d'écriture dans les noeuds de mémorisation volatile et pour empêcher un basculement de bit pendant une opération de lecture, la valeur de Rmax est choisie de façon à ne pas être supérieure à environ 5 kilo-ohms, bien que cette valeur dépende de la technologie particulière utilisée, et en particulier de la résistance à l'état passant des transistors. Indépendamment de ce fonctionnement SRAM normal, les éléments à commutation de résistance peuvent être programmés pour mémoriser une donnée non volatile, et la cellule mémoire peut être commandée pour transférer cette donnée, à partir de la mémorisation physique déterminée par l'état résistif des éléments 202, 204, vers une mémorisation électronique déterminée par les états de tension des noeuds de mémorisation 106, 108. Une fois transférée, cette donnée peut être lue dans la cellule SRAM d'une manière standard. On va maintenant décrire la programmation des éléments à commutation de résistance 202 et 204 selon un exemple, en 25 référence aux figures 3, 4A, 4B et 5. La figure 3 illustre la cellule mémoire 200 accom- pagnée d'un circuit de commande d'écriture 302 agencé pour programmer les éléments à commutation de résistance 202 et 204 sur la base d'un bit de donnée non volatile DNv reçu sur une 30 ligne d'entrée 304. En particulier, sur la base de la donnée non volatile Dî, le circuit 302 génère un courant d'écriture IWRITE, qui est fourni à une piste conductrice 306 qui passe par les éléments à commutation de résistance 202 et 204. Le courant IWRITE passant dans la piste conductrice 306 génère un champ B10704 - 03914-05 11 magnétique, qui passe dans les éléments à commutation de résistance, et programme leur état résistif. Dans le cas d'une MRAM à commutation assistée thermiquement, avant de fournir le courant d'écriture pour programmer chacun des éléments à commutation de résistance 202, 204, les éléments à commutation de résistance sont chauffés en faisant passer un courant dans ceux-ci, ce qui aide à la transition d'un état résistif vers un autre. Selon un exemple illustré en figure 3, un circuit de chauffe est prévu, et comprend des transistors PMOS 308 et 310 couplés entre la tension d'alimentation VDD et les éléments à commutation de résistance 202, 204, respectivement. Les transistors 308 et 310 sont activés par un signal de commande "HEAT" au niveau de leurs bornes de grille pour conduire des courants qui passent dans chaque élément à commutation de résistance 202, 204. A la place ou en plus, un circuit de commande de chauffe 312 est par exemple prévu, celui-ci appliquant à chacune des lignes BL et BLB une tension qui est par exemple égale ou supérieure à la tension d'alimentation VDD. Ensuite, en activant les transistors 110 et 112 par une tension à l'état logique haut sur la ligne de mots WL, un courant va circuler à partir des lignes de bit BL et BLB à travers les éléments à commutation de résistance 202, 204 vers la tension de masse. Les figures 4A et 4B représentent plus en détail les éléments à commutation de résistance 202 et 204, dans l'exemple où ce sont des éléments TAS. Chacun des éléments à commutation de résistance 202, 204 comprend une plaque ferromagnétique fixe 402 et une plaque ferromagnétique libre 404, les plaques 402 et 404 prenant en sandwich une couche d'oxyde tunnel 406. La piste conductrice 306 passe près de la plaque libre 404 en matériau ferromagnétique, de sorte qu'elle est affectée par le champ magnétique généré par le courant IWR TE passant dans la piste 306. La plaque fixe 402 a par exemple une orientation magnétique dans une première direction, tandis que l'orientation magnétique B10704 - 03914-05 12 de la plaque 404 peut être programmée, par la polarité du courant IWRITE, pour être dans la même direction ou dans la direction opposée par rapport à la plaque 402. Cependant, une programmation n'a lieu que dans des éléments qui ont déjà été chauffés, comme cela est décrit plus en détail dans la suite. La figure 4A illustre le cas où les orientations magnétiques ont des directions opposées dans les plaques 402, 404, ce qui entraîne une résistance maximum Rmax pour l'élément à commutation de résistance 202, par exemple dans la plage de 2 kilo-ohms à 5 kilo-ohms. La figure 4B illustre le cas où les orientations magnétiques ont la même direction dans les plaques 402 et 404, ce qui entraîne une résistance minimum Rmin de l'élément à commutation de résistance 204, par exemple dans la plage de 100 ohms à 3 kilo-ohms. La piste conductrice 306 est agencée de telle sorte que le courant IWRITE passe par chaque élément à commutation de résistance 202, 204 dans des directions opposées, dont l'une correspond à l'orientation magnétique de la plaque fixe 402, et l'autre correspond à l'orientation opposée. Ainsi, on peut utiliser un même courant IWRITE pour programmer les deux états résistifs des éléments à commutation de résistance 202 et 204 en même temps, l'un étant Rmax, et l'autre Rmin- La figure 5 est un chronogramme illustrant un exemple du signal HEAT dans le cas où les transistors 308, 310 sont présents, et du signal IWRITE pendant la programmation des éléments à commutation de résistance 202, 204. Dans le cas où le circuit 312 est présent en plus ou à la place, le signal WL est par exemple l'inverse du signal de chauffe HEAT. Le signal HEAT passe à l'état bas sur un front descendant 502, activant ainsi les transistors 308 et 310. Cela génère un courant IHEAT dans les éléments à commutation de résistance 202 et 204, et après une certaine période, le signal IWRITE est activé, comme cela est représenté par le front montant 504 de ce signal. Dans l'exemple de la figure 5, sur le B10704 - 03914-05 13 front montant 504, le courant devient positif, ce qui, par exemple, programme l'élément 202 pour être à une valeur de résistance haute Rmax, et l'élément 204 pour être à une valeur de résistance basse Rmin- Ensuite, le signal HEAT est de nouveau amené à l'état haut par un front montant 506, de sorte que le courant de chauffe IHEAT est arrêté, et les éléments à commutation de résistance 202, 204 refroidissent dans leur état résistif courant. Ensuite le signal IWRITE est amené à l'état bas par un front descendant 508, pour terminer le processus de programmation. Les transitions suivantes des signaux de la figure 5 correspondent à la programmation d'états résistifs opposés des éléments résistifs 202, 204. Ces transitions sont identiques à celles décrites précédemment, excepté que le signal IWRITE devient négatif par le front descendant 510, au lieu de positif, pour programmer les états résistifs opposés. Dans un exemple, le temps pendant lequel le signal HEAT est actif entre les fronts 502 et 506 est d'environ 20 ns. Ainsi, une opération d'écriture peut être effectuée en un peu moins de 35 ns. Cependant, les temps de chauffe et de refroidissement vont varier en fonction de facteurs tels que les matériaux utilisés, leur volume, etc., et aussi des courants de chauffe qui sont appliqués, et ainsi les valeurs susmentionnées ne sont données qu'à titre d'exemple approximatif. Le courant IWRITE est par exemple dans la région des 10 mA pour programmer une valeur du bit de données, ou dans la région des -10 mA pour programmer la valeur opposée du bit de données, bien qu'on puisse utiliser d'autres valeurs. La figure 6 illustre la cellule mémoire 200 avec un circuit de commande de transfert 602, pour contrôler le transfert de données mémorisées dans la partie non volatile de la cellule mémoire vers la partie de mémorisation de données volatile. En particulier, le circuit 602 comprend des lignes de sortie 604 et 606, couplées aux lignes de bits BL et BLB B10704 - 03914-05 14 respectivement, et une ligne de sortie 608 couplée à la ligne de mot WL. Les signaux sur la ligne de mot WL et les lignes de bit BL et BLB pendant une phase de transfert de mémorisation non volatile vers volatile, vont être décrits en référence aux figures 7A et 7B. En général, la phase de transfert comprend l'application, par le circuit de commande 602, d'une tension d'alimentation à chacun des noeuds de mémorisation 106, 108, par l'intermédiaire des lignes de bits BL et BLB et des transistors NMOS 110, 112. En particulier, la tension d'alimentation VDD est appliquée aux lignes de bit BL et BLB, pendant que le signal de la ligne de mot WL est à l'état haut, activant ainsi les transistors 110 et 112. Cela a pour effet de mettre les transistors 103, 105 dans l'état passant, et d'activer les de générer un courant dans de résistance 202, 204. Un de chaque côté de la cellule mémoire, et les tensions sur les noeuds 106, 108 vont dépendre des résistances relatives des éléments 202, 204. Les figures 7A et 7B représentent des chronogrammes illustrant les tensions sur les lignes de bit BL et BLB, ainsi que sur la ligne de mot WL, et les tensions correspondantes Q et Q sur les noeuds 106 et 108. Initialement, le circuit 602 applique une tension haute sur chacune des lignes de bit BL, BLB, par exemple égale à la tension d'alimentation VDD. Les lignes de bit BL et BLB sont susceptibles d'être proches de la tension d'alimentation VDD, ou égales à celle-ci, pendant une phase d'attente ou de lecture avant la phase de transfert, mais pendant de telles phases, elles ne sont en général que chargées périodiquement à la tension d'alimentation, et pour cette raison, les tensions de BL et BLB avant et après la phase de transfert ont été indiquées par des lignes en trait interrompu dans les figures 7A et 7B. Au contraire, pendant la phase de transfert, la tension d'alimen- transistors 102 et 104, et ainsi chacun des éléments à commutation diviseur de tension est ainsi formé B10704 - 03914-05 15 tation est appliquée constamment aux lignes de bits BL, BLB, comme cela est indiqué par les lignes en traits pleins dans les figures 7A et 7B, de sorte que des courants peuvent être tirés des lignes de bit. Ensuite, la tension de la ligne de mot WL est amenée à l'état haut, pour activer les transistors 110 et 112. La figure 7A suppose que la cellule SRAM est initialement dans un état dans lequel Q est bas et Q est haut. Ainsi, initialement, le transistor 104 sera non conducteur et le transistor 102 conducteur. Cependant, on suppose aussi que l'élément à commutation de résistance 202 a une résistance Rmax, et ainsi le courant le traversant va être limité. Ce courant amène la tension Q à monter vers VDD, ce qui entraîne l'activation du transistor 104, amenant un deuxième courant à circuler dans la résistance 204, qui a une résistance faible Rmin. Cela va aussi réduire la tension é vers 0 V. Les transistors NMOS 110, 112 sont choisis pour avoir des dimensions égales et ainsi des résistances très similaires à l'état non passant, de sorte que la chute de tension dans chaque transistor 110, 112 va être proportionnelle au niveau de courant les traversant. Ainsi, la plus faible chute de tension dans le transistor 110 va entraîner une tension Q supérieure sur le noeud 106. Par conséquent, en raison de la différence entre les résistances des éléments résistifs 202 et 204, la position d'équilibre va être telle que la tension Q sur le noeud 106 va être plus proche de VDD, et que la tension é sur le noeud 108 va être plus proche de 0 V. Ensuite, la tension de la ligne de mot passe à l'état bas, ce qui isole les noeuds de mémorisation 106, 108 des lignes de bit BL et BLB, et les états de Q et Q vont s'établir à l'état stable le plus proche. En particulier, en raison de la différence de tension, même si elle est faible, entre les tensions Q et Q, les noeuds de mémorisation 106, 108 vont s'établir à un état dans lequel Q est haut et Q est bas, qui correspond à l'état mémorisé par les éléments 202 et 204. B10704 - 03914-05 16 La figure 7B illustre le cas dans lequel Q et Q sont de nouveau initialement égaux à 0 V et VDD respectivement, mais dans lequel l'élément 202 est à Rmin, et l'élément 204 à Rmax-Dans ce cas, le transistor 102 va encore initialement être conducteur, et le transistor 104 non conducteur, mais de nouveau la tension sur le noeud 106 va monter en raison du courant passant dans l'élément à commutation de résistance 202. Cependant, lorsque le courant dans l'élément 204 commence à monter, ce va être un courant faible en raison de la résistance élevée de l'élément 204, et ainsi la tension Q va rester relativement haute, et la tension Q relativement basse. Ensuite, lorsque la tension de la ligne de mot WL est de nouveau amenée à l'état bas, ce qui isole les noeuds de mémorisation 106, 108 des lignes de bits respectives, les états des noeuds de mémorisation 106, 108 vont revenir s'établir à leurs états d'origine, dans lesquels Q est bas et Q est haut. Dans les deux figures 7A et 7B, la durée pendant laquelle la tension d'alimentation est appliquée aux lignes de bits BL et BLB est, par exemple, dans la région de 1 ns, et ainsi un tel transfert de données de la mémorisation non volatile vers la mémorisation volatile peut être réalisé en environ seulement 1 ns, un temps comparable aux temps de lecture et d'écriture de la partie SRAM de la cellule mémoire 200. Les figures 7C et 7D sont des graphes illustrant les transitions entre des états différents de Q et Q. La figure 7C illustre le cas d'une transition vers un état Q haut, Q bas. Si on part de l'état Q bas, Q haut noté 702, lorsque Q commence à monter, on va suivre la courbe 704, sur laquelle Q descend initialement lentement jusqu'à atteindre un coude 706 et le transistor 104 commence à devenir conducteur. Ensuite, descend plus rapidement que Q monte et on passe un point de métastabilité 707, pour lequel les points Q et Q sont égaux. Q va ensuite atteindre une tension Vmax en un point 708, ce qui entraîne une chute de tension relativement grande dans la résistance Rmax et le transistor 102. A partir de ce point 708, B10704 - 03914-05 17 l'état stable le plus proche est l'état Q haut, Q bas. Ainsi, lorsque le signal WL est amené à l'état bas, l'état Q haut, é bas, noté 710, va être atteint, ê descendant rapidement vers l'état logique 0, peu de temps avant que Q atteigne l'état logique 1. A titre de variante, si on part de l'état Q haut, Q bas 710, on va suivre une courbe 712 de la figure 7C, dans laquelle Q va initialement descendre très lentement tandis que Q monte, jusqu'à atteindre un coude 714 lorsque le transistor 102 commence à devenir conducteur. Q descend ensuite plus rapidement vers un point 716 lorsque Q est à Vmin, ce qui résulte de la chute de tension relativement faible dans la résistance Rmin et le transistor 104. Dans cet exemple, le point de métastabilité 707 n'a pas été passé, et à partir de ce point 716, l'état stable le plus proche revient à l'état Q haut, Q bas. Ainsi, lorsque le signal WL est amené à l'état bas, Q va rapidement revenir à l'état logique 1, avant que Q ne chute de nouveau vers l'état logique O. En figure 7D, on a représenté les mêmes courbes qu'en figure 7C, mais pour les transitions vers un état Q bas, Q haut, correspondant à un état magnétique opposé des éléments 202, 204 par rapport à l'exemple de la figure 7C. Ainsi, le point Vmax 720 et le point Vmin 722 sont tous deux les plus proches de l'état Q bas, Q haut. Comme cela est montré par les courbes des figures 7C et 7D, quels que soient les états initiaux des tensions Q et Q, les nouveaux états de ces tensions vont être déterminés par les valeurs de résistances programmées des éléments 202 et 204. En particulier, les éléments 202 et 204 se retrouvent dans un état intermédiaire 708, 716, 720 ou 722, dans lequel les valeurs de Q et Q sont les plus proches de l'état stable correspondant aux états programmés des éléments 202, 204. Dans des variantes de réalisation de la figure 2, l'élément 202 ou 204 pourrait être remplacé par une résistance B10704 - 03914-05 18 ayant une résistance fixe comprise entre Rmin et Rmax, par exemple égale à Rmin+(Rmax-Rmin)/2. La figure 8 illustre une cellule mémoire 800, qui est la même que la cellule mémoire 200 de la figure 2, excepté que les éléments à commutation de résistance, notés 202' et 204' en figure 8, sont couplés respectivement entre les transistors 103, 105 et la tension d'alimentation VDD, et ainsi les transistors 102, 104 sont couplés directement à la masse. Le circuit 800 fonctionne de façon similaire au circuit 200. Cependant, le circuit 312 de la figure 3 va appliquer une tension basse sur les lignes de bit pour chauffer les éléments à commutation de résistance 202', 204'. En outre, dans le circuit 800, les transistors de chauffe 308, 310 de la figure 3 pourraient être mis en oeuvre par des transistors NMOS couplés entre les éléments 202', 204' et la tension de masse. En outre, une tension d'alimentation basse, par exemple 0 V, va être appliquée par le circuit 602 de la figure 6 aux lignes de bit BL et BLB pendant la phase de transfert des éléments de mémorisation non volatile 202', 204' vers les noeuds de mémorisation volatile 106, 108. Cela va avoir pour effet d'activer les transistors 103 et 105, et de désactiver les transistors 102 et 104, de sorte que les courants passants dans les éléments 202', 204' vont dépendre des résistances programmées de ces éléments, établissant par cela les états de tension des noeuds 106 et 108. La figure 9 illustre une cellule mémoire 900, qui est la même que la cellule mémoire 800 de la figure 8, excepté qu'elle comprend en plus une paire d'éléments à commutation de résistance 202, 204 couplés entre les transistors 102, 104, respectivement et la masse. Chaque paire d'éléments 202, 204 et 202', 204' est programmée pour mémoriser un bit indépendant de donnée non volatile, et l'un ou l'autre de ces bits peut être transféré vers le noeud de mémorisation 106, 108, comme on va le décrire plus en détail ci-après. B10704 - 03914-05 19 Pour programmer les éléments 202, 204, ils sont par exemple chauffés par le circuit de chauffe 308, 310 et/ou le circuit de commande de chauffe 312 de la figure 3, avant d'être programmés par le circuit de commande d'écriture 302. Pour programmer les éléments 202', 204', ils sont par exemple chauffés par des transistors similaires aux transistors 308 et 310 de la figure 3, mais couplés à la masse, et/ou en appliquant une tension basse sur les lignes de bits BL et BLB par le circuit de commande de chauffe 312. Un circuit de commande de transfert 902 contrôle le transfert de données non volatiles vers les noeuds de mémorisation 106, 108. Le circuit 902 a des lignes de sortie 904 et 906 couplées aux lignes de bit BL et BLB respectivement, et une ligne de sortie 908 couplée à la ligne de mot WL. Il reçoit sur une ligne d'entrée 910 un signal de sélection Sj1,2, qui indique si le bit mémorisé par les éléments 202, 204 ou par les éléments 202', 204' doit être transféré. Sur la base de cette sélection, le circuit 902 applique aux lignes de bit BL et BLB soit un niveau de tension haut, par exemple égal à VDD, pour transférer le bit de donnée mémorisé par les éléments 202, 204, soit un niveau de tension bas, par exemple à la masse, pour transférer le bit de donnée mémorisé par les éléments 202', 204'. Ensuite, le circuit 902 active le signal de ligne de mot WL pour activer les transistors 110 et 112, et en fonction du niveau de tension sur les lignes de bits BL et BLB, les états de tension sur les noeuds 106 et 108 vont dépendre des résistances programmées des éléments 202, 204 ou des éléments 202', 204'. La figure 10 illustre une cellule mémoire 1000 selon un autre mode de réalisation, qui est identique à la cellule mémoire 200 de la figure 2, mais dans laquelle les éléments à commutation de résistance 202, 204 sont programmés de façon indépendante pour avoir l'un des deux états de résistance Rmin et Rmax. Ainsi, chaque élément 202, 204 peut mémoriser indépendamment un bit de donnée non volatile. En outre, plutôt que d'avoir une seule ligne de mot WL, on a prévu deux lignes de mot B10704 - 03914-05 20 WL1 et WL2, WL1 étant couplée à la grille du transistor 110, et WL2 à la grille du transistor 112. Ces deux lignes de mot permettent la sélection du bit de donnée non volatile mémorisé par l'élément 202 ou par l'élément 204 pour qu'il soit transféré vers les noeuds de mémorisation volatile 106, 108, comme cela est décrit ci-après. Pour programmer la résistance de chacun des éléments 202, 204, ils sont par exemple chauffés comme cela a été décrit précédemment en référence à la figure 3, et un bloc de commande d'écriture, comme le bloc 302 de la figure 3, est par exemple prévu pour chaque élément, ce qui permet d'appliquer des courants d'écriture indépendants pour programmer chaque élément. Un circuit de commande de transfert 1002 est couplé par l'intermédiaire de lignes 1004 et 1006 aux lignes de bit BL et BLB respectivement, et par l'intermédiaire de lignes 1008 et 1010, aux lignes de mot WL1 et WL2 respectivement. Un signal de sélection SNV1,2, sur une ligne d'entrée 1012 du circuit 1002 indique si le bit de données non volatile mémorisé par l'élément 202 ou par l'élément 204 doit être transféré vers les noeuds de mémorisation volatile 106, 108. On va maintenant décrire un tel transfert en faisant référence aux figures 11A à 11D. Les figures 11A et 11B sont des graphes illustrant l'état du noeud de mémorisation 108 pendant une phase de transfert. Initialement, le noeud de mémorisation connecté à l'élément 202 ou 204 qui doit être lu, comme cela est indiqué par le signal de sélection 5r1, 2, est mis à une valeur basse. Dans l'exemple des figures 11A et 11B, l'élément 204 doit être lu, et ainsi un niveau logique bas est appliqué au noeud de mémorisation 108, et un niveau logique haut au noeud de mémorisation 106. Par exemple, cela est obtenu en réalisant une opération d'écriture, qui programme un état logique 1 sur le noeud 106 et un état logique 0 sur le noeud 108. Ainsi, dans les deux figures 11A et 11B, l'état initial 1102 correspond à l'état Q bas, Q haut. B10704 - 03914-05 21 Le circuit de commande de transfert 1002 applique ensuite une tension haute sur la ligne de mot WL2 pour activer le transistor 112, tout en maintenant une tension basse sur la ligne de mot WL1. Le niveau de tension d'alimentation est aussi appliqué par le circuit 1002 à la ligne de bit BLB. Cela entraîne une circulation de courant de la ligne de bit BLB, à travers les transistors 112, 104 et l'élément à commutation de résistance 204, vers la masse. Ainsi, les transistors 112, 104 et l'élément 204 forment un diviseur de potentiel, et la tension sur le noeud 108 va dépendre de la résistance programmée de l'élément 204. Dans le cas de la figure 11A, la résistance de l'élément 204 est Rmin, et ainsi la tension sur le noeud 108 descend en suivant une courbe 1104 et passe un point de méta- stabilité 1106, avant d'atteindre un point 1108 pour lequel é est à un niveau Vmin résultant de la résistance Rmin. Ainsi, lorsque le circuit 1002 amène la tension sur la ligne de mot WL2 de nouveau à l'état bas pour rendre le transistor 112 non passant, les noeuds de mémorisation 106 et 108 vont vers l'état stable le plus proche, qui est l'état Q bas, Q haut. Dans le cas de la figure 11B, la résistance de l'élément 204 est à Rmax, et ainsi la tension sur le noeud 108 descend en suivant une courbe 1104 mais ne passe pas le point de métastabilité 1106. Au lieu de cela, elle s'arrête en un point 1110, pour lequel est à un niveau Vmax résultant de la résistance Rmax. Ensuite, lorsque le circuit 1002 amène la tension sur la ligne de mot WL2 de nouveau à l'état bas pour rendre le transistor 112 non passant, les noeuds de mémorisation 106 et 108 vont à l'état stable le plus proche, qui est l'état Q haut, Q bas. Les figures 11C et 11D illustrent toutes deux la courbe 1104 décrite précédemment, correspondant à une lecture du bit de donnée non volatile mémorisé par l'élément 204, et aussi une courbe 1112 correspondant à la lecture du bit de donnée non volatile mémorisé par l'élément 202. Pour la courbe 1112, l'état B10704 - 03914-05 22 de départ est l'état Q haut, Q bas, référencé 1114. Si l'élément 202 est à Rmax, la tension sur le noeud 106 va descendre en suivant la courbe 1112 vers un point 1116, pour lequel Q est à une tension Vmax, sans passer le point de métastabilité 1106. A partir du point 1116, l'état stable le plus proche est l'état Q haut, Q bas. A titre de variante, si l'élément 202 est à Rmin, la tension sur le noeud 106 va descendre en suivant la courbe 1112 au-delà du point de métastabilité 1106 jusqu'à un point 1118, et donc l'état stable le plus proche est l'état Q bas, Q haut. Les valeurs des résistances Rmin et Rmax des éléments 202 et 204 sont par exemple choisies de telle sorte que, lorsque la tension d'alimentation est appliquée à la ligne de bit correspondante BL, BLB, les tensions correspondantes Vmin et Vmax vérifient la relation Vmin 23 de réalisation 1000 de la figure 10, mais qui comprend en plus une paire d'éléments à commutation de résistance 202', 204' couplés entre les transistors 103 et 105 respectivement et la tension d'alimentation VDD. Les éléments 202 et 204 sont programmés indépendamment pour mémoriser deux bits de données non volatiles, tandis que les éléments 202' et 204' sont programmés pour avoir des résistances différentes Rmin' Rmax, et mémoriser ainsi ensemble un bit de donnée non volatile. Ainsi, la cellule mémoire 1200 peut mémoriser un bit de donnée volatile sur les noeuds 106 et 108, et trois bits de données non volatiles. Le fonctionnement de la cellule mémoire 1200 est identique à celui de la cellule mémoire 1000 de la figure 10, excepté que le circuit de commande de transfert 1002 est remplacé par un circuit 1202, qui est en plus agencé pour transférer les données mémorisées par les éléments 202' et 204' vers les noeuds de mémorisation 106, 108 en appliquant des tensions basses sur les lignes de bit BL et BLB, puis en activant les transistors 110 et 112. Le circuit 1202 reçoit une entrée de sélection SNV1,2,3 sur une ligne 1212 indiquant quel bit de donnée non volatile doit être transféré vers les noeuds 106, 108. En outre, le mode de réalisation de la figure 12 pourrait être étendu pour mémoriser quatre bits de données non volatiles, en programmant indépendamment les éléments à commutation de résistance 202, 204. Dans ce cas, le circuit 1202 est en plus agencé pour transférer les données mémorisées par l'un ou l'autre des éléments 202 ou 204 vers les noeuds de mémorisation 106, 108 en utilisant la même technique que celle décrite en relation avec la figure 10, excepté qu'une tension basse va être couplée à la ligne de bit correspondante, pendant que le transistor correspondant 110, 112 est activé. Le circuit 1202 va aussi recevoir une entrée de sélection SNV1,2,3,4 sur une ligne 1212 indiquant lequel des quatre bits de données non volatiles doit être transféré vers les noeuds 106, 108. Dans un B10704 - 03914-05 24 tel mode de réalisation, afin de compenser les résistances différentes à l'état conducteur des divers transistors 102 à 105, la résistance minimum Rmin des éléments 202', 204' est par exemple choisie pour être inférieure à la résistance minimum Rmin des éléments 202, 204, et la résistance maximum Rmax des éléments 202', 204' est par exemple choisie pour être inférieure à la résistance maximum Rmax des éléments 202, 204. Par exemple, pour les éléments 202, 204, Rmin pourrait être égale à 2,5 kilo-ohms et Rmax pourrait être égale à 5 kilo-ohms, tandis que pour les éléments 202' et 204', Rmin pourrait être égale à 1,5 kilo-ohms et Rmax pourrait être égale à 3 kilo-ohms. Par exemple, dans le cas où les éléments 202, 204, 202' et 204' sont mis en oeuvre par des jonctions tunnel magnétique, cela pourrait être obtenu en choisissant un diamètre de 120 nm pour les éléments 202 et 204 et un diamètre de 140 nm pour les éléments 202' et 204'. La figure 13 illustre un réseau mémoire 1300 des cellules mémoire 200, bien que la cellule mémoire 200 puisse être remplacée par l'une quelconque des cellules mémoire 800, 900, 1000 ou 1200 décrite précédemment. Les cellules mémoire 200 sont agencées en colonnes et en rangées, chaque cellule étant couplée à des lignes de bit BL et BLB communes à chacune des colonnes. Les lignes de bit sont couplées à un circuit de commande 1302, qui reçoit par exemple des données d'entrée volatiles DVIN, et fournit des données de sortie volatiles DVOUT, qui pourraient être les données volatiles introduites de l'extérieur, ou des données volatiles qui sont générées par un transfert des données non volatiles mémorisées par les éléments à commutation de résistance. Le circuit 1302 commande aussi par exemple les tensions sur les lignes de bit BL et BLB pendant la phase de transfert, et si cela est approprié, pendant l'écriture des données non volatiles. Chacune des cellules mémoire 200 est aussi couplée à une ligne de mot correspondante WL commune à chaque rangée de cellules, bien que de toute évidence, si les cellules mémoire B10704 - 03914-05 25 sont celles des figures 10 ou 12, deux de telles lignes de mots seront fournies à chaque rangée. Une piste conductrice 306 forme une boucle passant par chaque cellule et conduisant le courant IWRITE pour écrire dans les éléments à commutation de résistance de chacune des cellules mémoire. Dans des modes de réalisation dans lesquels la cellule mémorise plus d'un seul bit de données non volatiles, on pourrait prévoir par exemple plusieurs pistes conductrices 306, une pour chaque élément ou paire d'éléments programmable indépendamment. Chacune des lignes WL et 306 est commandée par un circuit de commande 904, qui reçoit en entrée un ou plusieurs bits de données non volatiles DNvin, et fournit le courant IWRITE de la polarité correspondante sur une ou plusieurs pistes. L'écriture de la donnée non volatile est par exemple réalisée rangée par rangée, en deux phases. Pendant une première phase, seuls les éléments à commutation de résistance des cellules pour lesquelles une première valeur logique, telle que la valeur logique "0", doit être programmée, sont chauffés. Ensuite, lorsque le courant d'écriture correspondant est appliqué auxdites une ou plusieurs pistes conductrices 306, les états résistifs des seuls éléments qui ont été chauffés vont être programmés. Pendant la seconde phase, les éléments à commutation de résistance des autres cellules, pour lesquelles la deuxième valeur logique, par exemple une valeur logique "1", doit être programmée, sont chauffés. Ainsi, lorsque le courant d'écriture correspondant est appliqué auxdites une ou plusieurs pistes conductrices 306, ici encore seuls les états résistifs des éléments qui ont été chauffés vont être programmés. Comme cela est indiqué par des lignes en trait interrompu en figure 13, le réseau mémoire 1300 peut comprendre un nombre quelconque de rangées de cellules et un nombre quelconque de colonnes de cellules, en fonction de la capacité de mémorisation souhaitée. B10704 - 03914-05 26 L'exemple de la figure 13, dans lequel on utilise une piste commune 306 pour chaque rangée de cellules mémoire, présente l'avantage d'être efficace en termes de consommation d'énergie. En effet, on peut utiliser un seul courant sur chaque piste 306 pour programmer plusieurs cellules mémoire de la rangée. A titre de variante, on pourrait utiliser une piste commune 306 pour chaque colonne, ce qui présente l'avantage qu'une rangée de cellules mémoire peut être entièrement program- mée en un seul cycle de programmation. En outre, étant donné qu'un générateur de courant fournit le courant sur chaque piste 306, le nombre de générateurs de courant pourrait alors être réduit au nombre de colonnes plutôt qu'au nombre de rangées de la mémoire. La figure 14A illustre un FPGA (réseau de portes programmable sur site) 1400 dans lequel les cellules mémoire 200, 800, 900, 1000 ou 1200 décrites ici peuvent être mises en oeuvre. Le FPGA comprend un réseau de blocs logiques configurables (CLB) 1402 interconnectés sélectivement par des colonnes de lignes 1404, qui à leur tour sont sélectivement interconnectées avec des rangées de lignes 1406. En particulier, des blocs de commutation 1408 sont prévus à chaque intersection entre les lignes de colonnes 1404 et les lignes de rangées 1406, permettant de programmer les connexions entre chacune des lignes de colonnes 1404 et chacune des lignes de rangées 1406. Les blocs de commutation 1408 comprennent par exemple une ou plusieurs des cellules mémoire 200, 800, 900, 1000 ou 1200, permettant de programmer les connexions entre les lignes de façon non volatile. En outre, dans le cas où les cellules mémoire 900, 1000 ou 1200 sont utilisées pour programmer les connexions, on peut sélectionner l'une d'une pluralité de configurations de connexion en sélectionnant les bits de données non volatiles qui sont transférés vers les noeuds de mémorisation 106, 108 de chaque cellule. B10704 - 03914-05 27 La figure 14B illustre plus en détail l'un des CLB 1402, selon un exemple dans lequel il comprend une table de correspondance formé d'un multiplexeur 1410 comportant 8 entrées de données, chacune d'elle étant couplée à une cellule mémoire 200, bien que dans des variantes de réalisation, la cellule mémoire 200 puisse être remplacée par la cellule mémoire 800, 900, 1000 ou 1200 décrite précédemment, et il pourrait y avoir un nombre quelconque de ces cellules et d'entrées vers le multiplexeur. La cellule 200 fournit une valeur de données provenant de sa mémorisation volatile, c'est-à-dire de l'un des noeuds de mémorisation 106, 108. Dans cette mise en oeuvre, les cellules mémoire ne sont pas couplées à des lignes de bit d'un réseau mémoire, mais à des lignes d'accès, qui pourraient être des lignes de bit, ou des lignes couplées à seulement une cellule mémoire. L'une de ces lignes d'accès fournit par exemple la valeur de données de sortie de la cellule. Le multiplexeur 1410 comprend aussi une entrée de commande à 3 bits 1412, commandant la sélection de l'une des 8 lignes d'entrée, et une ligne de sortie 1414, fournissant la donnée de la ligne d'entrée sélectionnée. Un avantage des modes de réalisation de la cellule mémoire décrite ici est qu'elle capable de mémoriser non seulement un bit de donnée volatile, mais en plus un bit de donnée non volatile. En outre, la donnée non volatile programmée peut être chargée rapidement dans la partie volatile de la cellule mémoire de manière simple, par l'application d'une tension aux lignes d'accès de la cellule mémoire. Cela signifie avantageusement qu'un état programmé de façon non volatile peut être chargé rapidement (en moins de 1 ns), par exemple à l'activation de la mémoire au moment d'une mise sous tension ou après une période de veille. Dans le cas d'un FPGA, cela permet d'initialiser rapidement une conception de circuit, sans avoir besoin de charger des données externes dans le dispositif pour programmer des bascules mémoire et des commutateurs. B10704 - 03914-05 28 En outre, avantageusement, la cellule est capable d'opérations d'écriture et de lecture rapides (environ 1 ns) pour les parties de mémorisation volatile, qui peuvent survenir de façon normale sans tenir compte des états programmés des éléments résistifs non volatils. En outre, le temps d'écriture pour la partie non volatile est aussi relativement rapide (environ 35 ns dans le cas d'une MRAM). Un autre avantage des cellules mémoire décrites ici est que les données non volatiles peuvent être lues sans avoir besoin de transistors supplémentaires dans chaque cellule mémoire. En outre, les éléments à commutation de résistance 202, 204 des figures 2, 8, 9, 10 et 12 sont par exemple formés dans une couche métallique au-dessus d'une couche de silicium dans laquelle les transistors 102, 103, 104 et 105 sont formés. Le positionnement de ces éléments à commutation de résistance 202, 204 connectés directement à la tension de masse ou à la tension d'alimentation VDD est ainsi avantageux puisqu'on peut utiliser un seul via allant de la couche de silicium vers une borne de chaque élément à commutation de résistance, et que l'autre borne de chaque élément peut être connectée directement au rail d'alimentation correspondant plutôt que de revenir sur un autre via vers la couche de silicium. Un avantage des modes de réalisation des figures 9, 10 et 12, est qu'on peut mémoriser plusieurs bits de données non volatiles dans une seule cellule mémoire, et y accéder sélectivement en transférant le bit sélectionné vers la mémorisation volatile. Avec la description ainsi faite d'au moins un mode de réalisation illustratif de l'invention, diverses variantes, modifications et améliorations apparaîtront à l'homme de l'art. Par exemple, il sera clair pour l'homme de l'art que bien que l'invention ait été décrite en relation avec un réseau mémoire et un FPGA, la cellule mémoire décrite ici pourrait être B10704 - 03914-05 29 utilisée dans d'autres types de dispositifs mémoire, comme des registres ou des bascules. Il sera clair pour l'homme de l'art que la tension de masse décrite ici peut être à OV, ou plus généralement à toute tension d'alimentation VSS, qui pourrait être différente de 0 V. En outre, il sera clair pour l'homme de l'art que les divers transistors décrits ici pourraient être mis en oeuvre par des dispositifs NMOS ou PMOS. Par exemple, plutôt que d'être mis en oeuvre par des transistors NMOS, les transistors 110, 112 pourraient être mis en oeuvre par des transistors PMOS. Aussi, bien que les divers modes de réalisation aient été décrits en relation avec des transistors MOS, il sera clair pour l'homme de l'art que l'invention pourrait être également appliquée à d'autres technologies de transistors, comme des transistors bipolaires. En outre, les fonctionnalités décrites en relation avec les divers modes de réalisation pourraient être combinées de façon quelconque dans des variantes de réalisation. REVENDICATIONS1. Dispositif mémoire comprenant : - au moins une cellule mémoire comprenant : des première et deuxième paires de transistors, chaque paire couplée en série entre des première et deuxième tensions d'alimentation (VDD, GND), un premier noeud de mémorisation entre les transistors de la première paire de transistors étant couplé de façon à commander des bornes de la deuxième paire de transistors, et un deuxième noeud de mémorisation entre les transistors de la deuxième paire de transistors étant couplé pour commander des bornes de la première paire de transistors ; et un premier élément à commutation de résistance (202) couplé entre la première tension d'alimentation (VDD, GND) et un premier transistor de la première paire de transistors et programmé pour avoir l'une d'une première et d'une deuxième résistance ; et - un circuit de commande (602, 902, 1002, 1202) adapté à mémoriser une valeur de données (Dï) au niveau des premiers et deuxièmes noeuds de mémorisation en couplant le premier noeud de mémorisation à la deuxième tension d'alimentation (VDD, GND), la valeur de donnée étant déterminée par la résistance programmée du premier élément à commutation de résistance. 2. Dispositif mémoire selon la revendication 1, comprenant en outre un cinquième transistor (110) couplé entre le premier noeud de mémorisation et une première ligne d'accès (BL), et un sixième transistor (112) couplé entre le deuxième noeud de mémorisation et une deuxième ligne d'accès (BLB), ledit circuit de commande étant agencé pour coupler le premier noeud de mémorisation à la deuxième tension d'alimentation en activant le premier transistor. 3. Dispositif mémoire selon la revendication 1 ou 2, dans lequel au moins une cellule mémoire comprend en outre un deuxième élément à commutation de résistance (204) couplé entre la première tension d'alimentation (VDD, GND) et un premierB10704 - 03914-05 31 transistor d'une deuxième paire de transistors et programmé pour avoir l'une d'une première et d'une deuxième résistance, la valeur de donnée étant déterminée par les résistances relatives des première et deuxième résistances. 4. Dispositif mémoire selon la revendication 2, dans lequel ladite au moins une cellule mémoire comprend en outre un deuxième élément à commutation de résistance (204) couplé entre la première tension d'alimentation (VDD, GND) et un premier transistor de la deuxième paire de transistors et programmé pour avoir l'une d'une première et d'une deuxième résistance, le cinquième transistor étant commandé par une première ligne de commande (WL1) et le sixième transistor étant commandé par une deuxième ligne de commande (WL2) indépendante de la première ligne de commande. 5. Dispositif mémoire selon la revendication 4, dans lequel le circuit de commande est adapté pour coupler, avant de mémoriser la valeur de données au niveau des premier et deuxième noeuds de mémorisation, le premier noeud de mémorisation à la première tension d'alimentation, et dans lequel le circuit de commande est adapté pour mémoriser une autre valeur de données au niveau des premier et deuxième noeuds de mémorisation en couplant le deuxième noeud de mémorisation à la première tension d'alimentation, puis en couplant le deuxième noeud de mémorisation à la première tension d'alimentation. 6. Dispositif mémoire selon l'une quelconque des revendications 1 à 5, dans lequel ladite au moins une cellule mémoire comprend en outre un autre élément à commutation de résistance (202, 204) couplé entre la deuxième tension d'alimentation et un deuxième transistor de la première paire de transistors et programmé pour avoir l'une d'une première et d'une deuxième résistance. 7. Dispositif mémoire selon la revendication 6, dans lequel le circuit de commande est en outre adapté pour mémoriser une autre valeur de donnée (DNV2) au niveau des premier et deuxième noeuds de mémorisation en couplant le premier noeud deB10704 - 03914-05 32 mémorisation à la première tension d'alimentation, la valeur de donnée étant déterminée par la résistance programmée de l'autre élément à commutation de résistance. 8. Dispositif mémoire selon la revendication 7, dans lequel le circuit de commande est adapté à sélectionner entre mémoriser ladite valeur de données et mémoriser l'autre valeur de données au niveau des premier et deuxième noeuds de mémorisation en appliquant la première ou la deuxième tension d'alimentation au premier noeud de mémorisation. 9. Dispositif mémoire selon l'une quelconque des revendications 1 à 8, dans lequel : - ladite au moins une cellule mémoire comprend en outre : un troisième élément à commutation de résistance (202, 204) couplé entre la deuxième tension d'alimentation et un deuxième transistor de la première paire de transistors et programmé pour avoir l'une d'une première et d'une deuxième résistance ; et un quatrième élément à commutation de résistance (202, 204) couplé entre la deuxième tension d'alimentation et un deuxième transistor de la deuxième paire de transistors et programmé pour avoir l'une des première et deuxième résistances ; et - le circuit de commande est en outre adapté à mémoriser une autre valeur de données (DNV2) au niveau des premier et deuxième noeuds de mémorisation en couplant le premier noeud de mémorisation à la première tension d'alimentation, la valeur de données étant déterminée par les résistances relatives des troisième et quatrième éléments à commutation de résistance. 10. Dispositif mémoire selon l'une quelconque des revendications 1 à 9, comprenant en outre un circuit de programmation (302) adapté à programmer les résistances du premier élément à commutation de résistance sur la base de données d'entrée (Dy).B10704 - 03914-05 33 11. Dispositif mémoire selon l'une quelconque des revendications 1 à 10, dans lequel le premier élément à commutation de résistance est l'un des éléments suivants : un élément résistif à oxyde ; un élément à conduction ; un élément à changement de phase ; un élément à métallisation programmable ; un élément à transfert de spin ; un élément à commutation assistée thermiquement (TAS), 10 et un élément à commutation magnétique induite par champ (FIMS) . 12. Mémoire à accès aléatoire comprenant un réseau des dispositifs mémoire selon les revendications 1 à 11. 15 13. Réseau de portes programmable sur site comprenant au moins un multiplexeur comprenant une entrée couplée à au moins l'un des dispositifs mémoire des revendications 1 à 11. 14. Réseau de portes programmable sur site comprenant : 20 une pluralité de blocs logiques configurables (CLB) ; et au moins un bloc de commutation (1008) adapté à interconnecter la pluralité de blocs logiques configurables, ledit au moins un bloc de commutation comprenant le dispositif 25 mémoire de l'une quelconque des revendications 1 à 11. 15. Procédé pour transférer une valeur de données (DNv) à partir d'un emplacement de mémorisation non volatile d'une cellule mémoire vers des premier et deuxième noeuds de mémorisation volatile de ladite cellule mémoire, dans lequel la 30 cellule mémoire comprend des première et deuxième paires de transistors, chaque paire étant couplée en série entre des première et deuxième tensions d'alimentation (VDD, GND), dans lequel un premier noeud de mémorisation entre les transistors de la première paire de transistors est couplé à des bornes de 35 commande de la deuxième paire de transistors, et un deuxièmeB10704 - 03914-05 34 noeud de mémorisation entre les transistors de la deuxième paire de transistors est couplé à des bornes de commande de la première paire de transistors ; et un premier élément à commutation de résistance (202) couplé entre la première tension d'alimentation (VDD, GND) et un premier transistor de la première paire de transistors et programmé pour avoir l'une d'une première et d'une deuxième résistances, le procédé comprenant l'étape suivante : coupler le premier noeud de mémorisation à la deuxième tension d'alimentation (VDD, GND), la valeur de données étant déterminée par la résistance programmée du premier élément à commutation de résistance.