Brevet FR2771210A1 — publié le 19990521

PROCEDE DE MISE EN OEUVRE DE LA PREMIERE PROGRAMMATION D'UNE MEMOIRE ET MéMOIRE CORRESPONDANTE La présente se situe principalement dans le domaine des mémoires non volatiles modifiables électriquement et concerne plus particulièrement les mémoires de type "EEPROM". Ces mémoires non volatiles modifiables électriquement offrent une très grande flexibilité d'utilisation et comptent aujourd'hui parmi les mémoires les plus utilisées. Ce type de mémoire comporte deux transistors par cellule mémoire - un transistor de selection et un transistor à grille flottante -, chaque cellule mémoire mémorisant un bit d'information. Il en résulte que ces mémoires ne sont donc pas très avantageuses en terme de place sur silicium et en terme de court. Il existe cependant des mémoires EEPROM de grande capacité - par exemple 1 Mbit - destinées à des applications nécessitant un espace mémoire important. Ces mémoires sont généralement livrées au client dans un état connu : les cellules mémoire sont par exemple toutes placées dans un état effacé. Ensuite, au sein de sa chaîne de production, le client écrit dans la mémoire les données spécifiques à son application. Cette première opération de programmation de la mémoire a une durée relativement importante qui augmente proportionnellement avec la capacité de la mémoire. Cette opération comporte deux cycles successifs, un cycle d'effacement effectuant une mise à 1 de la totalité des cellules du mot à écrire et un cycle de programmation effectuant une mise à O de cellules sélectionnées du mot. Ainsi, si le mot à écrire est par exemple 10101100, les huit bits du mot sont dans un premier temps mis à 1 puis, dans un second temps, les deuxième, quatrième, septième et huitième bits sont mis à 0. Pour réduire la durée de cette première opération de programmation de la mémoire, les fabricants de semiconducteurs cherchent généralement: - soit à réduire la durée du cycle de programmation ou d'effacement des cellules de la mémoire, et - soit à augmenter la taille de la page, c'est-àdire le nombre de cellules mémoire écrites simultanément. Pour réduire la durée du cycle de programmation ou d'effacement d'une cellule mémoire, on peut diminuer la durée d'application de la tension de programmation ou d'effacement sur la cellule mémoire. Il faut néanmoins que cette durée d'application soit suffisante pour ne pas pénaliser la durée de rétention de l'information dans la cellule mémoire. Par ailleurs, on peut également augmenter la valeur de la tension appliquée sur la cellule mémoire afin de diminuer le temps du cycle, cependant on risque de provoquer un stress au niveau de l'oxyde de grille des cellules mémoires. Par conséquent, les limites technologiques des procédés employés pour'fabriquer les mémoires imposent une durée minimale de cycle de programmation. On peut également augmenter la taille de la page c'est-à-dire augmenter le nombre de cellules mémoire écrites simultanément. Cependant, au-delà d'une certaine valeur, la pompe de charge chargée de produire la haute tension nécessaire pour la programmation des cellules, n'est plus en mesure de fournir une tension suffisante. En effet, en augmentant la taille de la page, on augmente la charge capacitive connectée en sortie de la pompe de charge, il faut alors augmenter la sortance de la pompe de charge. Augmenter la taille de la page impose également d'augmenter le nombre de lignes de bit dans la mémoire ainsi que le nombre de circuits de programmation pour programmer les cellules mémoire en parallèle. Il en résulte une augmentation des coûts pour le fabricant. Aussi, l'invention a pour but de proposer une solution pour réduire la durée de la première opération de programmation de la mémoire sans entrainer de surcoût au moment de sa fabrication. Aussi, l'invention a pour objet un procédé de mise en oeuvre de la première opération de programmation d'une mémoire non volatile modifiable électriquement par des opérations de programmation et d'effacement, une opération de programmation des cellules de la mémoire consistant en l'exécution d'un premier algorithme d'effacement avant programmation suivi d'un second algorithme de programmation, lequel procédé est caractérisé en ce qu'il consiste a) à prévoir que la mémoire soit issue de fabrication avec toutes ses cellules dans un même état correspondant à un état effacé, et b) à exécuter pour ladite première opération de programmation de la mémoire uniquement ledit second algorithme de programmation. Pour mettre en oeuvre ce procédé, l'invention concerne également une mémoire non volatile modifiable électriquement par des opérations de programmation et d'effacement, comportant une matrice de cellules mémoires, des moyens d'écriture desdites cellules mémoire pour appliquer sélectivement des tensions de programmation et d'effacement sur un groupe de cellules mémoire sélectionnées par des moyens d'adressage, et des moyens de commande desdits moyens d'écriture, ladite opération de programmation d'une partie des cellules mémoire dudit groupe consistant en l'exécution par lesdits moyens de commande d'un premier algorithme d'effacement avant programmation suivi d'un second algorithme de programmation, ledit premier algorithme consistant à commander lesdits moyens d'écriture pour qu'ils appliquent une tension d'effacement sur l'ensemble des cellules mémoire dudit groupe et le second algorithme consistant à commander lesdits moyens d'écriture pour qu'ils appliquent une tension de programmation sur ladite partie des cellules mémoire du groupe, ladite mémoire étant caractérisée en ce qu'elle comporte des moyens pour la programmer sélectivement en mode normal consistant en une exécution desdits premier et second algorithme, ou bien en mode initialisation consistant en l'exécution du second algorithme seul, ledit mode initialisation étant notamment destiné à être utilisé pour mettre en oeuvre la première opération de programmation de la mémoire telle qu'issue de fabrication avec toutes ses cellules dans un même état correspondant à un état effacé. Cette mémoire permet ainsi de n'exécuter que le second algorithme de programmation lors de la première opération de programmation de la mémoire. Le mode initialisation de la mémoire est de préférence activé par une commande externe basse tension. D'autres caractéristiques et avantages de l'invention apparaîtront à la lecture de la description détaillée qui suit et qui est faite en référence à figure unique. La figure unique représente un exemple de structure d'une mémoire EEPROM adaptée pour en mettre en oeuvre le procédé de l'invention. Pour la suite de la description, il convient de préciser les conventions utilisées: l'état 1 désigne l'état d'une cellule effacée et se rapporte donc à une cellule dont la grille flottante est chargée en électrons; l'état 0 désigne l'état d'une cellule programmée et se rapporte donc à une cellule dont la grille flottante est déplétée en électrons. Selon le procédé de l'invention, le client spécifie au fabricant de mémoires l'état effacé, 0 ou 1, qu'il a choisi pour que les mémoires lui soient livrées dans cet état. Ensuite, la première opération de programmation qui sera effectuée chez le client consistera à exécuter uniquement l'algorithme de programmation. L'algorithme d'effacement avant programmation ne sera pas exécuté. La durée de la première opération de programmation est alors divisée par deux par rapport à une opération de programmation classique. La mémoire mettant en oeuvre ce procédé est représentée sur la figure unique. Elle comporte une matrice de cellules mémoire 1 reliés à un décodeur de lignes 3 et à un décodeur de colonnes 4 associés à des circuits de lecture et d'écriture 5. L'écriture de la matrice 1 est effectuée au moyen d'un circuit de programmation 7 essentiellement constitué d'un oscillateur, d'un élévateur de tension et d'un générateur de rampe. Les décodeurs 3 et 4 sont reliés à un registre d'adresses AD-R. Les circuits de lecture et d'écriture 5 sont reliés respectivement à un registre de données de sortie DTo-R et à un registre de données d'entrée DTi-R. Les registres AD-R, DTo-R et DTi-R communiquent avec un circuit d'interface 6 relié à des lignes externes de données DT et d'adresses AD. L'ensemble est contrôlé par un circuit de commande 2 recevant des signaux externes de commande CD. Le circuit 2 sera par exemple réalisé au moyen d'un réseau logique programmable (PLA) conçu pour fournir les signaux de commande aux différents éléments de la mémoire en fonction des signaux de commande CD. Ce circuit de commande est une machine d'état chargée d'exécuter des algorithmes adaptés aux opérations à effectuer et aux ressources à commander. Selon l'invention, cette mémoire est prévue pour fonctionner selon deux modes : un mode normal et un mode initialisation. En mode normal, une opération de programmation dans la mémoire s'effectue par l'exécution de deux algorithmes successifs: un algorithme d'effacement avant programmation et un algorithme de programmation proprement dit. Ainsi, pour écrire le mot 10101100, on effectue au cours d'un premier cycle une mise à 1 de la totalité des cellules du mot, puis au cours du second cycle une mise à 0 des deuxième, quatrième, septième et huitième cellules du mot. En mode initialisation, seul le deuxième cycle est exécuté. Il est activé lors de la première opération de programmation de la mémoire. Pour la mise en oeuvre du mode initialisation, le circuit de commande 2 est complété par des moyens de détection 8 chargés de détecter des séquences d'activation et de désactivation de ce mode. Lorsque la séquence d'activation est présente sur le bus d'entrée de la mémoire, les moyens de détection 8 envoient alors une information au circuit 2 de manière à placer la mémoire en mode initialisation. Toutes les opérations de programmation sollicitées se limitent alors à l'exécution de l'algorithme de programmation proprement dit. Le mode initialisation est ensuite désactivé par une séquence de désactivation. On pourrait également activer et désactiver le mode initialisation en appliquant un signal haute tension sur le bus de commande, cependant cela nécessiterait des équipements supplémentaires, en plus du programmateur, pour produire ce signal. Le gain de temps résultant de ce procédé peut être très important lorsqu'il s'agit de mémoires de grande capacité. REVENDICATIONS 1. Procédé de mise en oeuvre de la première opération de programmation d'une mémoire non volatile modifiable électriquement par des opérations de programmation et d'effacement, une opération de programmation des cellules de la mémoire consistant en l'exécution d'un premier algorithme d'effacement avant programmation suivi d'un second algorithme de programmation, lequel procédé est caractérisé en ce qu'il consiste a) à prévoir que la mémoire soit issue de fabrication avec toutes ses cellules dans un même état correspondant à un état effacé, et b) à exécuter pour ladite première opération de programmation de la mémoire uniquement ledit second algorithme de programmation. 2. Mémoire non volatile modifiable électriquement par des opérations de programmation et d'effacement, comportant une matrice de cellules mémoires (1), des moyens d'écriture (7) desdites cellules mémoire pour appliquer sélectivement des tensions de programmation et d'effacement sur un groupe de cellules mémoire sélectionnées par des moyens d'adressage (3,4), et des moyens de commande (2) desdits moyens d'écriture, ladite opération de programmation d'une partie des cellules mémoire dudit groupe consistant en l'exécution par lesdits moyens de commande d'un premier algorithme d'effacement avant programmation suivi d'un second algorithme de programmation, ledit premier algorithme consistant à commander lesdits moyens d'écriture pour qu'ils appliquent une tension d'effacement sur l'ensemble des cellules mémoire dudit groupe et le second algorithme consistant à commander lesdits moyens d'écriture pour qu'ils appliquent une tension de programmation sur ladite partie des cellules mémoire du groupe, ladite mémoire étant caractérisée en ce qu'elle comporte des moyens (8) pour la programmer sélectivement en mode normal consistant en une exécution desdits premier et second algorithme, ou bien en mode initialisation consistant en l'exécution du second algorithme seul, ledit mode initialisation étant notamment destiné à être utilisé pour mettre en oeuvre la première opération de programmation de la mémoire telle qu'issue de fabrication avec toutes ses cellules dans un même état correspondant à un état effacé. 3. Mémoire non volatile selon la revendication 2, caractérisée en ce que le mode initialisation de la mémoire est activé par une commande externe basse tension.