Brevet FR2976712A1 — publié le 20121221

B10705 bR - 03914-06 1 ELÉMENT DE NUIRE NON-VOLATILE DOMAINE DE L'INVENTION La présente invention concerne un élément de mémoire non volatile, et un procédé pour lire un ou plusieurs bits non volatils dans un élément de mémoire programmable. ARRIERE-PLAN DE L'INVENTION Une bascule de données a pour rôle de mémoriser une valeur de donnée numérique reçue, et de fournir cette valeur de donnée en sortie. En général, les bascules sont réalisées à base de deux inverseurs couplés tête-bêche, et sont déclenchées par une impulsion d'horloge pour capturer la valeur de donnée d'entrée. Des combinaisons de bascules peuvent être utilisées pour mettre en oeuvre des dispositifs plus complexes déclenchés par un front d'horloge, tels que des bascules de type D, des bascules de type SR (set, reset), etc. Un inconvénient des circuits de bascule existants est qu'ils sont des dispositifs volatils, c'est-à-dire que la donnée mémorisée est perdue si la tension d'alimentation, qui alimente au moins les inverseurs, est retirée. Cela signifie que lorsque la tension d'alimentation est appliquée de nouveau à une bascule, la donnée à mémoriser par la bascule doit être chargée. Dans le cas où il y a de nombreuses bascules, cela signifie la B10705 FR - 03914-06 2 réalisation de nombreuses opérations de chargement de la sorte, ce qui peut être consommateur de temps et d'énergie. Dans certaines applications, on a besoin d'un circuit mémoire qui puisse fournir une valeur de donnée en sortie sans 5 nécessiter une telle opération de chargement. RESUME DE L'INVENTION Un objet de modes de réalisation de la présente invention est de résoudre au moins partiellement un ou plusieurs besoins de l'art antérieur. 10 Selon un aspect de la présente invention, on prévoit un élément de mémoire non volatile comprenant : des premier et deuxième transistors formant un inverseur couplé entre un premier noeud de mémorisation et une sortie de l'élément de mémoire ; un troisième transistor couplé entre le premier noeud 15 de mémorisation et une première tension d'alimentation et comprenant une borne de commande couplée à ladite sortie ; un premier élément à commutation de résistance couplé en série avec le troisième transistor et programmé pour avoir l'une d'une première et d'une deuxième résistances représentant un bit de 20 donnée non volatile ; et un quatrième transistor couplé entre le noeud de mémorisation et une deuxième tension d'alimentation. Selon un mode de réalisation, l'élément de mémoire comprend en outre un cinquième transistor couplé entre le premier noeud de mémorisation et une ligne d'entrée pour 25 recevoir un bit de donnée à mémoriser au niveau du premier noeud de mémorisation. Selon un autre mode de réalisation, l'élément de mémoire comprend en outre un circuit de commande adapté à activer le troisième transistor au début d'une phase de 30 transfert du bit de donnée non volatile vers le noeud de mémorisation, et à commander le quatrième transistor pour coupler le noeud de mémorisation à la deuxième tension d'alimentation pendant la phase de transfert. B10705 FR - 03914-06 3 Selon un autre mode de réalisation, l'élément à commutation de résistance est couplé entre le troisième transistor et la première tension d'alimentation. Selon un autre mode de réalisation, l'élément à 5 commutation de résistance est couplé entre le quatrième transistor et la deuxième tension d'alimentation. Selon un autre mode de réalisation, l'élément de mémoire comprend en outre un circuit de programmation adapté à programmer les résistances de l'élément à commutation de 10 résistance sur la base de données d'entrée. Selon un autre mode de réalisation, le quatrième transistor est adapté à avoir une tension de seuil inférieure à celle du troisième transistor. Selon un autre mode de réalisation, le premier élément 15 à commutation de résistance est 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 20 magnétique induite par champ. Selon un autre aspect de la présente invention, on prévoit une bascule comprenant une paire des éléments de mémoire susmentionnés, dans laquelle un premier des éléments de mémoire formant une bascule maître a son noeud de mémorisation couplé à 25 une entrée de données de la bascule par un cinquième transistor, et dans laquelle un deuxième des éléments mémoire formant une bascule esclave a son noeud de mémorisation couplé par l'intermédiaire d'un sixième transistor à l'inverseur du premier élément de mémoire. 30 Selon un mode de réalisation, la bascule comprend en outre un transistor d'initialisation couplé entre la borne de grille du troisième transistor du premier élément de mémoire et la deuxième tension d'alimentation. Selon un autre mode de réalisation, l'un des éléments 35 de la paire d'éléments de mémoire a son élément à commutation de B10705 FR - 03914-06 4 résistance couplé entre le troisième transistor et la première tension d'alimentation et l'autre élément de la paire d'éléments de mémoire a son élément à commutation de résistance couplé entre le quatrième transistor et la deuxième tension d'alimen- tation. Selon un autre aspect de la présente invention, on prévoit un réseau de portes programmables sur site comprenant au moins un multiplexeur comprenant une entrée couplée à au moins l'un des éléments mémoire ou bascules susmentionnés. Selon encore un autre aspect de la présente invention, on prévoit un réseau de portes programmables 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 l'élément de mémoire ou la bascule susmentionnés. Selon encore un autre aspect de la présente invention, on prévoit un procédé pour transférer une valeur de donnée d'une mémorisation non volatile d'un élément de mémoire vers un noeud de mémorisation volatile de l'élément de mémoire, dans lequel l'élément de mémoire comprend des premier et deuxième transis-tors formant un inverseur couplé entre un noeud de mémorisation et une sortie de l'élément de mémoire, un troisième transistor couplé entre le noeud de mémorisation et une première tension d'alimentation et comprenant une borne de commande couplée à ladite sortie, et un premier élément à commutation de résistance couplé en série avec le troisième transistor et programmé pour avoir l'une d'une première et d'une deuxième résistance représentant un bit de donnée non volatile, le procédé compre- nant l'étape suivante : coupler le noeud de mémorisation à une deuxième tension d'alimentation pendant que le troisième transistor est activé. Selon un mode de réalisation, le procédé comprend en outre, avant ladite étape de couplage du noeud de mémorisation à B10705 FR - 03914-06 une deuxième tension d'alimentation, une étape consistant à activer le troisième transistor. BRÈVE DESCRIPTION DES DESSINS Les objets, fonctionnalités, aspects et avantages 5 susmentionnés de l'invention, et d'autres, apparaîtront claire-ment à la lecture de la description détaillée de modes de réalisation, donnée à titre d'illustration et non de limitation, en référence aux dessins joints, dans lesquels : la figure 1 illustre un circuit mémoire selon un mode 10 de réalisation de la présente invention ; les figures 2A et 2B représentent schématiquement des exemples de la programmation d'un élément à commutation de résistance particulier ; la figure 3 est chronogramme illustrant un exemple des 15 signaux utilisés pour programmer la partie non volatile de l'élément de mémoire de la figure 1 ; la figure 4 est un chronogramme représentant des exemples de signaux dans l'élément de mémoire de la figure 1 ; les figures 5A et 5B sont des graphes illustrant la 20 transition entre des états stables de l'élément de mémoire de la figure 1 selon certains modes de réalisation de la présente invention ; la figure 6 illustre un élément de mémoire selon un autre mode de réalisation de la présente invention ; 25 les figures 7A et 7B illustrent des circuits de bascules selon d'autres modes de réalisation de la présente invention ; la figure 8A illustre un réseau de portes programmable sur site selon un autre mode de réalisation de la présente 30 invention ; et la figure 8B illustre plus en détail un bloc logique configurable du FPGA de la figure 8A selon un mode de réalisation de la présente invention. Dans les figures, des éléments similaires portent de 35 mêmes références. B10705 bR - 03914-06 6 DESCRIPTION DETAITJEE DE MODES DE REALISATION DE LA PRÉSENTE INVENTION La figure 1 illustre un circuit mémoire 100, comprenant un élément de mémoire 101 qui mémorise un bit de donnée non volatile. Ce bit de donnée non volatile est mémorisé par l'état physique d'un élément à commutation de résistance 102, comme on va le décrire maintenant. L'élément de mémoire 101 comprend un inverseur 104 formé d'un transistor MOS à canal P (PMOS) 106 et d'un transistor MOS à canal N (NMOS) 108 couplés en série entre une tension d'alimentation et une tension de masse. Un noeud intermédiaire 110 entre les transistors 106, 108 est aussi un noeud de sortie de la bascule, qui fournit un signal de sortie SOUT- Les grilles des transistors 106, 108 sont couplées à un noeud de mémorisation 112, qui mémorise une tension A. Le noeud de mémorisation 112 est couplé à la tension de masse par l'intermédiaire de la connexion en série d'un transistor NMOS 116 et de l'élément à commutation de résistance 102. La grille du transistor 116 est couplée au noeud de sortie 110. Le noeud de mémorisation 112 est aussi couplé, par l'intermédiaire d'un transistor PMOS 118, à une ligne de commande 120, qui peut être une ligne de commande commune couplée à plus d'un seul élément de mémoire 101, bien qu'un seul élément de mémoire soit représenté en figure 1. Lorsque le transistor PMOS 118 est conducteur, la ligne de commande 120 couple le noeud de mémorisation 112 à la tension d'alimentation VDD ou à une tension de masse. Le transistor PMOS 118 est contrôlé par un signal RSN fourni sur une ligne 119 à son noeud de grille. Ici encore, ce signal peut être commun à un certain nombre d'éléments de mémoire 101 adjacents. L'élément à commutation de résistance 102 peut être un élément résistif quelconque commutable entre deux valeurs de résistance. De tels éléments maintiennent leur état résistif programmé même après la suppression d'une tension d'alimentation. L'état résistif programmé de l'élément 102 indique une valeur de donnée binaire. B10705 FR - 03914-06 Par exemple, l'élément à commutation de résistance 102 est basé sur une jonction tunnel magnétique (MTJ), tel qu'un élément à commutation magnétique induite par champ (FIMS), un élément à commutation assistée thermiquement (TAS), un élément STT (à transfert de spin) ou des éléments d'une MRAM à bascule. Des FIMS-MRAM (mémoires magnétiques à accès aléatoire) sont par exemple décrits 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 exemples décrites plus en détail dans la publication intitulée (Thermally Assisted MRAM", Prejbeanu et al. A titre de variante, l'élément à commutation de résistance 102 pourrait être un autre type de dispositif mémoire à commutation de résistance, 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). Quelque soit le type d'élément à commutation de résistance, l'information est mémorisée en mettant sa résistance soit à une valeur de résistance relativement élevée (Rmax) soit à une valeur de résistance relativement basse (Rmin). Les valeurs exactes de Rmin et Rmax peuvent varier en fonction de conditions telles que la température, des variations de processus, etc. L'élément à commutation de résistance 102 est par exemple choisi 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, l'élément à commutation de 35 résistance 102 de l'élément de mémoire 101 est programmé de B10705 FR - 03914-06 façon à avoir une valeur de résistance souhaitée indiquant un bit de donnée, comme cela va être décrit plus en détail ci-après. Ensuite, ce bit de donnée mémorisé par l'état programmé de l'élément 102 peut être transféré vers le noeud de mémorisation 112 sous la forme du niveau de tension A, autrement dit un niveau logique haut ou un niveau logique bas. Cette opération est aussi décrite plus en détail ci-après, et va être appelée ici phase de transfert de mémorisation non volatile vers volatile, ou simplement phase de transfert de donnée. La donnée transférée va ensuite être maintenue au niveau du noeud de mémorisation 112 tant que la tension d'alimentation est présente, et va être disponible au niveau du noeud de sortie 110. Un état bas de la tension A est maintenu simplement par le fait que le transistor 116 est activé dans cet état, couplant ainsi le noeud 112 à la masse par l'intermédiaire de l'élément 102. Un état haut de la tension A au niveau du noeud de mémorisation 112 est maintenu par le courant de fuite passant dans le transistor PMOS 118, à partir de la ligne de commande 120, qui est par exemple chargée périodiquement à la tension d'alimentation VDD pendant un état d'attente, pour générer le courant de fuite. La tension de seuil du transistor PMOS 118 est infé- rieure à celle du transistor NMOS 116, de sorte que lorsque chacun d'eux est dans l'état non conducteur, le courant de fuite dans le transistor 118 est supérieur au courant de fuite dans le transistor 116, maintenant ainsi la tension A sur le noeud 112 à une tension suffisamment haute pour être vue comme un niveau logique haut. En d'autres termes, le courant de fuite Ioffp circulant dans le transistor PMOS 118 lorsqu'une tension haute est appliquée sur son noeud de grille, est supérieur au courant de fuite IoffN circulant dans le transistor NMOS 116 lorsqu'une tension basse est appliquée sur son noeud de grille. Les tensions de seuil particulières vont dépendre de la technologie B10705 FR - 03914-06 utilisée. Mais à titre d'exemple, la tension de seuil du transistor PMOS 118 est choisie pour être dans la plage de 0,3 à 0,5 V, tandis que la tension de seuil du transistor NMOS 116 est choisie dans la plage de 0,4 à 0,6 V. Dans tous les cas, le rapport IoffP/IoffN est choisi, par exemple, supérieur à 25, et de préférence supérieur à 100. La programmation de l'élément à commutation de résistance 102 est réalisée par un circuit de commande d'écriture 122 du circuit mémoire 100, sur la base d'un bit de donnée non volatile DNv reçu sur une ligne d'entrée 124 du circuit 122. Le circuit 122 génère un courant d'écriture IWRITE sur la base de la donnée non volatile DNv. Ce courant d'écriture est fourni sur une piste conductrice 126 qui passe par l'élément à commutation de résistance 102, et provoque le passage d'un champ magnétique à travers l'élément à commutation de résistance pour programmer son état résistif. Dans le cas d'une MRAM à commutation assistée thermiquement, avant de fournir le courant d'écriture pour programmer l'élément à commutation de résistance 102, celui-ci est chauffé en y faisant passer un courant, ce qui facilite la transition d'un état résistif à l'autre. Selon un exemple illustré en figure 1, on prévoit un circuit de chauffe qui comprend un transistor PMOS 128 couplé entre la tension d'alimentation VDD et l'élément à commutation de résistance 102. Le transistor 128 est activé par un signal de commande "HEAT" sur sa borne de grille pour conduire un courant Iheat qui passe dans l'élément 102 et le chauffe avant la programmation. Les figures 2A et 2B représentent plus en détail l'élément à commutation de résistance 102 dans l'exemple où celui-ci est un élément TAS. L'élément 102 comprend une plaque ferromagnétique fixe 202 et une plaque ferromagnétique libre 204, les plaques 202 et 204 prenant en sandwich une couche d'oxyde tunnel 206. La piste conductrice 126 passe près de la plaque libre 204 en matériau ferromagnétique, de sorte qu'elle B10705 FR - 03914-06 10 est affectée par le champ magnétique généré par le courant IWRITE passant dans la piste 126. La plaque fixe 202 a par exemple une orientation magnétique dans une première direction, tandis que l'orientation magnétique de la plaque 204 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 202. Cependant, une programmation n'a lieu que dans des éléments qui ont déjà été chauffés. La figure 2A illustre le cas dans lequel les orientations magnétiques sont de direction opposée dans les plaques 202, 204 en raison d'une première polarité du courant IWRITE, ce qui entraîne une résistance maximum Rmax pour l'élément à commutation de résistance 102, par exemple dans la plage de 2 kilo-ohms à 5 kilo-ohms. La figure 2B illustre le cas dans lequel les orientations magnétiques ont la même direction dans les plaques 202 et 204 en raison d'une deuxième polarité du courant IWRITE, qui entraîne une résistance minimum Rmin de l'élément à commutation de résistance 102, par exemple dans la plage de 100 Ohms à 3 kilo-ohms. La figure 3 est un chronogramme illustrant un exemple des signaux HEAT et IWRITE pendant la programmation de l'élément à commutation de résistance 102. Le signal HEAT passe à l'état bas sur un front descendant 302, activant ainsi le transistor 128. Cela génère un courant IHEAT dans l'élément 102, et après une certaine période, le signal IWRITE est activé, comme cela est représenté par le front montant 304 de ce signal. Dans l'exemple, de la figure 3, sur le front montant 304 le courant devient positif, ce qui par exemple programme l'élément 102 pour être à une valeur de résistance haute Rmax. Ensuite, le signal HEAT est amené de nouveau à l'état haut par un front montant 306, de sorte que le courant de chauffe IHEAT est stoppé, et l'élément à commutation de résistance 102 refroidit dans son état résistif courant. Ensuite, le signal IWRITE est amené à l'état bas par un front B10705 FR - 03914-06 11 descendant 308, pour terminer le processus de programmation. Les transitions ultérieures des signaux en figure 3 correspondent à la programmation de l'état résistif opposé de l'élément 102. Ainsi, le signal IWRITE devient négatif sur le front descendant 310, au lieu de positif, pour programmer l'état résistif bas. Dans un exemple, le temps pendant lequel le signal HEAT est actif entre les fronts 302 et 306 est d'environ 20 ns. Ainsi, une opération d'écriture peut être réalisée en un peu moins de 35 ns. Cependant, les temps de chauffe et de refroidissement vont varier sur la base de facteurs comme les matériaux utilisés, leurs volumes, etc., et aussi les 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 certaine valeur du bit de donnée, ou dans la région des -10 mA pour programmer la valeur opposée du bit de donnée, bien qu'on puisse utiliser d'autres valeurs. Le signal CL sur la ligne de commande 120 et le signal RSN sur la ligne 119 pendant la phase de transfert de mémo- risation non volatile vers volatile vont maintenant être décrits en référence à la figure 4. En général, la phase de transfert comprend l'application, par le circuit de commande 130, d'une tension basse sur le noeud de mémorisation 112 pour assurer que le transistor 116 est actif, puis d'une tension haute, par exemple égale ou environ égale à la tension d'alimentation VDD, pour générer une tension A sur le noeud de mémorisation qui a un niveau qui dépend de l'état programmé de l'élément à commutation de résistance 102. Comme cela est représenté en figure 4, un front descendant 402 du signal RSN a lieu pendant que le signal CL sur la ligne 120 est à la tension de masse. Ainsi, le noeud de mémorisation 112 est couplé à la masse. Dans un premier exemple de courbe 404 de la tension A du noeud de mémorisation, cela entraîne que la tension du noeud de mémorisation chute de VDD à B10705 FR - 03914-06 12 la masse. Dans un deuxième exemple de courbe 406 de la tension A du noeud de mémorisation, le noeud de mémorisation est déjà à la masse, et donc il n'y a pas de changement. Dans tous les cas, une tension basse sur le noeud 112 entraîne le passage à l'état haut du signal SOUT, assurant ainsi que le transistor 116 est activé. Ensuite, pendant que le signal RSN est encore à l'état bas, le signal CL est amené à l'état haut sur un front montant 408, par exemple à VDD, de sorte que la tension sur le noeud de 10 mémorisation 112 monte. Puisque le transistor 116 est initialement conducteur, cela provoque le passage d'un courant de la ligne de commande 120 vers la masse par l'intermédiaire des transistors 118, 116 et de l'élément à commutation de résistance 102. Un diviseur de tension est donc formé, et la 15 tension A sur le noeud 112 va dépendre de la résistance programmée de l'élément 102. Dans l'exemple de courbe 404, on suppose que l'élément 102 a été programmé pour être à Rmax, et dans ce cas, la tension A du noeud de mémorisation va aller vers un niveau intermédiaire relativement haut Vmax. Dans l'exemple, 20 de la courbe 406, on suppose que l'élément 102 a été programmé pour être à Rmin, et dans ce cas la tension A du noeud de mémorisation va aller à un niveau intermédiaire relativement bas Vmin. En général, la tension A va atteindre un niveau égal à : A=VDD*[(Ron116+R102)/(Ron1l8+Ron116+R102)] 25 où Ronll6 est la résistance à l'état conducteur du transistor 116, Ronll8 est la résistance à l'état conducteur du transistor 118, et R102 est la résistance programmée de l'élément 102. Ces valeurs de résistance sont choisies de telle sorte que lorsque R102 est à Rmin, la tension A soit inférieure au seuil 30 nécessaire pour entraîner le passage de la sortie des inverseurs à l'état bas, tandis que lorsque R102 est à Rmax, la tension A soit supérieure à ce seuil. Cette tension de seuil de l'inverseur est appelée ici niveau de métastabilité Vmeta. Ainsi, comme cela est représenté en figure 4, dans l'exemple de 35 courbe 404, lorsque le signal RSN passe à l'état haut sur le B10705 FR - 03914-06 13 front montant 410, la tension A passe à VDD, tandis que dans l'exemple de courbe 406, la tension A revient à la masse après le front 410. Les figures 5A et 5B sont des graphes illustrant 5 l'état du noeud de mémorisation 112 pendant une phase de transfert. Initialement, étant donné que la tension A sur le noeud de mémorisation 112 est amenée à l'état bas, dans les deux figures 5A et 5B, l'état initial 502 correspond à l'état A bas, 10 SOUT haut. Dans le cas de la figure 5A, la résistance de l'élément 102 est à Rmax, et ainsi lorsque le signal CL passe à l'état haut sur le front 408, la tension A sur le noeud 112 augmente en suivant une courbe 504 et passe le niveau de 15 métastabilité 506 lorsqu'elle est égale à Vmeta, avant d'atteindre un point 508 pour lequel la tension A est au niveau Vmax résultant de la résistance Rmax. Ensuite, sur le front montant 410, le noeud de mémorisation 112 va à l'état stable le plus proche, qui est l'état A haut, SOUT bas. 20 Dans le cas de la figure 5B, la résistance de l'élément 102 est à Rmin, et ainsi lorsque le signal CL passe l'état haut sur le front 408, la tension A sur le noeud 112 augmente en suivant la courbe 504 mais ne passe pas le point de métastabilité 506. Au lieu de cela, elle s'arrête en un point 25 510 pour lequel la tension A est à un niveau Vmin résultant de la résistance Rmin. Ensuite, sur le front montant 410, le noeud de mémorisation 112 passe à l'état stable le plus proche, qui est l'état A bas, SOUT haut. Les valeurs des résistances programmables Rmin et Rmax 30 de l'élément 102 sont par exemple choisies de telle sorte que lorsque la tension d'alimentation est appliquée à la ligne de commande 120 avec les transistors 116 et 118 activés, les tensions correspondantes Vmin et Vmax vérifient la relation Vmin B10705 FR - 03914-06 14 L'élément de mémoire 101 de la figure 1 permet la mémorisation non volatile d'un bit de donnée par l'élément 102. Ce circuit pourrait être adapté pour fonctionner aussi comme une bascule normale, mémorisant et fournissant un bit de donnée volatile quelque soit l'état programmé de l'élément à commutation de résistance 102. Cela peut être obtenu par l'ajout d'un transistor couplé entre le noeud 112 et une ligne d'entrée de données pour recevoir le bit de donnée volatile, comme on va le décrire plus en détail ci-après en référence aux bascules des figures 7A et 7B. La figure 6 illustre un élément de mémoire 601, qui est similaire à l'élément de mémoire 101 de la figure 1, excepté que le transistor NMOS 116 est remplacé par un transistor PMOS 616 couplé entre le noeud de mémorisation 112 et la tension d'alimentation VDD, le transistor PMOS 118 est remplacé par un transistor NMOS 618, et l'élément à commutation de résistance 102 est couplé entre le transistor 618 et la ligne de commande 120. Le fonctionnement du circuit est très similaire à celui de l'élément de mémoire 101. En outre, on pourrait utiliser des éléments similaires au bloc de commande d'écriture 122, au transistor de chauffe 128, et au circuit de commande 130, pendant des phases d'écriture et de transfert. Cependant, il y a une différence en ce que le transistor de chauffe est par exemple couplé entre la masse et un noeud entre l'élément 102 et le transistor 618, et est activé en même temps qu'une tension haute est appliquée à la ligne de commande 120 vers l'élément de chauffe 102. En outre, pendant une phase d'attente, un état bas est maintenu sur le noeud de mémorisation 112 en choisissant les tensions de seuil des transistors 616 et 618 de telle sorte que le courant de fuite IoffN passant dans le transistor NMOS 618, lorsqu'une tension basse est appliquée sur son noeud de grille, soit supérieur au courant de fuite 'offP passant dans le transistor PMOS 616 lorsqu'une tension haute est appliquée sur son noeud de grille. Aussi, le transistor 618 est activé par une tension haute sur sa borne de grille. Pendant une phase de B10705 JR - 03914-06 15 transfert, un niveau haut est écrit initialement sur le noeud de mémorisation 112, de sorte que le transistor 616 est activé, puis le noeud de mémorisation est couplé à la tension de masse par l'intermédiaire de la ligne de commande 120, de sorte qu'un diviseur de potentiel est formé par les transistors 616 et 618 et l'élément 102. Comme avec l'élément de mémoire 101 de la figure 1, l'élément de mémoire 601 pourrait être adapté pour mémoriser un bit de donnée volatile, en plus du bit de donnée non volatile mémorisé par l'élément à commutation de résistance 102, par l'ajout d'un autre transistor couplé entre le noeud de mémorisation 112 et d'une ligne d'entrée de données pour recevoir le bit de donnée volatile, comme cela va être décrit plus en détail ci-après en référence aux bascules des figures 7A et 7B. La figure 7A illustre une bascule 700 comprenant une paire d'éléments mémoire. Dans l'exemple de la figure 7A, la bascule 700 comprend une bascule maître formée par l'élément de mémoire 101 de la figure 1 ayant son noeud de mémorisation 112 couplé à une entrée de données de la bascule par l'intermédiaire d'un transistor PMOS 702, et son transistor PMOS 118 couplé à la tension d'alimentation VDD. Un transistor PMOS 706 est aussi prévu couplé entre le noeud 110 et la tension d'alimentation VDD pour réaliser une initialisation de la tension A du noeud de mémorisation, comme on va le décrire ci-après. En outre, la bascule 700 comprend une bascule esclave comprenant l'élément de mémoire 601 de la figure 6 ayant son noeud de mémorisation 112 couplé au noeud de sortie 110 de l'élément de mémoire 101 par l'intermédiaire d'un transistor NMOS 704, et son élément à commutation de résistance 102 couplé entre le transistor 618 et la masse. Le noeud de sortie 110 de l'élément 601 fournit la sortie Q de la bascule 700. Les transistors 702, 704 reçoivent sur leurs noeuds de grille un signal d'horloge CLK. Un bloc de commande 707 fournit le signal d'horloge CLK aux transistors 702, 704 et des signaux de commande RSN1, RSN2 et INIT aux grilles des transistors 118, 618 et 706, respectivement. B10705 FR - 03914-06 16 En fonctionnement normal, les transistors 118 et 706 de l'élément de mémoire 101 et le transistor 618 de l'élément de mémoire 601 ne sont pas conducteurs. Pendant le fonctionnement normal, le signal de données D présent sur l'entrée de données de la bascule 700 est mémorisé sur le noeud de mémorisation 112 de l'élément 101 après le front descendant du signal d'horloge CLK, et sur le front montant suivant du signal d'horloge CLK l'inverse de cette valeur de donnée est propagée vers le noeud de mémorisation 112 de l'élément 601, entraînant que la sortie Q de la bascule devient égale à cette valeur de donnée. Pendant une phase d'attente, la tension sur le noeud de mémorisation 112 des éléments mémoire 101, 601 est maintenue. En particulier, l'état haut sur le noeud de mémorisation 112 de l'élément 101 est assuré par un courant de fuite passant dans le transistor 118, qui est supérieur au courant de fuite passant dans le transistor 116, et l'état bas sur le noeud de mémorisation 112 de l'élément 601 est assuré par un courant de fuite passant dans le transistor 616, qui est inférieur au courant de fuite passant dans le transistor 618. La programmation des éléments à commutation de résistance 102 des éléments mémoire 101, 601 peut être réalisée de la même façon que celle décrite précédemment en référence aux figures 1 et 6. A tout instant, la donnée non volatile mémorisée par l'état programmé de l'élément à commutation de résistance de l'un ou l'autre des éléments mémoire 101, 601 peut être transférée vers le noeud de mémorisation 112 correspondant puis vers la sortie Q de la bascule, comme on va le décrire maintenant. Pour transférer la donnée non volatile de l'élément à commutation de résistance 102 de l'élément de mémoire 101, le signal d'horloge CLK est amené à l'état haut, de sorte que le PMOS 702 est non-conducteur et le NMOS 704 est conducteur. Ensuite, une initialisation de la tension A sur le noeud de mémorisation 112 est réalisée en activant le transistor PMOS B10705 FR - 03914-06 17 706, rendant ainsi conducteur le transistor 116. Ensuite, le transistor PMOS 118 est activé par une tension basse sur son signal de grille RSN1. Le niveau sur le noeud 112 de l'élément de mémoire 101 est ainsi basé sur la résistance programmée de l'élément 102, en raison d'un diviseur de potentiel formé par les transistors 118, 116 et l'élément 102. Puisque le transistor 704 est conducteur, la valeur de donnée est propagée directement vers la sortie Q de la bascule 700. La résistance à l'état conducteur du PMOS 118 est par exemple choisie pour être supérieure à la résistance à l'état conducteur du PMOS 702. De cette façon, lorsque le noeud 112 de l'élément de mémoire 101 est à une tension basse et que le transistor 116 est conducteur, l'écriture d'une valeur de données haute D sur le noeud de mémorisation 112 va encore être réussie puisque l'élément à commutation de résistance 102 a été programmé avec la résistance minimum Rmin. En particulier, les équations suivantes sont vérifiées : VDD*E(Ron116+Rmin)/(Ron702+Ron116+Rmin)I>Vmeta VDD*[(Ron116+Rmin)/(Ron118+Ron116+Rmin)] 18 sortie Q de la bascule 700 prend alors la tension correspondante. La figure 7B illustre une bascule 710 selon une variante de réalisation dans laquelle la bascule maître est formée par l'élément de mémoire 601 et la bascule esclave est formée par l'élément de mémoire 101. En outre, par rapport au mode de réalisation de la figure 7A, en figure 7B, le transistor PMOS 702 est remplacé par un transistor NMOS 712, et le transistor NMOS 704 est remplacé par un transistor PMOS 714. Aussi, le transistor d'initialisation PMOS 706 est remplacé par un transistor NMOS 716 couplé entre le noeud de sortie 110 de l'élément de mémoire 601 et la masse. Le fonctionnement de la bascule 710 est similaire à celui de la bascule 700, excepté que la sortie est déclenchée par un front descendant plutôt que par un front montant du signal d'horloge CLK. En outre, pour transférer la donnée programmée par l'élément à commutation de résistance 102 de l'élément de mémoire 601, la tension du noeud de mémorisation 112 est d'abord initialisée à un niveau haut, puis le transistor 618 est activé par une tension haute pendant que le signal d'horloge CLK est bas. Le transfert de la donnée programmée par l'élément à commutation de résistance 102 de l'élément de mémoire 101 est effectué après l'initialisation du noeud de mémorisation 112 de l'élément de mémoire 101 à un niveau bas en activant le transistor 716 pendant que le signal d'horloge CLK est bas, puis le transistor PMOS 118 est activé pendant que le signal d'horloge CLK est haut. La figure 8A illustre un FPGA (réseau de portes programmables sur site) 800 dans lequel les éléments mémoire 101, 601 et/ou les bascules 700, 710 décrites ici peuvent être mis en oeuvre. Le FPGA comprend un réseau de blocs logiques configurables (CLB) 802 interconnectés sélectivement par des colonnes de lignes 804, qui à leur tour sont interconnectées sélectivement par des rangées de lignes 806. En particulier, des blocs de commutation 808 sont prévus à chaque intersection entre B10705 FR - 03914-06 19 les lignes de colonnes 804 et les lignes de rangées 806, permettant de programmer des connexions entre chacune des lignes de colonnes 804 et chacune des lignes de rangées 806. Les blocs de commutation 808 comprennent par exemple un ou plusieurs des éléments de mémoire 101, 601, et/ou des bascules 700, 710 permettant de programmer les connexions entre les lignes de façon non volatile. En outre, dans le cas où la bascule 700, 710 est utilisée pour programmer les connexions, on peut sélectionner l'une d'une pluralité de configurations de connexion en sélectionnant celui des bits de données non volatiles programmés par les états résistifs des deux éléments à commutation de résistance 102 qui doit être transféré vers la sortie Q. La figure 8B illustre plus en détail l'un des CLB 802 selon un exemple dans lequel il comprend une table de correspondance formée d'un multiplexeur 810 comportant 8 entrées de données, chacune d'elles étant couplée à une cellule mémoire 811, qui pourrait être l'élément de mémoire 101 ou 601 de la bascule 700, 710. Dans des variantes de réalisation, il pourrait y avoir un nombre quelconque de ces cellules et des entrées vers le multiplexeur 810. Le multiplexeur 810 comprend aussi une entrée de commande à 3 bits 812, contrôlant laquelle des 8 lignes d'entrée est sélectionnée, et une ligne de sortie 814, fournissant la donnée de la ligne d'entrée sélectionnée. Un avantage des modes de réalisation des éléments de mémoire décrits ici est qu'ils sont capables de mémoriser des données non volatiles de façon simple et compacte, et que la donnée non volatile programmée peut être chargée rapidement dans la partie volatile de l'élément de mémoire en appliquant une tension aux lignes d'accès de l'élément de 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 à la mise sous tension ou après une période de sommeil. Dans le cas d'un FPGA, cela permet d'initialiser très rapidement une conception de circuit, sans B10705 bR - 03914-06 20 avoir besoin de charger des données externes dans le dispositif pour programmer des bascules de mémoire et des commutateurs. En outre, avantageusement dans le cas des bascules 700, 710, les parties de mémorisation volatile peuvent être utilisées de façon standard quels que soient les états programmés des éléments résistifs non volatils. En outre, le temps d'écriture pour la partie non volatile est aussi relativement court, par exemple autour de 35 ns dans le cas d'une MRAM. Avec la description ainsi faite d'au moins un mode de réalisation illustratif de l'invention, divers changements, diverses modifications et diverses améliorations apparaîtront facilement à 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 des bascules 700, 710 et un FPGA, les éléments de mémoire décrits ici pourraient être utilisés dans d'autres types de dispositifs de mémoire. En outre, dans le cas des bascules 700, 710, il sera clair que plutôt que les deux bascules maître et esclave comprennent chacune des éléments à commutation de résistance 102, dans des variantes de réalisation, l'élément 102 pourrait être supprimé de l'une des bascules. Il sera clair pour l'homme de l'art que la tension de masse décrite ici pourrait être à 0 V, ou plus généralement à toute tension d'alimentation VSS, qui pourrait être différente deOV. 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, et que les transistors MOS pourraient à titre de variante être mis en oeuvre par d'autres technologies de transistors, comme une technologie bipolaire. En outre, les fonctionnalités décrites en relation avec les divers modes de réalisation pourraient être combinées REVENDICATIONS1. Elément de mémoire non volatile comprenant : des premier et deuxième transistors {106, 108) formant un inverseur {104) couplé entre un premier noeud de mémorisation (112) et une sortie (110) de l'élément de mémoire ; un troisième transistor (116, 616) couplé entre le premier noeud de mémorisation (112) et une première tension d'alimentation (GND, VDD) et comprenant une borne de commande couplée à ladite sortie ; un premier élément à commutation de résistance (102) couplé en série avec le troisième transistor et programmé pour avoir l'une d'une première et d'une deuxième résistance (Rmin, Rmax) représentant un bit de donnée non volatile ; et un quatrième transistor {118, 618) couplé entre le noeud de mémorisation (112) et une deuxième tension d'alimen-15 tation (VDD, GND). 2. Elément de mémoire selon la revendication 1, comprenant en outre un cinquième transistor (702, 704, 712, 714) couplé entre le premier noeud de mémorisation et une ligne d'entrée pour recevoir un bit de donnée (D) à mémoriser au 20 niveau du premier noeud de mémorisation. 3. Elément de mémoire selon la revendication 1 ou 2, comprenant en outre un circuit de commande (130, 706, 707) adapté à activer le troisième transistor au début d'une phase de transfert du bit de donnée non volatile vers le noeud de 25 mémorisation, et à commander le quatrième transistor pour coupler le noeud de mémorisation à la deuxième tension d'alimentation pendant la phase de transfert. 4. Elément de mémoire selon l'une quelconque des revendications 1 à 3, dans lequel l'élément à commutation de 30 résistance est couplé entre le troisième transistor et la première tension d'alimentation. 5. Elément de mémoire selon l'une quelconque des revendications 1 à 3, dans lequel l'élément à commutation deB10705 FR - 03914-06 23 résistance est couplé entre le quatrième transistor et la deuxième tension d'alimentation. 6. Elément de mémoire selon l'une quelconque des revendications 1 à 5, comprenant en outre un circuit de program- mation (122, 126) adapté à programmer les résistances de l'élément à commutation de résistance sur la base de données d'entrée (DNv). 7. Elément de mémoire selon l'une quelconque des revendications 1 à 6, dans lequel le quatrième transistor (118, 618) est adapté pour .avoir une tension de seuil inférieure à celle du troisième transistor {116, 616). 8. Elément de mémoire selon l'une quelconque des revendications 1 à 7, dans lequel le premier élément à ccaemtation de résistance est 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) ; et un élément à commutation magnétique induite par champ (FIMS). 9. Bascule comprenant une paire des éléments de mémoire selon l'une quelconque des revendications 1 à 8, dans laquelle un premier des éléments mémoire formant une bascule maître a son noeud de mémorisation couplé à une entrée de données de la bascule par un cinquième transistor (702, 712), et dans laquelle un deuxième des éléments mémoire formant une bascule esclave a son noeud de mémorisation couplé par l'intermédiaire d'un sixième transistor {704) à l'inverseur du premier élément de mémoire. 10. Bascule selon la revendication 9, ladite bascule comprenant en outre un transistor d'initialisation (706) coupléB10705 FR - 03914-06 24 entre la borne de grille du troisième transistor du premier élément de mémoire et la deuxième tension d'alimentation. 11. Bascule selon la revendication 9 ou 10, dans laquelle l'un des éléments de la paire d'éléments de mémoire a son élément à commutation de résistance couplé entre le troisième transistor et la première tension d'alimentation et l'autre élément de la paire d'éléments de mémoire a son élément à commutation de résistance couplé entre le quatrième transistor et la deuxième tension d'alimentation. 12. Réseau de portes programmables sur site comprenant au moins un multiplexeur comprenant une entrée couplée à au moins l'un des éléments de mémoire de l'une quelconque des revendications 1 à 8 ou à au moins l'une des bascules de l'une quelconque des revendications 9 à 11. 13. Réseau de portes programmables sur site compre-nant : une pluralité de blocs logiques configurables (CLB) ; et au moins un bloc de commutation (1008) adapté à interconnecter la pluralité de blocs logiques configurables, dans lequel ledit au moins un bloc de commutation comprend l'élément de mémoire de l'une quelconque des revendications 1 à 8 ou la bascule de l'une quelconque des revendications 9 à 11. 14. Procédé pour transférer une valeur de donnée (DNV) à partir d'un emplacement de mémorisation non volatile d'un élément de mémoire vers un noeud de mémorisation volatile de l'élément de mémoire, dans lequel l'élément de mémoire comprend des premier et deuxième transistors (106, 108) formant un inverseur (104) couplé entre un noeud de mémorisation (112) et une sortie {110) de l'élément de mémoire, un troisième transistor (116, 616) couplé entre le noeud de mémorisation {112) et une première tension d'alimentation (GND, VDD) et comprenant une borne de commande couplée à ladite sortie, et un premier élément à commutation de résistance (102) couplé en série avec le troisième transistor et programmé pour avoir l'uneB10705 FR - 03914-06 25 d'une première et d'une deuxième résistance (Rmin, Rmax) représentant un bit de donnée non volatile, le procédé comprenant l'étape suivante : coupler le noeud de mémorisation à une deuxième 5 tension d'alimentation (VDD, GND) pendant que le troisième transistor est activé. 15. Procédé selon la revendication 14, comprenant en outre, avant ladite étape de couplage du noeud de mémorisation à une deuxième tension d'alimentation, une étape consistant à 10 activer le troisième transistor (116, 616).