Brevet FR2897191A1 — publié le 20070810

La présente invention concerne des dispositifs de mémoire à semiconducteur, et plus particulièrement un dispositif de mémoire à semiconducteur commandant une tension de programmation conformément au nombre de cellules de mémoire à programmer, et un procédé de programmation de celui-ci. Des dispositifs de mémoire à semiconducteur sont des unités de stockage capables de conserver des données qui peuvent être lues selon les besoins. Des dispositifs de mémoire à semiconducteur peuvent être soit des dispositifs de mémoire volatile qui perdent les données en l'absence d'alimentation électrique, soit des dispositifs de mémoire non volatile qui conservent les données même sans alimentation électrique. La mémoire flash est un exemple d'une mémoire non volatile. La mémoire flash peut être soit du type NON-ET (NAND), soit du type NON-OU (NOR). La mémoire flash NON-OU est souvent utilisée pour le stockage de code. Par exemple, la mémoire flash NON-OU est utilisée dans des terminaux de téléphone mobile, du fait que la mémoire flash NON-OU permet un traitement de données rapide et peut fonctionner à des fréquences élevées. La mémoire flash NON-ET (NAND) effectue des opérations de programmation et d'effacement au moyen de l'effet tunnel de Fowler-Nordheim (F-N). Dans la mémoire flash NON-OU, des opérations de programmation sont effectuées par injection d'électrons chauds et des opérations d'effacement sont effectuées par effet tunnel F-N. La mémoire flash NON-OU est différenciée en types à grille empilée et à grille divisée, conformément à la structure de grille des cellules de mémoire. La figure 1 est un schéma en coupe montrant une cellule de mémoire à grille empilée 10 d'une mémoire flash NON-OU. En se référant à la figure 1, on note que la cellule de mémoire 10 est constituée de régions de source et de drain N+, respectivement 13 et 14, qui sont formées dans un substrat de type P 19. Une grille flottante (FG) 16 2 est formée au-dessus d'une région de canal avec interposition d'une pellicule d'isolation 15 ayant une épaisseur inférieure à 10 nm. Une grille de commande (CG) 18 est formée au-dessus de la grille flottante 16 avec interposition d'une pellicule d'isolation inter-grille, par exemple une pellicule du type oxyde-nitrure-oxyde (ONO) 17. La région de source 13, la région de drain 14 et la grille de commande 18 sont respectivement couplées à une ligne de source SL, une ligne de bit BL et une ligne de mot WL. Pendant une opération de programmation, la ligne de source SL et le substrat 19 sont mis à la masse. La ligne de mot WL reçoit une tension de ligne de mot approximativement égale à 10 V, et la ligne de bit BL reçoit une tension de ligne de bit approximativement égale à 5 V. Dans une telle condition de polarisation, des électrons sont injectés dans la grille flottante 16 à partir de la région de canal adjacente à la région de drain 14. Ce mécanisme est appelé injection d'électrons chauds, qui est une caractéristique de la mémoire flash NON-OU. De façon générale, pendant l'opération de programmation, lorsqu'une tension d'environ 5 V est appliquée à la région de drain 14 de la cellule de mémoire, un courant de cellule approximativement égal à 200 pA circule à partir de la région de drain 14 vers la région de source 13 à travers la région de canal. Par exemple, dans la programmation de multiples bits de données, par exemple des octets ou des mots de données, en même temps, le courant de cellule est au plus approximativement de 1,6 mA (200 pA x 8) pour un octet ou 3,2 mA (200 pA x 16) pour un mot. La figure 2 est un schéma en coupe montrant une cellule de mémoire à grille divisée 20 d'une mémoire flash NON-OU. En se référant à la figure 2, on note que la cellule de mémoire 20 est constituée de régions de source et de drain N+, portant respectivement les références 23 et 24, qui sont formées dans un substrat de type P 29. Une grille flottante (FG) 26 est formée au-dessus d'une région de canal avec interposition d'une pellicule d'oxyde de grille 25. Une grille de commande (CG) 28 est formée au-dessus de la grille flottante 26. La pellicule d'oxyde de grille 25 est formée avec interposition d'une pellicule d'oxyde tunnel 27. La région de source 23, la région de drain 24 et la grille de commande 28 sont respectivement couplées à une ligne de source SL, une ligne de bit BL et une ligne de mot WL. On décrit ici des exemples de tensions de polarisation appliquées à la cellule de mémoire 20 pour une opération de programmation. Une tension de ligne de source VSL approximativement de 9 V est appliquée à la ligne de source SL. Une tension de ligne de mot VWL approximativement de 2 V est appliquée à la ligne de mot WL. La ligne de bit BL reçoit une tension de ligne de bit VBL approximativement de 0,5 V ou approximativement de 2 V, conformément à des données de programmation. Dans cette condition de polarisation, des électrons sont injectés dans la grille flottante 26 à partir de la région de canal adjacente à la région de source 23, par injection d'électrons chauds. Dans le dispositif de mémoire flash NON-OU avec une structure de grille divisée, pendant l'opération de programmation, une tension de programmation approximativement de 9 V est appliquée à la ligne de source SL. Cette tension de programmation est fournie par un générateur de tension de programmation qui est inclus dans le dispositif de mémoire flash NON-OU. Le générateur de tension de programmation inclut un régulateur pour générer une tension de programmation d'un niveau constant. La tension de programmation émise par le générateur de tension de programmation subit une chute au passage à travers un circuit d'attaque et un circuit de sélection de ligne de source. Par exemple, la tension de ligne de source VSL est appliquée à la ligne de source SL à une tension inférieure à la tension de programmation émise par le générateur de tension de programmation. La chute de la tension de ligne de source VSL devient davantage un problème lorsque le nombre de cellules de mémoire à programmer en même temps augmente. Par exemple, 32 cellules de mémoire peuvent être programmées en même temps. Les 32 cellules de mémoire incluent des cellules à programmer (qu'on appelle ci-après "cellules de programmation") et des cellules dont la programmation doit être empêchée (qu'on appelle ci-après "cellules d'interdiction de programmation"). Les cellules de programmation sont des cellules de mémoire qui sont changées de façon à passer d'un état effacé à un état programmé. Les cellules d'interdiction de programmation sont des cellules de mémoire qui restent dans un état effacé. Dans l'exemple ci-dessus, la chute de tension de la tension de ligne de source VSL est différente lorsque le nombre de cellules de programmation est 1 et lorsque le nombre de cellules de programmation est 32. Au fur et à mesure que le nombre de cellules de programmation augmente, la tension de ligne de source VSL devient inférieure. Le profil de chute de la tension de ligne de source VSL conformément au nombre de cellules de programmation est représenté sur la figure 6A. Une telle chute de la tension de ligne de source VSL conformément au nombre de cellules de programmation dégraderait des caractéristiques de programmation des cellules de mémoire. Par exemple, le nombre de cellules de programmation peut affecter un degré de contrainte auquel les cellules de mémoire sont soumises. En outre, l'existence d'un grand nombre de cellules de programmation peut occasionner des défauts de programmation à cause de courants de cellule insuffisants. Le présent exposé procure un dispositif de mémoire à semiconducteur capable d'empêcher une dégradation de caractéristiques de programmation due à une fluctuation de niveaux de tension de programmation en fonction du nombre de cellules de programmation, et un procédé de programmation de ce dispositif. Un exemple de mode de réalisation de la présente invention porte sur un dispositif de mémoire à semiconducteur incluant un réseau de cellules de mémoire et un générateur de tension de programmation émettant une tension de programmation. La tension de programmation est appliquée au réseau de cellules de mémoire conformément au nombre de cellules de mémoire à programmer en même temps, dans le réseau de cellules de mémoire. Conformément à un exemple de mode de réalisation, le réseau de cellules de mémoire est programmé par injection d'électrons chauds. Le réseau de cellules de mémoire comprend des multiplicités de cellules de mémoire flash NON-OU couplées à une ligne de source. Les cellules de la multiplicité de cellules de mémoire flash NON-OU sont formées selon un agencement de grille divisée. La tension de programmation est appliquée aux cellules de mémoire flash NON-OU à grille divisée couplées à la ligne de source. Dans un autre exemple de mode de réalisation, le générateur de tension de programmation inclut un régulateur configuré pour commander un niveau de la tension de programmation conformément au nombre de cellules de mémoire à programmer. Le régulateur commande le niveau de la tension de programmation au moyen d'une division de tension. Un autre exemple de mode de réalisation de la présente invention porte sur un dispositif de mémoire à semiconducteur incluant un réseau de cellules de mémoire. Un tampon de données d'écriture reçoit des données d'écriture en une unité prédéterminée. Un compteur de cellules de programmation calcule la quantité de données à programmer dans le réseau de cellules de mémoire, d'après les données d'écriture. Un générateur de tension de programmation émet une tension de programmation qui doit être appliquée au réseau de cellules de mémoire en conformité avec la quantité de données à programmer, en même temps, dans le réseau de cellules de mémoire. Conformément à un exemple de mode de réalisation, le réseau de cellules de mémoire est programmé par injection d'électrons chauds. Le réseau de cellules de mémoire comprend des multiplicités de cellules de mémoire flash NON-OU couplées à une ligne de source. Les cellules de la multiplicité de cellules de mémoire flash NON-OU sont formées selon un agencement de grille divisée. La tension de programmation est appliquée aux cellules de mémoire flash NON-OU à grille divisée couplées à la ligne de source. Dans un autre exemple de mode de réalisation, le générateur de tension de programmation inclut un régulateur commandant une opération d'une pompe de charge en conformité avec la quantité de données à programmer. Un circuit d'attaque reçoit une tension de sortie provenant de la pompe de charge et fournit la tension de programmation au réseau de cellules de mémoire. Le régulateur inclut un diviseur de tension qui génère une multiplicité de niveaux de tension, par division de tension. Un circuit de sélection sélectionne l'un de la multiplicité de niveaux de tension conformément à la quantité de données à programmer. Un comparateur compare le niveau de tension sélectionné avec une tension de référence et génère un signal de commande pour réguler la pompe de charge. Dans un autre exemple de mode de réalisation de la présente invention, un procédé de programmation d'un dispositif de mémoire à semiconducteur comprend la réception de données d'écriture en une unité prédéterminée. La quantité de données d'écriture à programmer dans un réseau de cellules de mémoire est calculée. Une tension de programmation, qui est appliquée au réseau de cellules de mémoire, est ajustée conformément à la quantité de données à programmer. 7 Conformément à un exemple de mode de réalisation, le réseau de cellules de mémoire est programmé par injection d'électrons chauds. Le réseau de cellules de mémoire inclut une multiplicité de cellules de mémoire flash NON-OU couplées à une ligne de source. Chacune de la multiplicité de cellules de mémoire flash NON-OU est formée selon un type à grille divisée. La tension de programmation est appliquée à la ligne de source. Des exemples de modes de réalisation de la présente invention, non limitatifs et non exhaustifs, sont décrits ci-dessous en référence aux figures suivantes, dans lesquelles des numéros de référence semblables désignent des éléments semblables dans l'ensemble des diverses figures, sauf mention contraire. Dans les figures : la figure 1 est un schéma en coupe montrant une cellule de mémoire à grille empilée d'une mémoire flash NON-OU ; la figure 2 est un schéma en coupe montrant une cellule de mémoire à grille divisée d'une mémoire flash 20 NON-OU ; la figure 3 est un schéma synoptique illustrant un dispositif de mémoire à semiconducteur conforme à un exemple de mode de réalisation de la présente invention ; la figure 4 est un schéma synoptique illustrant un 25 dispositif de mémoire à semiconducteur conforme à un exemple de mode de réalisation de la présente invention ; la figure 5 est un schéma synoptique illustrant le régulateur représenté sur la figure 4 ; et les figures &A et 6B sont des représentations 30 graphiques montrant des variations de tensions de programmation conformément au nombre de cellules de mémoire à programmer. On décrira ci-dessous de façon plus détaillée des exemples de modes de réalisation de la présente invention, 35 en se référant aux dessins annexés. La présente invention peut cependant être mise en œuvre sous différentes formes et on ne doit pas l'interpréter comme étant limitée aux modes de réalisation présentés ici. A la place, ces modes de réalisation sont fournis pour que cet exposé soit approfondi et complet, et permette à l'homme de l'art d'apprécier pleinement le cadre du présent exposé. Des numéros de référence semblables désignent des éléments semblables dans l'ensemble des figures. La figure 3 est un schéma synoptique illustrant un dispositif de mémoire à semiconducteur conforme à un exemple de mode de réalisation de la présente invention. En se référant à la figure 3, on note que le dispositif de mémoire à semiconducteur 100 comprend un réseau de cellules de mémoire 110, un tampon de données d'écriture 120, un compteur de cellules de programmation 130 et un générateur de tension de programmation 140. On peut faire fonctionner le dispositif de mémoire à semiconducteur 100 avec des niveaux variables de tension de programmation, conformément au nombre de cellules de programmation. Le réseau de cellules de mémoire 110 est constitué d'une multiplicité de cellules de mémoire (non représentées). Par exemple, le réseau de cellules de mémoire 110 peut inclure des cellules de mémoire flash NON-OU à grille empilée, comme représenté sur la figure 1, ou des cellules de mémoire flash NON-OU à grille divisée comme représenté sur la figure 2. Les cellules de mémoire sont couplées entre des lignes de bit BL et des lignes de source SL. La cellule de mémoire flash NON-OU à grille empilée 10 reçoit une tension de programmation approximativement de 10 V à travers la ligne de bit BL. La cellule de mémoire flash NON-OU à grille divisée 20 reçoit une tension de programmation approximativement de 9 V à travers la ligne de source SL. Des caractéristiques de structure et de fonctionnement de la mémoire flash NON-OU à grille divisée seront détaillées ci-dessous en référence à la figure 4. Le tampon de données d'écriture 120 reçoit des données d'écriture (par exemple des données à écrire ou à programmer) en une unité prédéterminée (par exemple 8, 16 ou 32 bits). Les données d'écriture incluent des données "0" ou des données "1". Ici, des données "0" sont des données à programmer (données de programmation), tandis que des données "1" sont appelées des données d'interdiction de programmation. Habituellement, dans une mémoire flash NON-OU, des cellules de mémoire du réseau sont effacées en unités de blocs. Une opération d'effacement ramène les cellules de mémoire dans un état non programmé ayant des données "1". Lorsque des données "0" sont appliquées en entrée du tampon de données d'écriture 120 dans un mode de programmation, la mémoire flash NON-OU programme des cellules de mémoire sélectionnées. Cependant, lorsque des données "1" sont appliquées en entrée de celui-ci, la mémoire flash NONOU interdit la programmation de cellules de mémoire sélectionnées. En conséquence, selon qu'une opération est une opération de programmation ou d'interdiction de programmation, les cellules de mémoire sélectionnées sont conditionnées respectivement avec des données "0" ou "1". Le compteur de cellules de programmation 130 est configuré pour compter le nombre de bits de données, parmi les données d'écriture qui sont appliquées en entrée du tampon de données d'écriture 120, qui doivent être programmés dans le réseau de cellules de mémoire 110. Par exemple, on dit que les données à programmer sont des données "0". Le compteur de cellules de programmation 130 calcule le nombre de bits de données "0" parmi les données d'écriture, et fournit ensuite un signal de comptage CNT au générateur de tension de programmation 140. Le générateur de tension de programmation 140 règle un niveau de la tension de programmation Vpgm en réponse au signal de comptage CNT fourni par le compteur de cellules de programmation 130. Le générateur de tension de programmation 140 fixe la tension de programmation Vpgm à 10 une tension plus élevée au fur et à mesure que le nombre de cellules de programmation augmente. De façon générale, dans une mémoire flash NON-OU à grille divisée, une tension de programmation approximativement de 9 V est fournie au moyen de la ligne de source SL. Chaque ligne de source est couplée à une multiplicité de cellules de mémoire flash NON-OU à grille divisée. Si la tension de programmation était appliquée à la ligne de source SL sans considérer le nombre de cellules de programmation, des caractéristiques de programmation fluctueraient en fonction du nombre de cellules de programmation. Par exemple, si le nombre de bits de données d'écriture était 32 et le nombre de cellules de programmation était 1, la cellule de programmation serait endommagée à cause de la contrainte occasionnée par un niveau de tension de programmation excessivement élevé. D'autre part, si le nombre de cellules de programmation était 32, des défauts de programmation se produiraient à cause d'une chute de la tension de programmation. Le dispositif de mémoire à semiconducteur 100 représenté sur la figure 3 est capable de commander un niveau de la tension de programmation Vpgm conformément au nombre de cellules de programmation. Par exemple, le dispositif de mémoire à semiconducteur 100 abaisse la tension de programmation Vpgm lorsque le nombre de cellules de programmation est relativement faible, et élève la tension de programmation Vpgm lorsque le nombre de cellules de programmation est relativement grand. Par conséquent, le dispositif de mémoire à semiconducteur 100 conforme à un exemple de mode de réalisation de la présente invention est capable de régler la tension de programmation Vpgm conformément au nombre de cellules de programmation, et de ce fait il est possible d'éviter des défauts de programmation occasionnés par des différences de tension de programmation Vpgm résultant du nombre de cellules de programmation. 11 La figure 4 est un schéma synoptique illustrant un dispositif de mémoire à semiconducteur conforme à un autre exemple de mode de réalisation de la présente invention. En se référant à la figure 4, on note que le dispositif de mémoire à semiconducteur 200 comprend un réseau de cellules de mémoire 210, un circuit de sélection de ligne de bit 215, un tampon de données d'écriture 220, un compteur de cellules de programmation 230, un générateur de tension de programmation 240 et un circuit de sélection de ligne de source 245. Le dispositif de mémoire à semiconducteur 200 représenté sur la figure 4 a des cellules de mémoire flash NON-OU à grille divisée. Le dispositif de mémoire à semiconducteur 200 est capable de commander la tension de ligne de source VSL conformément au nombre de cellules de programmation. Le réseau de cellules de mémoire 210 est constitué d'une multiplicité de cellules de mémoire MCO, MC1, MC2, MCm (MC1-MCm). Chacune de la multiplicité de cellules de mémoire est formée comme une cellule de mémoire flash NON-OU à grille divisée. Comme représenté sur la figure 4, les cellules de la multiplicité de cellules de mémoire MCO - MCm sont couplées à une seule ligne de mot WL ou ligne de source SL. Il faut cependant noter que le réseau de cellules de mémoire 210 inclut des cellules de mémoire en un plus grand nombre que ce qui est représenté dans la configuration de circuit de la figure 4. Les cellules de mémoire MCO - MCm sont agencées en un groupe et sont connectées à un circuit de sélection de ligne de mot (non représenté) par l'intermédiaire de la ligne de mot WL. Les cellules de mémoire MCO MCm sont connectées au circuit de sélection de ligne de source 245 par l'intermédiaire de la ligne de source SL. Les cellules de mémoire MCO MCm sont couplées entre la ligne de source SL et la multiplicité de lignes de bit BLO, BL1, BL2, BLm (BL1-BLm). Chaque cellule de mémoire est connectée au 12 circuit de sélection de ligne de bit 215 par l'intermédiaire d'une ligne de bit respective. Par exemple, le réseau de cellules de mémoire 210 inclut 512 cellules de mémoire couplées à une ligne de source SL et une ligne de mot WL. Une tension de ligne de mot et une tension de ligne de source sont appliquées aux 512 cellules de mémoire. Par exemple, la tension de ligne de mot est approximativement 2 V, et la tension de ligne de source est approximativement 9 V. Dans une opération de programmation, le réseau de cellules de mémoire 210 est programmé en une unité prédéterminée. Par exemple, les 512 cellules de mémoire sont programmées en unités de 32 bits en 16 étapes de programmation. Pendant ceci, des cellules de mémoire devant être programmées simultanément sont sélectionnées par le circuit de sélection de ligne de bit 215. Le circuit de sélection de ligne de bit 215 sélectionne des cellules devant être programmées en même temps, en réponse à un signal de sélection de ligne de bit SBL. Le signal de sélection de ligne de bit SBL est fourni par un décodeur de colonne (non représenté). Le circuit de sélection de ligne de bit 215 peut être constitué de transistors NMOS (transistors à effet de champ métal-oxydesemiconducteur à canal n), bien que ceci ne soit pas représenté ici. Chaque transistor NMOS est couplé entre les lignes de bit et le tampon de données d'écriture 220. Le circuit de sélection de ligne de bit 215 fournit les données d'écriture à des lignes de bit sélectionnées, en réponse au signal de sélection de ligne de bit SBL. Le tampon de données d'écriture 220 reçoit les données d'écriture conformément à l'unité prédéterminée (par exemple 32 bits). Les données d'écriture incluent des données "0" ou "1". Ici, des données "0" correspondent à des données à programmer, tandis que des données "1" correspondent à des données d'interdiction de programmation. Lorsque les données d'écriture sont des 13 données "0", une tension approximativement de 0,5 V est appliquée aux lignes de bit sélectionnées. Pendant cette étape, les cellules de mémoire correspondantes sont programmées en données "0", à partir de données "1". Sinon, lorsque les données d'écriture sont des données "1", une tension approximativement de 2 V est appliquée aux lignes de bit sélectionnées. Les cellules de mémoire qui leur correspondent sont ensuite fixées à un état d'interdiction de programmation, ce qui maintient des données "1". Le compteur de cellules de programmation 230 compte la quantité de données à programmer dans les données d'écriture introduites dans le tampon de données d'écriture 220 dans le réseau de cellules de mémoire 210. Les données à programmer sont des données "0". Par exemple, le compteur de cellules de programmation 230 calcule le nombre de données "0" dans les données d'écriture et applique ensuite un signal de comptage CNTi (dans lequel "i" est un entier positif) au générateur de tension de programmation 240. Le générateur de tension de programmation 240 commande la tension de ligne de source VSL qui est appliquée au réseau de cellules de mémoire 210 en réponse au signal de comptage CNTi qui est fourni par le compteur de cellules de programmation 230. Le générateur de tension de programmation 240 élève la tension de ligne de source VSL au fur et à mesure que le nombre de cellules de programmation devient plus grand. En se référant à la figure 4, on note que le générateur de tension de programmation 240 comprend un régulateur 241, une pompe de charge 242 et un circuit d'attaque 243. Le régulateur 241 génère un signal de validation de pompe P EN, pour commander la pompe de charge 242 en réponse au signal de comptage CNTi qui est fourni par le compteur de cellules de programmation 230. La pompe de charge 242 peut fonctionner en réponse au signal de validation de pompe P_EN. Par exemple, le régulateur 241 commande un fonctionnement de la pompe de charge 242 14 conformément au nombre de cellules de programmation en réglant une tension de sortie VPP de la pompe de charge 242. Les caractéristiques de structure et de fonctionnement du régulateur 241 sont décrites ci-dessous en relation avec la figure 5. Le circuit d'attaque 243 reçoit la tension de sortie VPP de la pompe de charge 242 et génère la tension de ligne de source VSL. Le circuit de sélection de ligne de source 245 est couplé entre le circuit d'attaque 243 et la ligne de source SL. Le circuit de sélection de ligne de source 245 applique à la ligne de source SL une tension de sortie du circuit d'attaque 243, en réponse à un signal de sélection de ligne de source SSL. Le circuit de sélection de ligne de source 245 peut être constitué d'un transistor PMOS (transistor à effet de champ métal-oxyde-semiconducteur à canal p), comme représenté sur la figure 4. Le transistor PMOS connecte ou déconnecte électriquement la ligne de source SL et le circuit d'attaque 243, en réponse au signal de sélection de ligne de source SSL. La figure 5 est un schéma synoptique illustrant le régulateur 241 représenté sur la figure 4. En se référant à la figure 5, on note que le régulateur 241 comprend un diviseur de tension 310, un circuit de sélection (MUX) 320 et un comparateur 330. Le régulateur 241 reçoit la tension de sortie VPP de la pompe de charge 242 et génère le signal de validation de pompe P _EN pour commander le fonctionnement de la pompe de charge 242 en réponse au signal de comptage CNTi. Le diviseur de tension 310 est constitué d'une multiplicité de résistances Ri, R2, R3, Rk (Ri -Rk) connectées entre une borne de sortie (VPP) de la pompe de charge 242 et une borne de masse. Chacune des résistances Ri - Rk peut fixer la même tension, ou chacune peut fixer des tensions différentes. Le diviseur de tension 310 génère une multiplicité de niveaux de tension V1, V2, V3, Vk (Vi - Vk) par une boucle de division de tension. 15 Le circuit de sélection 320 prend l'un de la multiplicité de niveaux de tension V1 - Vk en réponse au signal de comptage CNTi. Le circuit de sélection 320 sélectionne un niveau de tension plus élevé lorsque le nombre de cellules de programmation augmente. Par exemple, si le nombre de cellules de programmation est 32, le circuit de sélection 320 sélectionne le niveau de tension le plus élevé, V1. Si le nombre de cellules de programmation est 1, le circuit de sélection 320 sélectionne le niveau de tension le plus bas Vk. Le comparateur 330 compare un niveau de tensionsélectionné avec une tension de référence Vref, et génère ensuite le signal de validation de pompe P_EN pour commander la pompe de charge 242. Le régulateur 241 sélectionne un niveau de tension pour élever la tension de sortie VPP de la pompe de charge 242 conformément au nombre de cellules de programmation. Par exemple, le régulateur 241 règle la tension de sortie VPP de la pompe de charge 242 en conformité avec le signal de comptage CNTi qui est fourni par le compteur de cellules de programmation 230. Les figures 6A et 6B sont des représentations graphiques montrant des variations des tensions de ligne de source VSL conformément au nombre de cellules de programmation. La figure 6A montre une variation de la tension de ligne de source dans un dispositif de mémoire à semiconducteur conforme à l'art antérieur, tandis que la figure 6B montre une variation de la tension de ligne de source dans un dispositif de mémoire à semiconducteur conforme à un exemple de mode de réalisation de la présente invention. Sur la figure 6A, la tension de sortie VPP de la pompe de charge (par exemple 242 de la figure 4) est constante indépendamment du nombre de cellules de programmation. La tension de ligne de source VSL diminue linéairement lorsque le nombre de cellules de programmation 16 devient plus grand. La différence entre la tension de sortie VPP et la tension de ligne de source VSL est occasionnée par des chutes de tension dans le circuit d'attaque (par exemple 243 de la figure 4) et le circuit de sélection de ligne de source (par exemple 245 de la figure 4). Si le nombre de cellules de programmation devient plus grand, le courant traversant des cellules de mémoire augmente. Avec un courant de cellules de mémoire croissant, des chutes de tension occasionnées par le circuit d'attaque et le circuit de sélection de ligne de source sont également augmentées, ce qui diminue la tension de ligne de source VSL. Une différence entre la tension de sortie VPP de la pompe de charge et la tension de ligne de source VSL dégrade des caractéristiques de programmation du dispositif de mémoire à semiconducteur, ce qui détériore un rendement de fabrication du dispositif de mémoire à semiconducteur. Sur la figure 6B, la tension de sortie VPP de la pompe de charge 242 varie conformément au nombre de cellules de programmation. Par exemple, lorsque le nombre de cellules de programmation devient plus grand, la tension de sortie VPP' de la pompe de charge 242 augmente. Dans ce cas, la tension de ligne de source VSL' est maintenue, sans chute abrupte, bien que le nombre de cellules de programmation devienne plus grand. Ceci est dû au fait que la tension de sortie VPP' de la pompe de charge 242 augmente conjointement au nombre de cellules de programmation. Conformément à un exemple de mode de réalisation de la présente invention, du fait que la tension de ligne de source VSL ne présente pas de chute abrupte, même avec une augmentation du courant de cellules de mémoire, il est possible d'obtenir des caractéristiques de programmation acceptables. Ainsi, le dispositif de mémoire à semiconducteur modifie automatiquement la tension de ligne de source VSL conformément au nombre de cellules de programmation. Du fait qu'il est capable de régler la 17 tension de ligne de source VSL en réponse au nombre de cellules de programmation, des caractéristiques de programmation acceptables peuvent être obtenues. Des dispositifs de mémoire à semiconducteur conformes à des exemples de modes de réalisation de la présente invention sont applicables à divers appareils électroniques tels que des cartes à puce intelligentes. Une carte à puce intelligente incluant une mémoire flash peut fonctionner avec une tension élevée, approximativement de 9 V, appliquée à la ligne de source pour programmer des cellules de mémoire flash de données. La tension élevée est commandée par le régulateur inclus dans la carte intelligente, et elle est fournie à la ligne de source par l'intermédiaire du circuit d'attaque. De plus, le dispositif de mémoire à semiconducteur conforme à des exemples de modes de réalisation de la présente invention est également applicable à un produit à mémoire flash ou un autre système ayant une fonction de programmation utilisant l'injection d'électrons chauds. Des dispositifs de mémoire à semiconducteur conformes à des exemples de modes de réalisation de la présente invention sont capables de régler une tension de programmation, qui est appliquée au réseau de cellules de mémoire, conformément au nombre de cellules de programmation. L'aptitude à commander un niveau de tension de programmation en conformité avec le nombre de cellules de programmation procure des caractéristiques de programmation acceptables dans le dispositif de mémoire à semiconducteur. Le contenu exposé ci-dessus doit être considéré comme illustratif, et non restrictif, et les revendications annexées visent à couvrir l'ensemble des modifications, améliorations et autres modes de réalisation qui entrent dans l'esprit et le cadre véritables du présent exposé. REVENDICATIONS 1. Dispositif de mémoire à semiconducteur (100, 200), caractérisé en ce qu'il comprend : un réseau de cellules de mémoire (110, 210); et un générateur de tension de programmation {140, 240) émettant vers le réseau de cellules de mémoire (110, 210) un niveau de tension de programmation différent (Vpgm) qui dépend du nombre de cellules de mémoire à programmer en même temps. 2. Dispositif de mémoire à semiconducteur (100, 200) selon la revendication 1, caractérisé en ce qu'il comprend en outre un compteur de cellules de programmation (130, 230) calculant le nombre de cellules de mémoire à programmer. 3. Dispositif de mémoire à semiconducteur (100, 200) selon la revendication 1, caractérisé en ce que le réseau de cellules de mémoire (110, 210) est programmé par injection d'électrons chauds. 4. Dispositif de mémoire à semiconducteur {100, 200) selon la revendication 3, caractérisé en ce que le réseau de cellules de mémoire (110, 210) comprend une multiplicité de cellules de mémoire flash NON-OU (10, 20) couplées à une ligne de source (SL). 5. Dispositif de mémoire à semiconducteur (100, 200) selon la revendication 4, caractérisé en ce que 25 la multiplicité de cellules de mémoire flash NON-OU (20) sont d'un type à grille divisée. 6. Dispositif de mémoire à semiconducteur (100, 200) selon la revendication 5, caractérisé en ce que la tension de programmation est appliquée aux cellules de 30 mémoire flash NON-OU à grille divisée {20) couplées à la ligne de source (SL). 7. Dispositif de mémoire à semiconducteur (100, 200) selon la revendication 1, caractérisé en ce que le générateur de tension de programmation (140, 240) 35 comprend un régulateur de tension (241) configuré pour commander un niveau de la tension de programmation (Vpgm) 19 sous la dépendance du nombre de cellules de mémoire à programmer. 8. Dispositif de mémoire à semiconducteur (100, 200) selon la revendication 7, caractérisé en ce que le régulateur de tension (241) commande le niveau de la tension de programmation (Vpgm) par division de tension. 9. Dispositif de mémoire à semiconducteur (100, 200) caractérisé en ce qu'il comprend : un réseau de cellules de mémoire {110, 210) ; un tampon de données d'écriture recevant des données d'écriture dans une unité prédéterminée ; un compteur de cellules de programmation (130, 230) calculant, d'après les données d'écriture, une quantité de données à programmer dans le réseau de cellules de mémoire (110, 210) ; et un générateur de tension de programmation (140, 240) émettant un niveau différent de tension de programmation (Vpgm) à appliquer au réseau de cellules de mémoire (110, 210), sous la dépendance de la quantité de données à programmer en même temps. 10. Dispositif de mémoire à semiconducteur (100, 200) selon la revendication 9, caractérisé en ce que le réseau de cellules de mémoire (110, 210) est programmé par injection d'électrons chauds. 11. Dispositif de mémoire à semiconducteur (100, 200) selon la revendication 9, caractérisé en ce que le réseau de cellules de mémoire (110, 210) comprend une multiplicité de cellules de mémoire flash NON-OU {10, 20) couplées à une ligne de source (SL). 12. Dispositif de mémoire à semiconducteur (100, 200) selon la revendication 11, caractérisé en ce que les cellules de la multiplicité de cellules de mémoire flash NON-OU (20) sont d'un type à grille divisée. 13. Dispositif de mémoire à semiconducteur (100, 200) selon la revendication 12, caractérisé en ce que la tension de programmation (Vpgm) est appliquée aux cellules de mémoire flash NON-OU à grille divisée (20) couplées à la ligne de source (SL). 20 14. Dispositif de mémoire à semiconducteur (10, 20) selon la revendication 9, caractérisé en ce que le générateur de tension de programmation (140, 240) comprend : un régulateur (241) de tension commandant le fonctionnement d'une pompe de charge (242) sous la dépendance de la quantité de données à programmer ; et un circuit d'attaque (243) recevant une tension de sortie de la pompe de charge et fournissant la tension de programmation (Vpgm) au réseau de cellules de mémoire (110, 210). 15. Dispositif de mémoire à semiconducteur (100, 200) selon la revendication 14, caractérisé en ce que le régulateur (241) de tension comprend : un diviseur de tension {310) générant une multiplicité de niveaux de tension par division de tension ; un circuit de sélection (320) sélectionnant l'un de la multiplicité de niveaux de tension sous la dépendance de la quantité de données à programmer ; et un comparateur (330) comparant le niveau de tension sélectionné avec une tension de référence (Vref) et générant un signal de commande (P_EN) pour réguler la pompe de charge (242). 16. Procédé de programmation d'un dispositif de mémoire à semiconducteur (100, 200), caractérisé en ce qu'il comprend les opérations suivantes consistant à : recevoir des données d'écriture en une unité prédéterminée ; compter, à partir des données d'écriture, la quantité de données à programmer dans un réseau de cellules de mémoire (110, 210) ; et régler une tension de programmation (Vpgm) appliquée au réseau de cellules de mémoire (110, 210) à un niveau différent en fonction de la quantité de données à programmer en même temps. 17. Procédé selon la revendication 16, caractérisé en ce que le réseau de cellules de mémoire (110, 210) est programmé par injection d'électrons chauds. 18. Procédé selon la revendication 16, caractérisé 35 en ce que le réseau de cellules de mémoire (110, 210)inclut une multiplicité de cellules de mémoire flash NON-OU (10, 20) couplées à une ligne de source (SL). 19. Procédé selon la revendication 18, caractérisé en ce que les cellules de la multiplicité de cellules de mémoire flash NON-OU (20) sont d'un type à grille divisée. 20. Procédé selon la revendication 18, caractérisé en ce que la tension de programmation (Vpgm) est appliquée à la ligne de source (SL).