Brevet FR3035536A1 — publié le 20161028

PROCÉDÉ DE DÉTERMINATION D'UNE IMPULSION DE TENSION OPTIMALE POUR PROGRAMMER UNE CELLULE MÉMOIRE FLASH DOMAINE TECHNIQUE La présente invention s'inscrit dans le domaine des mémoires non volatiles à grille flottante et s'intéresse plus particulièrement aux conditions de programmation électrique d'une cellule de mémoire flash. ETAT DE LA TECHNIQUE Une mémoire « EEPROM-Flash » (communément appelée mémoire flash) est classiquement formée d'une pluralité de cellules mémoire identiques pouvant être programmées électriquement de manière individuelle, un grand nombre de cellules, appelé bloc, secteur ou page, pouvant être effacées simultanément et électriquement. La figure 1 représente schématiquement une cellule de mémoire flash 10 de type 1T- NOR, ainsi que le mécanisme de programmation de cette cellule. La cellule mémoire flash 10 est constituée d'un transistor NMOS comprenant un substrat 11 en matériau semi-conducteur, une région de source 12 et une région de drain 13 formées dans le substrat 11, et une grille de contrôle 14. Ce transistor comprend en outre un site de stockage de charges électriques 15, appelé grille flottante, formé par exemple d'une couche de polysilicium disposée entre deux couches d'oxyde 16 et 17. La grille flottante 15 est située entre la grille de contrôle 14 et le substrat 11. Le substrat 11, la source 12, le drain 13 et la grille de contrôle 14 constituent des électrodes de commande de la cellule mémoire 10, notées respectivement B (pour « bulk » en anglais), S, D et G sur la figure 1. La programmation d'une cellule mémoire flash, appelé également écriture, s'effectue 3035536 2 en appliquant simultanément une tension Vg élevée sur la grille de contrôle 14, par exemple entre 7 V et 10 V, et une tension Vd plus modérée sur le drain 13 du transistor à grille flottante, par exemple entre 3 V et 5 V (le substrat 11 et la source 12 sont reliés à la masse). Comme cela est schématisé sur la figure 1, ces tensions 5 provoquent l'apparition d'un canal de conduction dans le substrat 11, entre la source 12 et le drain 13, et d'un courant source-drain, porté par des électrons de forte énergie (dits électrons « chauds »). Ces électrons parcourent le canal depuis la source 12 en direction du drain 13. Certains électrons entrent en collision avec les atomes du substrat 11 situés à proximité du drain 13, ce qui conduit à un phénomène 10 d'ionisation par impact de ces atomes et à l'injection d'électrons dans la grille flottante 15, par effet tunnel à travers la couche d'oxyde 17 (dit « oxyde tunnel »). L'état écrit ou effacé de la cellule mémoire 10 dépend de la concentration d'électrons piégés dans la grille flottante 15. Dans l'état écrit (niveau logique '1'), la grille 15 flottante 15 est remplie d'électrons. La tension de seuil du transistor à grille flottante est élevée (typiquement, entre 6 V et 9 V). A l'inverse, dans l'état effacé (niveau logique '0'), la grille flottante 15 est vide d'électrons. La tension de seuil du transistor est faible (typiquement, entre 2 V et 4 V). 20 Pendant la programmation de la cellule mémoire 10, une infime partie des électrons issus de la source 12 est piégée dans la grille flottante 15 (environ 1 électron piégé pour 106 électrons injectés dans le canal). L'autre partie des électrons, collectée par le drain 13, constitue le courant de drain Id à l'origine de la consommation électrique de la cellule mémoire 10. L'énergie Ec consommée par la cellule mémoire 10 25 pendant sa programmation s'écrit : Ec= f Vd(t). I d(t). dt = VdPROG. f I d (t). dt tpulse tpulse où Vd(t) est la tension appliquée sur le drain au cours du temps, Id(t) est le courant de drain au cours du temps et tpuise est la durée de l'opération de programmation. La durée tpuise est généralement comprise entre 1 us et 10 us. Pendant toute la durée de programmation, la tension Vd(t) est une constante, notée ci-dessus VdPROG (ici 30 VdPROG = 3-5 V). 303 5 5 3 6 3 Outre l'énergie consommée Ec, il est d'usage de définir deux autres paramètres pour caractériser la programmation d'une cellule mémoire flash : - la valeur maximale IdmAx du courant de drain de la cellule mémoire pendant la 5 programmation ; et - la fenêtre de programmation PW (« Programming Window » en anglais), qui correspond à la différence des tensions de seuil entre l'état écrit (ou « programmé ») et l'état effacé de la cellule mémoire. 10 Une mesure dynamique du courant de drain Id pendant la programmation de la cellule mémoire flash permet d'obtenir deux de ces paramètres : l'énergie consommée Ec et la valeur maximale IdmAx du courant de drain. Pour réaliser cette mesure, on utilise généralement un appareil appelé PIV (« Pulsed I-V system » en anglais) ou FMU (« Fast Measurement Unit ») permettant de générer des impulsions 15 de tension sur le drain 13 et sur la grille de contrôle 14, tout en mesurant dynamiquement des courants entre 1 i_tA et 10 mA (typiquement avec une durée d'échantillonnage de l'ordre de 10 ns). La figure 2 est un exemple de mesure dynamique du courant de drain en fonction du 20 temps, Id(t), lors d'une programmation de la cellule mémoire 10. Au relevé du courant Id(t), on a superposé l'impulsion de tension 20 appliquée sur la grille de contrôle 14 de la cellule mémoire 10, autrement dit le potentiel Vg(t). L'impulsion de tension 20 a une forme classique, globalement rectangulaire. Elle comprend un plateau 21 à environ 8,5 V (Vg(t) = 8,5 V). La durée de programmation tpuise, égale à 25 la durée de l'impulsion 20, vaut approximativement 3 us. Le drain est polarisé à un potentiel Vd égale à 4 V (Vd = VdPROG = 4 V) pendant toute la durée de programmation. On constate sur la figure 2 que le courant de drain Id décroit au cours de la 30 programmation, après avoir atteint la valeur maximale IdmAx au début de l'impulsion 20. Cela est dû au fait que la charge électrique de la grille flottante 15 diminue progressivement en se remplissant d'électrons, ce qui entraine une augmentation de la tension de seuil du transistor à grille flottante. 3035536 4 Comme cela est visible sur la figure 2, la décroissance du courant de drain Id est beaucoup plus rapide en début de programmation qu'en fin de programmation. Autrement dit, la vitesse de programmation est beaucoup plus importante au début 5 qu'à la fin de l'impulsion de tension 20. Or la vitesse de programmation influe directement sur la durée de programmation nécessaire pour atteindre une valeur seuil de fenêtre de programmation. En effet, plus la vitesse de programmation est élevée, plus le courant d'électrons vers la grille flottante (i.e. à travers l'oxyde tunnel) est élevé et plus la grille flottante se remplie d'électrons rapidement. 10 Cette variation de la vitesse de programmation est due au fait qu'une impulsion de tension rectangulaire est utilisée pour polariser la grille de contrôle de la cellule mémoire. Un autre inconvénient d'utiliser une impulsion de forme rectangulaire est le pic de courant P se produisant au début de l'impulsion 20 (Fig.2). Ce pic de courant 15 est préjudiciable pour la cellule mémoire, car il détermine dans quelle mesure doivent être dimensionnés le transistor à grille flottante et les pompes de charge qui alimentent la cellule en courant. Plus le courant IdmAx atteint par ce pic est important, plus le transistor à grille flottante et les pompes de charge de la mémoire occupent une surface de circuit importante. Avec une impulsion de tension rectangulaire, les 20 pompes de charge fournissent le courant IdmAx durant quelques nanosecondes seulement. Le reste du temps, elles sont sous-utilisées (et donc surdimensionnées). L'optimisation de la programmation d'une cellule mémoire dépend de l'application qui est visée et résulte généralement d'un compromis entre les trois paramètres de 25 programmation : l'énergie consommée Ec, la valeur maximale IdmAx du courant de drain et la fenêtre de programmation PW. Par exemple, pour une mémoire économe en énergie, on cherchera à diminuer autant que possible l'énergie consommée Ec, au détriment de la valeur maximale IdmAx du courant de drain et/ou de la fenêtre de programmation PW. Au contraire, pour une mémoire de forte densité d'intégration, le 30 transistor à grille flottante de la cellule mémoire doit être le plus petit possible. On cherchera donc à réduire le courant maximal de drain IdmAx dont dépendent les dimensions du transistor. En contrepartie, l'énergie Ec consommée par la cellule sera plus élevée. 3035536 5 Pour optimiser la programmation de la cellule mémoire compte tenu de l'application visée, on peut adapter son procédé de fabrication et/ou jouer sur la forme de l'impulsion de tension appliquée sur la grille de contrôle. 5 Dans le document ["Push the flash floating gate memories toward the future low energy application", V. Della Marca et al., Solid-State Electronics 79, pp.210-217, 2013], différentes formes d'impulsion de tension sont étudiées. Les impulsions sont de type rectangulaire (« box pulse »), c'est-à-dire formées d'un plateau, de type 10 rampe ou constituée de la combinaison d'une rampe et d'un plateau. Pour chaque forme d'impulsion, son impact sur la consommation énergétique Ec, la fenêtre de programmation PW et le courant maximal de drain IdmAx est déterminé expérimentalement. 15 Les résultats de cette étude permettent de choisir la forme d'impulsion de tension donnant le meilleur compromis entre les trois paramètres de programmation (dans les limites du cahier des charges fixé par le fabricant selon l'application visée), et donc de déterminer les conditions optimales de programmation. Il s'agit cependant que d'une approche a posteriori pour déterminer les conditions de programmation. 20 Cette approche requiert de tester de nombreuses impulsions de tension pour en obtenir une qui satisfasse les trois paramètres de programmation. RESUME DE L'INVENTION 25 Il existe donc un besoin de prévoir un procédé simple et rapide pour déterminer l'impulsion de tension à appliquer sur la grille de contrôle d'une cellule mémoire flash de type NOR pour programmer cette cellule de façon optimale, compte tenu d'un jeu de paramètres comprenant une valeur cible de la fenêtre de programmation et une valeur cible du courant de drain de la cellule mémoire. 30 Selon l'invention, l'impulsion de tension optimale est définie par une rampe de tension, depuis un niveau de tension initial non-nul pendant une durée de programmation. Le procédé de détermination de cette impulsion comprend les 3035536 6 étapes suivantes : - mesurer dynamiquement le courant de drain de la cellule mémoire lorsqu'une impulsion de tension de forme rectangulaire est appliquée sur la grille de contrôle ; 5 - prévoir un transistor équivalent à la cellule mémoire et comprenant une électrode de grille et une électrode de drain, de sorte que le courant de drain du transistor est égal au courant de drain de la cellule mémoire lorsque l'électrode de grille du transistor est portée à un potentiel égal au potentiel de la grille flottante de la cellule mémoire ; 10 - mesurer dynamiquement le courant de drain du transistor en fonction du potentiel de l'électrode de grille du transistor ; - déterminer le potentiel de la grille flottante lors de l'impulsion de tension de forme rectangulaire, à partir de la mesure du courant de drain de la cellule mémoire et de la mesure du courant de drain du transistor ; 15 - déterminer, respectivement à partir de la valeur cible de courant de drain, du potentiel de la grille flottante lors de l'impulsion de tension de forme rectangulaire et de la valeur cible de fenêtre de programmation, le niveau de tension initial, la pente de la rampe de tension et la durée de programmation, de sorte que le courant de drain de la cellule mémoire pendant l'impulsion de tension optimale 20 soit sensiblement égal à la valeur cible de courant de drain. En outre, pendant la mesure du courant de drain de la cellule mémoire, le drain de la cellule mémoire est porté à un potentiel constant identique à celui de l'électrode de drain du transistor pendant la mesure du courant de drain du transistor. 25 Les impulsions de tension susmentionnées sont appliquées sur la grille de contrôle de la cellule mémoire. On pourra donc également les appeler « impulsions de grille ». Grâce à ce procédé, on obtient une impulsion de grille permettant de maintenir une 30 efficacité de programmation constante tout au long de la programmation. On appelle efficacité de programmation le rapport entre la charge électrique stockée dans la grille flottante et celle « perdue » dans le drain. Une efficacité constante se traduit par des courants de grille et de drain constants. Cela permet notamment de profiter 3035536 7 pleinement des capacités des pompes de charge alimentant la cellule mémoire flash. Le courant de grille du transistor à grille flottante est le courant d'électrons à travers l'oxyde tunnel jusqu'à la grille flottante. Il détermine la vitesse à laquelle on écrit la cellule mémoire flash. 5 L'impulsion de grille optimale satisfait bien sûr les paramètres de programmation de la cellule mémoire flash, autrement dit le cahier des charges fixé par le fabricant de la cellule, puisqu'elle a été déterminée à partir de ces paramètres. 10 Cette détermination « a priori » de l'impulsion optimale, c'est-à-dire du niveau de tension initial de la rampe, de la pente de la rampe et de la durée de la programmation, est rendue possible grâce au fait qu'on utilise un transistor équivalent pour mesurer le potentiel de la grille flottante de la cellule mémoire. Dès lors qu'on connait le potentiel de la grille flottante, plusieurs méthodes, graphiques ou 15 numériques, permettent de déterminer la pente et la durée de l'impulsion optimale. Le procédé de détermination selon l'invention peut également présenter une ou plusieurs des caractéristiques ci-dessous, considérées individuellement ou selon toutes les combinaisons techniquement possibles : 20 - le niveau de tension initial est déterminé à partir de la mesure du courant de drain de la cellule mémoire au début de l'impulsion de tension de forme rectangulaire, en relevant la valeur du potentiel appliqué sur la grille de contrôle de la cellule mémoire pour laquelle le courant de drain est égal à la valeur cible de courant de drain de la cellule mémoire ; 25 - la pente de la rampe de tension est déterminée à partir de la dérivée du potentiel de la grille flottante, quand le potentiel de la grille flottante atteint une valeur cible du potentiel de la grille flottante correspondant à la valeur cible de courant de drain ; - la durée de programmation est déterminée à partir de la valeur cible de 30 fenêtre de programmation et de la pente de la rampe de tension ; et - le transistor équivalent à la cellule mémoire à programmer est constitué d'une cellule mémoire flash de test, de géométrie identique à la cellule mémoire flash à programmer, ayant une grille flottante et une grille de 3035536 8 contrôle en court-circuit. Un autre aspect de l'invention concerne un produit programme d'ordinateur comportant des instructions pour mettre en oeuvre le procédé de détermination décrit 5 ci-dessus, lorsqu'il est exécuté par un ordinateur. BREVES DESCRIPTION DES FIGURES D'autres caractéristiques et avantages de l'invention ressortiront clairement de la 10 description qui en est donnée ci-dessous, à titre indicatif et nullement limitatif, en référence aux figures annexées, parmi lesquelles : - la figure 1, précédemment décrite, représente une cellule mémoire flash selon l'art antérieur ; - la figure 2, précédemment décrite, représente le courant de drain et la tension 15 de grille de la cellule de la figure 1 en fonction du temps, lors d'une programmation classique de cette cellule ; - la figure 3 représente une impulsion de tension permettant de programmer la cellule mémoire flash de façon optimale ; - la figure 4 représente la cellule mémoire flash de la figure 1 et un transistor 20 équivalent à cette cellule mémoire flash ; - les figures 5A à 5C représentent des étapes d'un procédé de détermination d'une impulsion de tension optimale selon l'invention, permettant de déterminer le potentiel de la grille flottante de la cellule mémoire flash lors de la programmation classique ; 25 - la figure 6 représente une étape permettant de déterminer le niveau de tension initial de l'impulsion de la figure 3, d'après un mode de mise en oeuvre préférentiel du procédé selon l'invention ; - les figures 7A et 7B représentent des étapes permettant de déterminer la pente de la rampe dans l'impulsion de la figure 3, d'après le mode de mise en 30 oeuvre préférentiel du procédé selon l'invention ; - la figure 8 est un exemple de mise en oeuvre du procédé de détermination selon l'invention, montant trois impulsions de tension optimales et le courant de drain de la cellule mémoire lorsque ces impulsions servent à programmer 3035536 9 la cellule mémoire flash ; - la figure 9 est un abaque représentant le compromis entre les performances de la cellule mémoire flash, en termes de consommation électrique, de courant de drain et de fenêtre de programmation. Pour plus de clarté, les éléments identiques ou similaires sont repérés par des signes de références identiques sur l'ensemble des figures. Par ailleurs, sur certaines des figures, les courants et potentiels électriques sont exprimés en unité arbitraire (« a.u. », pour « arbitrary unit » en anglais). DESCRIPTION DETAILLEE D'AU MOINS UN MODE DE REALISATION Dans la description qui suit, on appelle « cellule mémoire flash » une mémoire EEPROM-Flash unitaire (i.e. d'une capacité de 1 bit) de type NOR. Cette cellule peut 15 être embarquée dans un circuit de test, pour développer et qualifier la technologie EEPROM-Flash, ou constituée la base d'un circuit mémoire flash. Un circuit mémoire flash, ou matrice mémoire, comprend une pluralité de ces cellules mémoire arrangées en lignes et en colonnes. Les circuits mémoire EEPROM-Flash de type NOR équipent aujourd'hui de nombreux dispositifs électroniques, par exemple les 20 téléphones portables, pour stocker tout type d'informations, en particulier des programmes. Comme décrit précédemment (Fig.1), une cellule mémoire flash est munie d'un transistor comprenant une grille de contrôle, une grille flottante, des régions de drain 25 et de source formées dans un substrat semi-conducteur. La grille de contrôle, le drain, la source et le substrat constituent des électrodes de commande, notées respectivement G, D, S et B. Ces électrodes permettent de polariser le transistor pour réaliser des opérations de programmation (ou écriture), d'effacement ou de lecture de la cellule mémoire. On notera ci-après le potentiel d'une électrode ou le 30 courant traversant une électrode par le symbole approprié du potentiel ou du courant (V ou l), suivi de la lettre désignant l'électrode. Par exemple, « Vg » désigne le potentiel de la grille de contrôle G et « Id » désigne le courant dans l'électrode de drain D. 5 10 3035536 10 Dans cette cellule mémoire flash, le potentiel VFG(t) de la grille flottante au cours du temps dépend des polarisations Vg(t) et Vd(t) du transistor - respectivement sur la grille de contrôle G et sur le drain D - et de la charge d'électrons QFG(t) dans la grille 5 flottante. Il s'écrit : VFG(t) = aG. V g (t) + ap. Vd(t) + QFG(t) Ctot (1) Dans la relation ci-dessus, aG et ai) sont respectivement les facteurs de couplage de la grille de contrôle et du drain (fixés par l'architecture de la cellule), et Ctot est la capacité totale de la cellule. 10 Ainsi, lorsque la cellule est habituellement programmée à un potentiel Vd(t) constant (Vd(t) = VdpRoG) et à un potentiel Vg(t) constant, l'évolution du potentiel VFG(t) de la grille flottante ne dépend que de la charge d'électrons QFG(t) dans la grille flottante. La diminution de cette charge (ou son augmentation en valeur absolue, la charge QFG(t) étant négative) au cours de la programmation provoque donc une diminution 15 du potentiel VFG(t) de la grille flottante. Cela explique d'une part l'augmentation de la tension de seuil du transistor à grille flottante et d'autre part la diminution du courant de drain Id(t), lorsqu'une impulsion de grille rectangulaire est appliquée sur l'électrode de grille (Fig.2). 20 Plutôt que d'appliquer une impulsion de grille rectangulaire, on souhaite appliquer sur la grille de contrôle de la cellule mémoire une impulsion de tension permettant de maintenir une efficacité de programmation constante pendant toute la durée de programmation, autrement dit des courants de drain Id(t) et de grille Ig(t) constants pendant la programmation. Un courant de drain Id(t) constant implique un 25 potentiel VFG(t) de la grille flottante constant. Il en découle l'équation suivante (tirée de la relation (1) précédente) : dVFG(t)dV g (0 1 d Q FG (t) = ° = ceG- + dt dt Ctot dt d'où : dV g (t)1 d QFG (t) = I g (t) dt = ac. Ctot dt aG. Ctot = cte (2) 3 0 3 5 5 3 6 11 Il apparait donc qu'une augmentation linéaire du potentiel Vg(t) pendant la programmation est nécessaire pour assurer une efficacité de programmation constante. 5 La figure 3 montre la forme de l'impulsion de grille 30 permettant cette programmation optimale de la cellule mémoire flash. L'impulsion 30 comprend, depuis un niveau de tension initial Vgstart non-nul, une rampe 31 de pente S positive. La durée de l'impulsion 30, notée tpuise, est la durée de programmation et correspond io à la période de temps t où le potentiel Vg est non-nul, c'est-à-dire à la durée de la rampe 31. Cette forme d'impulsion de grille permet de compenser la diminution de la charge QFG dans la grille flottante liée au piégeage des électrons, lors de la programmation 15 de la cellule mémoire. En effet, en augmentant progressivement le potentiel Vg(t) appliqué sur la grille de contrôle de la cellule mémoire, on augmente la valeur du paramètre aG.V g (0 dans la relation du potentiel VFG(t) (relation (1)). Déterminer l'impulsion de grille 30 optimale pour programmer la cellule mémoire 20 flash consiste à déterminer la pente S de la rampe, le niveau de tension initial Vgstart et la durée de l'impulsion tpuise, en se fixant comme objectif d'atteindre une valeur cible de la fenêtre de programmation, notée PWTG, et la valeur cible Id-1-0 du courant de drain (c'est-à-dire la valeur à laquelle on souhaite maintenir le courant de drain Id(t)). Au moins l'un de ces paramètres, la pente S, requiert au préalable de 25 déterminer le potentiel VFG(t) de la grille flottante lors d'une programmation classique. Par « programmation classique », on entend une programmation au moyen d'une impulsion de grille de forme rectangulaire. La détermination du potentiel VFG(t) repose sur l'utilisation d'un transistor équivalent 30 à la cellule mémoire dont on veut optimiser la programmation. La figure 4 représente schématiquement ce transistor équivalent 40 (nommé également TREQ), aux côtés de la cellule mémoire flash 10 de la figure 1. Comme la 3035536 12 cellule mémoire 10, le transistor 40 comprend une électrode de grille G' et une électrode de drain D'. Le transistor 40 est configuré de sorte que son courant de drain IdTREQ soit égal au courant de drain Id de la cellule mémoire 10, lorsque l'électrode de grille G' du transistor 40 est portée à un potentiel VgTREQ égal au 5 potentiel de la grille flottante VFG de la cellule mémoire 10 et lorsque l'électrode de drain D' du transistor 40 est porté au même potentiel que le drain de la cellule 10 (Vd = VerREQ = VdPROG)- Le transistor équivalent 40 est, de préférence, constitué d'une cellule mémoire flash 10 de test, de géométrie identique à la cellule mémoire flash 10, et dans laquelle la grille flottante et la grille de contrôle sont en court-circuit. La grille flottante et la grille de contrôle de cette cellule de référence forment ainsi l'électrode de grille G' du transistor équivalent 40. 15 Les figures 5A à 5C représentent trois étapes F1 à F3 d'un procédé permettant de déterminer l'impulsion de grille optimale 30 de la figure 3, compte tenu des paramètres de programmation PWTG et Id-1-0. Ces étapes F1 à F3 visent à déterminer, à l'aide du transistor équivalent 40, le potentiel VFG(t) de la grille flottante lors d'une programmation classique de la cellule mémoire 10. 20 A l'étape F1 de la figure 5A, le courant de drain Id de la cellule mémoire flash 10 est mesuré dynamiquement, pendant qu'une impulsion de tension 20 rectangulaire est appliquée sur l'électrode de grille de la cellule (potentiel Vg(t)). Le drain de la cellule mémoire est porté à un potentiel VdpRoG, par exemple égal à 4 V, au moins pendant 25 toute la durée de l'impulsion 20. Cette mesure s'effectue de préférence à l'aide d'un appareil PIV (« Pulsed I-V system » en anglais) ou FMU (« Fast Measurement Unit »), en relevant par exemple un point toutes les 10 ns. On peut citer à titre d'exemple le modèle FMU « B1530 » commercialisé par la société « Keysight Technologies » ou le modèle PIV « 4225-RPM » commercialisé par la société 30 REVENDICATIONS1. Procédé de détermination d'une impulsion de tension optimale (30) pour programmer une cellule mémoire flash (10) de type NOR comprenant une grille flottante (15), une grille de contrôle (14) et un drain (13), ladite impulsion de tension optimale, à appliquer sur la grille de contrôle de la cellule mémoire, étant définie par une rampe de tension (31) depuis un niveau de tension initial non-nul (Vgstart) pendant une durée de programmation (tpuise), le procédé comprenant les étapes suivantes : - fournir un jeu de paramètres comprenant une valeur cible de fenêtre de programmation (PWTG) et une valeur cible de courant de drain (Id-1-0) de la cellule mémoire (10) ; - mesurer (F1) dynamiquement le courant de drain (Id) de la cellule mémoire lorsqu'une impulsion de tension de forme rectangulaire (20) est appliquée sur la grille de contrôle (14) ; - prévoir un transistor (40) équivalent à la cellule mémoire (10) et comprenant une électrode de grille (G') et une électrode de drain (D'), de sorte que le courant de drain (IdTREQ) du transistor est égal au courant de drain (Id) de la cellule mémoire lorsque l'électrode de grille (G') du transistor est portée à un potentiel (VgTREQ) égal au potentiel de la grille flottante (VFG) de la cellule mémoire ; - mesurer (F2) dynamiquement le courant de drain (IdTREQ) du transistor en fonction du potentiel (VgTREQ) de l'électrode de grille (G') du transistor (40) ; - déterminer (F3) le potentiel de la grille flottante (VFG) lors de l'impulsion de tension de forme rectangulaire (20), à partir de la mesure du courant de drain (Id) de la cellule mémoire (10) et de la mesure du courant de drain (IdTREQ) du transistor (40) ; - déterminer, respectivement à partir de la valeur cible de courant de drain (Id-TG), du potentiel de la grille flottante (VFG) lors de l'impulsion de tension de forme rectangulaire (20) et de la valeur cible de fenêtre de programmation (PWTG), le niveau de tension initial (Vgstart), la pente (S) de la rampe de tension (31) et la durée de programmation (tpuise), de sorte que le courant de drain (Id) de la cellule mémoire (10) pendant l'impulsion de tension optimale (30) soit sensiblement égal à la valeur cible de courant de drain (Id-ro) ; 3035536 21 et dans lequel le drain (D) est porté, pendant la mesure du courant de drain (Id) de la cellule mémoire (10), à un potentiel constant (VdpRoG) identique à celui de l'électrode de drain (D') pendant la mesure du courant de drain (IdTREo) du transistor (40). 5 2. Procédé selon la revendication 1, dans lequel le niveau de tension initial (Vgstart) est déterminé à partir de la mesure du courant de drain (Id) de la cellule mémoire (10) au début (50) de l'impulsion de tension de forme rectangulaire (20), en relevant la valeur du potentiel (Vg) appliqué sur la grille de contrôle (G) de la cellule mémoire 10 pour laquelle le courant de drain est égal à la valeur cible de courant de drain (Id-1-0) de la cellule mémoire. 3. Procédé selon l'une des revendications 1 et 2, dans lequel la pente (S) de la rampe de tension (31) est déterminée (F43) à partir de la dérivée du potentiel (VFG) 15 de la grille flottante, quand le potentiel (VpG) de la grille flottante atteint une valeur cible (VFG-TG) du potentiel de la grille flottante correspondant à la valeur cible de courant de drain (Id-r0). 4. Procédé selon l'une quelconque des revendications 1 à 3, dans lequel la durée 20 de programmation (tpuise) est déterminée à partir de la valeur cible de fenêtre de programmation (PWTG) et de la pente (S) de la rampe de tension (31). 5. Procédé selon la revendication 4, dans lequel la durée de programmation (tpuise) est calculée à l'aide de la relation suivante : tpulse PWTG = S 25 où PWTG est la valeur cible de fenêtre de programmation et S la pente de la rampe de tension (31). 6. Procédé selon l'une quelconque des revendications 1 à 5, dans lequel le transistor (40) équivalent à la cellule mémoire à programmer (10) est constitué d'une 30 cellule mémoire flash de test, de géométrie identique à la cellule mémoire flash à programmer (10), ayant une grille flottante et une grille de contrôle en court-circuit. 3035536 22 7. Produit programme d'ordinateur comportant des instructions pour mettre en oeuvre un procédé selon l'une quelconque des revendications 1 à 6, lorsqu'il est exécuté par un ordinateur. 5