Brevet FR2890485A1 — publié le 20070309

CIRCUIT INTEGRE AYANT UNE MEMOIRE DE DONNEES PROTEGEE CONTRE L'EFFACEMENT UV La présente invention concerne un circuit intégré comprenant une mémoire de données programmable électriquement et des moyens d'exécution de commandes de lecture ou d'écriture de la mémoire. La présente invention concerne notamment les circuits intégrés recevant des données de transaction, notamment les circuits intégrés pour carte à puce de type porte-monnaie électronique, carte téléphonique, carte de transport, etc.. De telles données de transaction ayant une valeur monétaire et formant des sortes de "jetons" utilisables, elles sont souvent la cible des fraudeurs qui tentent de les régénérer après qu'elles ont été utilisées. Les figures lA à 1D illustrent schématiquement un exemple d'utilisation d'une mémoire non volatile de type effaçable et programmable électriquement MEM1 pour former un compteur de données de transaction, ici un compteur de type boulier. Initialement, le compteur comprend une matrice de bits bi,j ayant chacun une valeur initiale, par exemple quatre rangées de quatre bits égaux à 0, chaque bit bi,j appartenant à une rangée horizontale i et une rangée verticale de rang j et représentant une unité de transaction. Chaque fois qu'une unité est utilisée, un bit est mis à 1 de façon irréversible en commençant par exemple par le premier bit à droite de la rangée supérieure puis en passant d'une rangée à l'autre quand les unités d'une rangée ont été utilisées. La figure 1B représente l'aspect du compteur après que 2 unités ont été utilisées, la figure 1C l'aspect du compteur après que 7 unités ont été utilisées et la figure lD l'aspect du compteur une fois que toutes les unités ont été utilisées. Chaque bit bi,j est stocké par une cellule mémoire et le passage de la valeur initiale du bit à la valeur "utilisée", soit ici de 0 à 1, est obtenu en faisant passer la cellule mémoire d'un état initial effacé à un état programmé. Ainsi, un fraudeur souhaitant régénérer la valeur du compteur d'unités tentera d'effacer les cellules mémoire se trouvant dans l'état programmé pour que toutes les unités du compteur soient remises à 0. A cet effet, la technique d'effacement la plus couramment utilisée est l'effacement collectif des cellules mémoire, en exposant la mémoire MEM1 à un faisceau de particules, généralement un faisceau UV (faisceau de lumière ultraviolette). Un tel faisceau UV a pour effet d'extraire des charges électriques des cellules mémoire et de les placer dans un état électrique appelé "état UV". Ceci sera mieux compris en se référant à la figure 2 qui représente un exemple de cellule mémoire Ci,j effaçable et programmable électriquement permettant de stocker un bit bi,j. La cellule mémoire Ci,j comprend un transistor à grille flottante FGT et un transistor d'accès AT, tous deux de type NMOS. Le transistor d'accès a une borne de drain D connectée à une ligne de bit BLj, une grille G connectée à une ligne de mot WLi et une borne de source S connectée à une borne de drain D du transistor FGT. Ce dernier comporte en outre une grille flottante FG, une grille de contrôle CG reliée à une ligne de contrôle de grille CGL, et une borne de source S reliée à une ligne de source SLi. La cellule mémoire Ci,j est mise dans l'état 35 programmé en appliquant par exemple une tension Vpp sur la borne de drain D du transistor FGT, via le transistor d'accès AT, et une tension de plus faible valeur, par exemple OV, sur sa grille de contrôle CG. Des charges électriques sont injectées dans la grille flottante FG et font baisser la tension de seuil Vt du transistor FGT, qui devient généralement négative. La cellule mémoire Ci,j est mise dans l'état effacé en appliquant par exemple la tension Vpp sur la grille de contrôle CG du transistor FGT et une tension de plus faible valeur, par exemple OV, sur sa borne de source S. Des charges électriques sont extraites de la grille flottante FG et la tension de seuil du transistor FGT augmente pour devenir généralement positive. La lecture de la cellule mémoire Ci,j est assurée par un circuit de lecture RCTj relié à la borne de drain D du transistor FGT via la ligne de bit BLj et le transistor d'accès AT. Le circuit RCTj applique à la ligne de bit une tension de polarisation Vpol pendant qu'une tension de lecture Vread est appliquée sur la grille de contrôle CG du transistor FGT. Si le transistor FGT est dans l'état programmé, la cellule mémoire est passante et un courant de lecture Iread supérieur à un seuil déterminé traverse la ligne de bit BLj. Le circuit de lecture RCTj fournit alors un bit bi,j dont la valeur est définie par convention, par exemple 1. Si le transistor FGT est dans l'état effacé, la cellule mémoire n'est pas passante ou est faiblement passante et le circuit de lecture RCTj fournit un bit bi,j de valeur inverse, ici un bit égal à O. La tension de lecture Vread a ainsi un rôle essentiel dans la détermination de la valeur du bit bi,j et doit être supérieure à la tension de seuil Vtp du transistor FGT dans l'état programmé et inférieure à la tension de seuil Vte du transistor FGT dans l'état effacé. Cela apparaît clairement sur la figure 3 qui représente une courbe CP de distribution statistique des tensions de seuil Vtp de cellules mémoire dans l'état programmé et une courbe CE de distribution statistique des tensions de seuil Vte de cellules mémoire dans l'état effacé, l'axe des ordonnées représentant un nombre statistique N de cellules mémoire. La courbe CP est comprise entre deux tensions de seuil négatives Vtpl, Vtp2, par exemple -1,5V et -3,5V, et la courbe CE est comprise entre deux tensions de seuils positives Vtel, Vte2, par exemple 1V et 3V. Entre les deux courbes de distribution CE, CP se trouve une courbe de distribution statistique CUV délimitée à gauche par la tension de seuil Vtpl et à droite par la tension de seuil Vtel. Cette courbe CUV représente la distribution statistique des tensions de seuil de cellules mémoire ayant été effacées par un faisceau UV et se trouvant dans l'état UV. Ainsi, l'effacement UV a un effet différent de l'effacement électrique, puisque les cellules présentent des tensions de seuil qui ne correspondent ni à une tension de seuil d'un transistor à grille flottante programmé électriquement ni à une tension de seuil d'un transistor effacé électriquement. La solution généralement retenue pour contrer un effacement UV frauduleux consiste à utiliser une tension de lecture Vread qui se situe à droite de la courbe de distribution statistique CUV, par exemple la tension Vtel en figure 3 (les courbes CUV, CE étant ici contiguës). Ainsi, toute cellule mémoire ayant été effacée par UV et lue avec la tension Vread=Vtel est dans l'état passant et est vue par le circuit de lecture comme une cellule mémoire programmée. Toutefois, une tension de lecture aussi élevée rend les cellules mémoire fortement passantes (faible résistance série) pendant les phases de lecture, et entraîne un accroissement de la consommation d'énergie électrique. De plus, la tension de lecture doit se stabiliser et se propager à travers divers chemins conducteurs avant d'être appliquée à des cellules mémoire, ce qui impose un temps d'attente non négligeable après la mise sous tension du circuit intégré avant de pouvoir lire des données. Enfin, la tension de lecture étant décalée du côté des tensions de seuil des cellules mémoire effacées (courbe CE), toute dérive de la tension de seuil d'une cellule mémoire effacée au-delà de la tension de lecture se traduit par une erreur de lecture. Cette solution rend ainsi le processus de lecture sensible aux pertes de rétention dans les cellules mémoire effacées. Une autre solution, décrite par EP 1 006 532, est de prévoir une cellule mémoire témoin qui est portée dans un état initial effacé ou programmé et est ensuite lue avec deux tensions de lecture, afin de détecter si la cellule mémoire se trouve bien dans l'état initial ou dans un état intermédiaire correspondant à l'état UV. Cette solution présente l'inconvénient de nécessiter deux tensions de lecture, l'une étant une tension de lecture "standard" et l'autre permettant de détecter si la cellule mémoire est dans l'état UV. Ainsi, la présente invention vise un procédé pour protéger une mémoire de données contre un effacement UV qui n'impose pas l'utilisation d'une tension de lecture supérieure à la tension de seuil de cellules mémoire dans l'état UV et qui n'impose pas l'utilisation de plusieurs tensions de lecture. Cet objectif est atteint par la prévision d'un procédé pour protéger contre un effacement global de données un circuit intégré comprenant une mémoire de données programmable électriquement et une unité de contrôle pour exécuter des commandes de lecture ou d'écriture de la mémoire, comprenant les étapes consistant à prévoir dans le circuit intégré deux groupes de cellules mémoire témoin programmables électriquement comprenant chacun au moins une cellule mémoire témoin; à la mise en service du circuit intégré, enregistrer dans les cellules mémoire témoin d'un premier groupe des bits ayant une première valeur et dans les cellules mémoire témoin d'un second groupe des bits ayant une seconde valeur inverse de la première valeur, les bits du premier et second groupe formant ensemble une combinaison de bits autorisée; pendant le fonctionnement du circuit intégré suivant sa mise en service, lire et évaluer les cellules mémoire témoin, et bloquer le circuit intégré si les cellules mémoire témoin contiennent une combinaison de bits interdite différente de la combinaison autorisée. Selon un mode de réalisation, une combinaison de bits est interdite si les cellules mémoire de chacun des groupes contiennent des bits de même valeur. Selon un mode de réalisation, une combinaison de bits est interdite si toutes les cellules mémoire témoin du premier groupe contiennent des bits ayant la seconde valeur et/ou si toutes les cellules mémoire du second groupe contiennent des bits ayant la première valeur. Selon un mode de réalisation, une combinaison de bits est interdite si au moins une cellule mémoire témoin du premier groupe contient au moins un bit ayant la seconde valeur et si au moins une cellule mémoire témoin du second groupe contient au moins un bit ayant la première valeur. Selon un mode de réalisation, le blocage du circuit intégré comprend le blocage de l'unité de contrôle de manière que celle-ci n'exécute plus aucune commande. Selon un mode de réalisation, on autorise l'exécution par le circuit intégré, après la mise en service du circuit intégré, d'une commande d'écriture des cellules mémoire témoin, pour permettre le blocage volontaire du circuit intégré. Selon un mode de réalisation, la mémoire de données comprend un plan mémoire et dans lequel des cellules mémoires d'une zone du plan mémoire sont utilisées en tant que cellules mémoire témoin. Selon un mode de réalisation, le procédé est appliqué à un circuit intégré dans lequel les cellules mémoire de la mémoire de données et les cellules mémoire témoin comprennent chacune un transistor à grille flottante, et dans lequel les cellules mémoires sont lues avec une tension de lecture de valeur nulle. Selon un mode de réalisation, les cellules mémoire témoin sont lues et évaluées à chaque mise sous tension 15 du circuit intégré suivant sa mise en service. Selon un mode de réalisation, l'évaluation des cellules mémoire est faite au moyen d'un circuit à logique câblée implémentant une fonction logique d'évaluation. La présente invention concerne également un circuit intégré comprenant une mémoire de données programmable électriquement et une unité de contrôle pour exécuter des commandes de lecture ou d'écriture de la mémoire, au moins deux groupes de cellules mémoire témoin programmables électriquement comprenant au moins une cellule mémoire témoin chacun, et des moyens pour bloquer le circuit intégré si les cellules mémoire des deux groupes contiennent des bits de même valeur. Selon un mode de réalisation, le circuit intégré comprend deux cellules mémoire témoin, et des moyens pour bloquer le circuit intégré si les deux cellules mémoire témoin contiennent deux bits de même valeur. Selon un mode de réalisation, le circuit intégré comprend au moins deux groupes de cellules mémoire témoin 35 comprenant au moins deux cellules mémoire témoin chacun, et des moyens pour bloquer le circuit intégré si toutes les cellules mémoire témoin d'un même groupe contiennent des bits de même valeur et si cette valeur est différente d'une valeur attendue pour ce groupe de cellules mémoire témoin. Selon un mode de réalisation, le circuit intégré comprend au moins deux groupes de cellules mémoire témoin comprenant au moins deux cellules mémoire témoin chacun, et des moyens pour bloquer le circuit intégré si une cellule mémoire témoin d'un premier groupe contient un bit dont la valeur est différente d'une valeur attendue pour les cellules mémoire témoin du premier groupe, et si une cellule mémoire témoin d'un second groupe contient un bit dont la valeur est différente d'une valeur attendue pour les cellules mémoire témoin du second groupe. Selon un mode de réalisation, la valeur attendue pour les bits contenus dans les cellules mémoire du premier groupe est l'inverse de la valeur attendue pour les bits contenus dans les cellules mémoire du second groupe. Selon un mode de réalisation, les moyens pour bloquer le circuit intégré comprennent des moyens de lecture et des moyens d'évaluation des cellules mémoire témoin, activés prioritairement à la mise sous tension du circuit intégré et fournissant un signal de blocage de l'unité de contrôle si les cellules mémoire témoin contiennent une combinaison de bits interdite. Selon un mode de réalisation, le circuit intégré comprend des moyens d'évaluation des cellules mémoire témoin comprennent un circuit à logique câblée implémentant une fonction logique d'évaluation. Selon un mode de réalisation, le circuit intégré comprend des moyens pour enregistrer une combinaison de bits autorisée dans les cellules mémoire témoin à la mise en service du circuit intégré, et des moyens pour empêcher ultérieurement l'écriture des cellules mémoire témoin. Selon un mode de réalisation, l'unité de contrôle est configurée pour exécuter une commande d'écriture d'une combinaison de bits interdite dans les cellules mémoire témoin, afin de mettre hors service le circuit intégré. Selon un mode de réalisation, des cellules mémoire de la mémoire de données et les cellules mémoire témoin comprennent chacune un transistor à grille flottante et sont lues en appliquant une tension de lecture de valeur nulle au transistor à grille flottante. Selon un mode de réalisation, la mémoire de données comprend un plan mémoire et les cellules mémoires témoin sont agencées dans une zone dédiée du plan mémoire. Ces objets, caractéristiques et avantages ainsi que d'autres de la présente invention seront exposés plus en détail dans la description suivante du procédé selon l'invention et d'un exemple de réalisation d'un circuit intégré selon l'invention, faite à titre non limitatif en relation avec les figures jointes parmi lesquelles: - les figures lA à lD précédemment décrites illustrent l'utilisation d'une mémoire non volatile en tant que compteur d'unités, - la figure 2 précédemment décrite représente un exemple de structure de cellule mémoire effaçable et programmable électriquement, - la figure 3 précédemment décrite représente des courbes de distribution statistique de tensions de seuils de cellules mémoire se trouvent dans différents états, - la figure 4 représente schématiquement un circuit intégré comprenant des moyens de mise en uvre du procédé de l'invention, - la figure 5 est un organigramme décrivant des étapes du 35 procédé de l'invention, et - la figure 6 représente une variante de réalisation des moyens de mise en oeuvre du procédé de l'invention. La figure 4 représente schématiquement l'architecture d'un circuit intégré ICi comprenant des moyens de mise en oeuvre du procédé selon l'invention. Le circuit intégré comprend un circuit d'interface de communication ICT, une unité de contrôle CTU, une mémoire MEM1 contenant des données de transaction, un générateur de tension VGEN et un circuit CKGEN fournissant un signal d'horloge CK à l'unité de traitement CTU. La mémoire MEM1 comprend un plan mémoire MA, un décodeur d'adresse ADEC, un circuit de programmation PCT, un circuit de sélection SCT et un circuit de lecture RCT. Le plan mémoire MA comprend des cellules mémoire Ci,j effaçables et programmables électriquement agencées selon des lignes horizontales et verticales et reliées à des lignes de mot WLi et à des lignes de bit BLj. La structure de chaque cellule mémoire est par exemple celle décrite plus haut en relation avec la figure 2. Le circuit de programmation PCT comprend des verrous d'effacementprogrammation (non représentés) reliés aux lignes de bit du plan mémoire, sélectionnés par le décodeur ADEC et recevant des données DTW à écrire dans le plan mémoire. Le circuit de lecture RDCT comprend un ou plusieurs amplificateurs de lecture reliés aux lignes de bits du plan mémoire MA par l'intermédiaire du circuit de sélection SCT et fournissant des données DTR lues dans le plan mémoire. Le circuit ICT assure la liaison entre l'unité de contrôle CTU et l'extérieur du circuit intégré, pour la réception de commandes et l'envoi de réponses à des commandes, notamment des commandes de lecture ou d'écriture de la mémoire. Le circuit ICT peut être du type à contact et comprendre simplement une rangée de contacts électriques. Le circuit ICT peut également être du type sans contact ou "RFID" (Radio Frequency Identification). Dans ce cas, le circuit ICT comprend des circuits d'émission/réception de données radiofréquence (circuit d'antenne, circuit modulateur, circuit démodulateur...) qui sont conformes à des normes en vigueur telles que ISO/IEC 14443A/B, ISO/IEC 13693 ou conformes à des spécifications industrielles en cours de normalisation comme la spécification EPCTM-GEN2 ("Radio- Frequency Identity Protocols Class-1 Generation-2 - UHF RFID Protocol for Communications at 860 MHz - 960 MHz") . Le circuit ICT fournit également une tension d'alimentation électrique Vcc au circuit intégré ICi. La tension Vcc est reçue via un contact électrique (mode de réalisation à contact) ou est extraite d'un signal de porteuse alternatif émis par un lecteur de circuit intégré sans contact (mode de réalisation sans contact ou RFID). Ainsi, la tension Vcc apparaît chaque fois que le circuit intégré est utilisé pour réaliser une transaction, après que le circuit intégré a été inséré dans un lecteur de carte à contact ou lorsqu'il se trouve en présence d'un champ magnétique ou électromagnétique émis par un lecteur sans contact. Le générateur VGEN est contrôlé par l'unité CTU et fournit une tension de lecture Vread et une tension d'effacement-programmation Vpp. Le générateur VGEN fournit également de façon automatique un signal POR à la mise sous tension du circuit intégré, lorsque la tension Vcc apparaît. Le signal POR ou "Power On Reset" (signal de remise zéro à la mise sous tension) est appliqué à l'unité de contrôle CTU pour réinitialiser celle- ci. Le signal POR passe par exemple de 0 à 1 (valeur active) pendant une durée déterminée définissant une phase de réinitialisation du circuit intégré, puis repasse à O. Ainsi, l'unité de contrôle CTU est ici remise à zéro à chaque mise sous tension du circuit intégré. L'unité de contrôle CTU comprend une machine d'état à logique câblée LSM conçue pour exécuter les commandes reçues via le circuit ICT. Par exemple, sur réception d'une commande d'écriture de type "WRITE-ADW-DTW", l'unité CTU applique au décodeur ADEC une adresse de lecture ADW incluse dans la commande, applique au circuit de programmation PCT des données DTW à écrire dans le plan mémoire MA, également incluses dans la commande, applique la tension Vpp au circuit PCT et au décodeur ADEC, et déclenche un cycle d'effacement et de programmation de cellules mémoire. Sur réception d'une commande de lecture de type "READ-ADR", l'unité CTU applique au décodeur ADEC une adresse de lecture ADR incluse dans la commande, applique la tension Vread au décodeur ADEC, lit des données DTR en sortie du circuit RCT et envoie ces données dans une réponse à la commande, via le circuit ICT. Selon l'invention, le circuit intégré IC1 comprend deux groupes Gl, G2 de cellules mémoire témoin TC(Gl), TC(G2) comprenant chacun au moins une cellule mémoire témoin. Ces cellules mémoire TC(Gl), TC(G2) sont agencées ici dans une zone réservée TZ du plan mémoire MA et peuvent être lues par le circuit de lecture RCT. Un circuit d'évaluation EVCT, ici à logique câblée, est connecté à la sortie du circuit de lecture RCT afin de tester le contenu des cellules mémoire témoin. Le circuit EVCT fournit un signal CONT ("continuer") ayant une valeur par défaut égale par exemple à 0. Bien que représenté ici comme distinct de l'unité de contrôle CTU, ce circuit peut en pratique être intégré dans l'unité de contrôle. Au moment de la mise en service du circuit intégré, 35 les cellules mémoire témoin d'un groupe, par exemple les cellules TC(Gl) du groupe G1, sont configurées dans l'état effacé, et les cellules mémoire témoin TC(G2) de l'autre groupe G2 sont configurées dans l'état programmé. La machine d'état LSM de l'unité de contrôle CTU est configurée pour exécuter prioritairement une séquence de lecture et d'évaluation des cellules mémoire TC(Gl), TC(G2) après avoir été remise à zéro par le signal POR, et se placer ensuite dans un état de blocage si le signal CONT ne présente pas une valeur d'évaluation positive, par exemple la valeur 1 si la valeur par défaut de ce signal est O. Une telle séquence de lecture et d'évaluation des cellules mémoire témoin est prévue de façon inconditionnelle dans les cycles de changement d'états de la machine d'état LSM et ne peut être contournée, sauf au cours d'une phase de mise en service du circuit intégré où les cellules mémoire témoin sont configurées. Au terme de la phase de mise en service, une action est effectuée pour rendre incontournable la séquence de lecture et d'évaluation. Cette action est ici le claquage d'un fusible FS représenté sur la figure 4. Le fusible FS est initialement dans l'état passant et applique la valeur logique 1 (Vcc) à une entrée de la machine d'état LSM. Tant que le fusible n'est pas claqué, la machine d'état LSM n'exécute pas la séquence de lecture et d'évaluation. Lorsque le fusible est claqué, la séquence de lecture et d'évaluation est définitivement activée en tant que séquence prioritaire à effectuer après chaque remise à zéro. La séquence de lecture et d'évaluation des cellules mémoire témoin est illustrée par un organigramme en figure 5 et comprend des étapes 100, 110, 120 et 130. L'étape 100 ("READ TC(Gl), TC(G2)") ou étape de lecture des cellules mémoire témoin de chaque groupe, est effectuée par l'unité de contrôle CTU après que le signal POR passe de 1 à 0 (fin de la période de remise à zéro). L'unité CTU applique au décodeur d'adresse AREC l'adresse de la zone mémoire TZ et active le circuit de lecture RCT. Celui-ci fournit des bits témoin TB(Gl), TB(G2) lus dans les cellules mémoire témoin de chaque groupe. A l'étape 110 ("VAL TB(Gl), TB(G2)"), le circuit d'évaluation EVCT détermine si les bits témoin TB(Gl), TB(G2) forment ensemble une combinaison autorisée. Dans l'affirmative, le circuit EVCT met à 1 le signal CONT, sinon le circuit EVCT laisse le signal CONT à 0. Si le signal CONT reste à 0, la machine d'état LSM de l'unité de contrôle CTU est aiguillée vers l'étape 120 ("BLOCKED") qui correspond à un état de blocage dans lequel elle n'exécute plus aucune opération, de sorte que le circuit intégré est entièrement bloqué jusqu'à une nouvelle remise sous tension. Si le signal CONT passe à 1, l'unité de contrôle CTU est aiguillée vers l'étape 130 ("ACTIVE STATE") où elle se place dans un état actif. Cet état actif peut consister dans l'attente d'une commande, le circuit intégré étant prêt à exécuter une transaction, ou comprendre des opérations à réaliser avant d'exécuter la première commande (par exemple vérifier si le plan mémoire MA contient encore des unités non utilisées). Selon l'invention, le test des cellules mémoire témoin TB(Gl), TC(G2) par le circuit EVCT permet de déterminer si le circuit intégré a fait l'objet d'un effacement global aux UV (ou tout faisceau de particules ayant pour effet de placer les cellules mémoire dans l'état UV, Cf. courbe CUV en figure 3). En effet, les cellules mémoire témoin TC(Gl) du groupe G1 ayant été configurées dans l'état effacé et les cellules mémoire témoin TC(G2) du groupe G2 configurées dans l'état programmé, les bits témoin TB(Gl) du groupe G1 et les bits témoin TB(G2) du groupe G2 doivent en principe présenter des valeurs binaires inverses, par exemple "0" pour les bits TB(Gl) et "1" pour les bits TB(G2). Dans le cas contraire, et notamment si ces bits sont égaux, un effacement W est suspecté. Le tableau 1 ci-après illustre la mise en oeuvre du procédé de l'invention lorsque deux cellules mémoire témoin TC1, TC2 sont prévues, la cellule TC1 ayant été effacée et la cellule TC2 programmée à la mise en service du circuit intégré. La combinaison attendue à la lecture des cellules mémoire témoin est ainsi "01" si "1" est la valeur logique d'une cellule mémoire programmée. Le signal CONT est laissé à 0 si les bits TB1, TB2 lus dans les cellules mémoire témoin TC1, TC2 sont identiques, c'est- à-dire s'ils sont tous deux égaux à 1 ou égaux à 0, ce qui est considéré ici comme signifiant que le circuit intégré a été exposé à un faisceau de particules ayant altéré leur état initial. La lecture de la combinaison "10" inverse de la combinaison attendue 01 est également considéré comme suspecte est le signal CONT est également laissé à 0 si cette combinaison est lue dans les cellules mémoire témoin. Notons que le circuit EVCT est réalisable simplement sous forme de circuit à logique combinatoire implémentant une fonction logique d'évaluation "Fev" telle que: CONT = Fev(TB(Gl),TB(G2). Tableau 1 Groupe G1 Groupe G2 Combinaison TB1 TB2 CONT = Fev(TB1, TB2) lue 0 0 0 0 1 (état 0 1 1 initial) 2 1 0 0 3 1 1 0 Le tableau 2 ci-après illustre la mise en oeuvre de l'invention lorsque quatre cellules mémoire témoin TC11 (groupe Gl), TC12 (groupe Gl), TC21 (groupe G2), TC22 (groupe G2) sont utilisées. A la mise en service du circuit intégré, les cellules TC11, TC12 sont effacées (écriture d'un 0) et les cellules TC21, TC22 sont programmées (écriture d'un 1). La combinaison attendue à la lecture des cellules mémoire, formée par des bits témoin TB11, TB12, TB21, TB22, est ainsi 0011 (soit 3h en notation hexadécimale). Ce mode de réalisation à quatre cellules mémoire offre une grande souplesse dans la mise en oeuvre de l'invention car il permet de tolérer des pertes de charges électriques accidentelles ("retention loss") dans les grilles flottantes de cellules mémoire, altérant leur état initial, sans que cela ne provoque le blocage du circuit intégré. A cet effet, plusieurs niveaux de tolérance sont 20 envisageables: -tolérance de niveau 0 (aucune tolérance) : le signal CONT est mis à 1 si et uniquement si la combinaison de bits lue dans les cellules mémoire témoin est égale à 0011 (état initial), - tolérance de niveau 1: le signal CONT est également mis à 1 si un bit et un seul parmi les bits témoin présente une valeur différente de la valeur attendue. Une évaluation avec tolérance de niveau 1 est représenté dans le tableau 2: les combinaisons 1h, 2h, 7h, Bh (notation hexadécimale) sont considérées comme valables et le signal CONT est mis à 1. - tolérance de niveau 2: le signal CONT est également mis à 1 si un bit et un seul dans chaque groupe présente une valeur différente de la valeur attendue. Les combinaisons correspondantes sont repérées par le signe "*" dans le tableau 2: les combinaisons 5h, 6h, 9h, Ah seraient considérées comme valables et le signal CONT serait mis à 1 si le niveau de tolérance 2 était retenu. La défaillance de deux cellules mémoire témoin sur quatre étant toutefois peu probable, une évaluation des cellules mémoire témoin avec le niveau 1 de tolérance est préférée. En tout état de cause, quel que soit le niveau de tolérance aux pertes de charges électriques, le fait que toutes les cellules mémoire d'un même groupe G1 ou G2 présentent des bits ayant une valeur inverse de la valeur attendue (soit ici Oh, 4h, 8h, Ch, Dh, Eh, Fh) provoque le maintien du signal CONT à 0 et le blocage du circuit intégré. Tableau 2 Groupe Gl Groupe G2 Combinaison TB11 TB12 TB21 TB22 CONT = Fev(TB11-TB22) lue Oh 0 0 0 0 0 1h 0 0 0 1 1 2h 0 0 1 0 1 3h (état 0 0 1 1 1 initial) 4h 0 1 0 0 0 5h 0 1 0 1 0(*) 6h 0 1 1 0 0(*) 7h 0 1 1 1 1 8h 1 0 0 0 0 9h 1 0 0 1 0(*) Ah 1 0 1 0 0(*) Bh 1 0 1 1 1 Ch 1 1 0 0 0 Dh 1 1 0 1 0 Eh 1 1 1 0 0 Fh 1 1 1 1 0 En relation avec le problème technique décrit au préambule, un avantage du procédé selon l'invention est de ne pas nécessiter une tension de lecture des cellules mémoire qui soit supérieure à la tension de seuil de cellules mémoire dans l'état UV. Notamment, la tension de lecture Vread peut avantageusement être égale à 0, de sorte que l'étape de lecture des cellules mémoire témoin (figure 5) ainsi que des étapes de lecture du plan mémoire MA peuvent être conduites rapidement sans attendre que la tension Vread ne se stabilise. En référence à la figure 3, supposons qu'après un effacement W la tension de seuil de cellules mémoire initialement programmées (soit les cellules mémoire témoin du groupe G2 et les cellules mémoire contenant des unités utilisées) reste inférieure à 0 malgré l'effacement UV. Dans ce cas, la séquence de lecture et d'évaluation des cellules mémoire témoin ne détectera pas l'effacement UV mais les cellules mémoire contenant des unités utilisées continueront à être vues dans l'état programmé. Par contre, si la tension de seuil des cellules mémoire initialement dans l'état programmé devient supérieure à 0 après l'effacement UV, toutes les données lues dans les cellules mémoire témoin sont égales à 0 et le circuit intégré se bloque au terme de la séquence de lecture et d'évaluation des cellules mémoire témoin. Bien que le mode de réalisation préféré de l'invention comprenne l'utilisation d'une même tension de lecture pour lire chaque type de cellules mémoire, et de préférence une tension nulle, l'homme de l'art notera que l'invention peut néanmoins être mise en oeuvre avec des tensions différentes pour la lecture des cellules mémoire témoin et la lecture des cellules mémoire contenant des données. Par ailleurs, les cellules mémoire témoin pourraient être lues avec deux tensions de lecture pour trancher des cas ambigus tels la lecture des combinaisons 5h, 6h, 9h, Ah dans les quatre cellules mémoire témoin (tableau 2) ou la combinaison "10" dans les deux cellules mémoire témoin (tableau 1). Une telle lecture à deux niveaux de tension serait toutefois exceptionnelle et uniquement dans des situations ambiguës peu probables. Par ailleurs, les cellules mémoire témoin ne sont pas nécessairement agencées dans le plan mémoire comme précédemment décrit. Pour fixer les idées, la figure 6 représente un circuit témoin TCT selon l'invention qui est autonome et distinct de l'unité de contrôle CTU et du plan mémoire MA. Le circuit TCT comprend par exemple: - des cellules mémoire témoin indépendantes du plan mémoire MA, par exemple deux ou quatre cellules mémoire témoin, ici quatre cellules mémoire témoin C11, C12, C21, C22, un circuit TPCT de programmation des cellules mémoire témoin, à la mise en service du circuit intégré, - un circuit de lecture RCT1 relié aux quatre cellules mémoire, - un microséquenceur MSEQ à logique câblée, cadencé par le signal d'horloge CK, qui sélectionne les cellules mémoire en lecture les unes après les autres après que le signal POR passe de 1 à 0, - un registre à décalage SREG recevant sur une entrée série les bits témoin lus dans les cellules mémoire témoin, et est piloté par un signal de décalage SHIFT fourni par le microséquenceur MSEQ, et -le circuit d'évaluation EVCT décrit plus haut, ayant ici des entrées connectées aux sorties parallèles du registre SREG et une sortie fournissant le signal CONT. Selon un mode de réalisation, l'unité de contrôle CTU est prévue pour exécuter une commande de mise hors service du circuit intégré. Une telle commande, en soi connue et désignée généralement commande "KILL", est prévue dans certaines applications afin de rendre le circuit intégré inutilisable après une transaction, par exemple après que les unités contenues dans la mémoire ont été entièrement utilisées ou après un passage en caisse d'un produit identifié par le circuit intégré (application de type étiquette électronique sans compteur d'unités, les données de transaction servant par exemple à identifier le produit et définir son prix). Notons que dans l'art antérieur, la commande KILL est généralement exécutée en modifiant la valeur d'un drapeau dans un registre de configuration du circuit intégré (registre d'état), ce qui verrouille l'unité de contrôle. Ici, les moyens permettant de détecter un effacement UV des données de transaction sont utilisés pour mettre en oeuvre la commande KILL. Ainsi, sur réception de cette commande, l'unité de contrôle CTU accède aux cellules mémoire témoin présentes dans la zone mémoire témoin TZ (fig. 4) ou dans le circuit TCT (fig. 6) et y inscrit une donnée prédéfinie qui correspond à une combinaison interdite provoquant le maintien à 0 du signal CONT lors de la mise sous tension du circuit intégré. Cette combinaison interdite est de préférence l'inverse de la combinaison initiale. Par exemple, quand quatre cellules témoin sont utilisées, la combinaison interdite est "1100" (Cf. tableau 2). Il apparaîtra clairement à l'homme de l'art que la 15 présente invention est susceptible de diverses autres variantes de réalisation. Notamment, l'unité de contrôle CTU peut être un microprocesseur qui exécute prioritairement un sous-programme de lecture et d'évaluation des cellules mémoire après chaque remise à zéro du microprocesseur. Ce sousprogramme est de préférence protégé contre les violations en étant enregistré dans une mémoire non effaçable de type ROM. Le circuit témoin TCT représenté en figure 6 peut également être utilisé en combinaison avec un microprocesseur, pour éviter l'emploi d'un sous-programme. Avec une unité de contrôle à microprocesseur, le signal CONT à 0 peut être utilisé en tant que signal d'interruption prioritaire qui envoie le microprocesseur dans un sous-programme de blocage ou de remise zéro du microprocesseur ("Soft Reset"). Par ailleurs, on a proposé dans ce qui précède que les cellules mémoire témoin soient lues et évaluées à chaque mise sous tension du circuit intégré. Cela est en principe suffisant dans les applications où le circuit intégré est de type passif et est alimenté électriquement uniquement au moment où il est utilisé pour une transaction. Dans des applications où le circuit intégré est alimenté par une source de tension autonome (pile), la séquence de lecture d'évaluation peut être réitérée de façon cyclique, par exemple avec des intervalles de temps réguliers définis par un compteur ou à chaque fois que le circuit intégré reçoit une commande exécutable, avant d'exécuter la commande. La présente invention est également susceptible de ]o diverses applications autres que la protection contre l'effacement de données de transaction ayant une valeur monétaire. L'invention est notamment applicable à la protection de données confidentielles, de mots de passe, de données d'identifications, etc. L'invention est également applicable à divers types de mémoires non volatiles, notamment les mémoires Flash dont les cellules mémoire sont dépourvues de transistor d'accès. REVENDICATIONS 1. Circuit intégré (ICI) comprenant une mémoire de données programmable électriquement (MEM1) et une unité de contrôle (CTU) pour exécuter des commandes de lecture ou d'écriture de la mémoire, caractérisé en ce qu'il comprend: - au moins deux groupes (Gl, G2) de cellules mémoire témoin programmables électriquement(TC(Gl), TC(G2)) comprenant au moins une cellule mémoire témoin chacun (TC11, TC12, TC21, TC22), et - des moyens (CTU, TCT, EVCT, CONT) pour bloquer le circuit intégré si les cellules mémoire des deux groupes contiennent des bits de même valeur. 2. Circuit intégré selon la revendication 1, 15 comprenant: - deux cellules mémoire témoin (TC1, TC2), et - des moyens (CTU, TCT, EVCT, CONT) pour bloquer le circuit intégré si les deux cellules mémoire témoin contiennent deux bits (TB1, TB2) de même valeur. 3. Circuit intégré selon la revendication 1, comprenant: - au moins deux groupes (Gi, G2) de cellules mémoire témoin comprenant au moins deux cellules mémoire témoin 25 chacun (TC11, TC12, TC21, TC22), et - des moyens (CTU, TCT, EVCT, CONT) pour bloquer le circuit intégré si toutes les cellules mémoire témoin d'un même groupe contiennent des bits de même valeur et si cette valeur est différente d'une valeur attendue pour ce groupe de cellules mémoire témoin. 4. Circuit intégré selon l'une des revendications 1 et 3, comprenant: - au moins deux groupes (Gl, G2) de cellules mémoire témoin comprenant au moins deux cellules mémoire témoin chacun (TC11, TC12, TC21, TC22), et - des moyens (CTU, TCT, EVCT, CONT) pour bloquer le circuit intégré si une cellule mémoire témoin d'un premier groupe contient un bit dont la valeur est différente d'une valeur attendue pour les cellules mémoire témoin du premier groupe, et si une cellule mémoire témoin d'un second groupe contient un bit dont la valeur est différente d'une valeur attendue pour les cellules mémoire témoin du second groupe. 5. Circuit intégré selon l'une des revendications 3 et 4, dans lequel la valeur attendue pour les bits contenus dans les cellules mémoire du premier groupe (G1) est l'inverse de la valeur attendue pour les bits contenus dans les cellules mémoire du second groupe (G2). 6. Circuit intégré selon l'une des revendications 1 à 5, dans lequel les moyens pour bloquer le circuit intégré comprennent des moyens de lecture (CTU, TCT) et des moyens d'évaluation (EVCT) des cellules mémoire témoin, activés prioritairement à la mise sous tension du circuit intégré et fournissant un signal de blocage (CONT) de l'unité de contrôle (CTU) si les cellules mémoire témoin contiennent une combinaison de bits interdite. 7. Circuit intégré selon la revendication 6, dans lequel des moyens d'évaluation des cellules mémoire témoin comprennent un circuit à logique câblée (EVCT) implémentant une fonction logique d'évaluation (Fev). 8. Circuit intégré selon l'une des revendications 1 35 à 7, comprenant: des moyens (CTU, PCT, TPCT) pour enregistrer une combinaison de bits autorisée dans les cellules mémoire témoin à la mise en service du circuit intégré, et - des moyens (FS, CTU) pour empêcher ultérieurement l'écriture des cellules mémoire témoin. 9. Circuit intégré selon l'une des revendications 1 à 7, dans lequel l'unité de contrôle (CTU) est configurée pour exécuter une commande (KILL) d'écriture d'une combinaison de bits interdite dans les cellules mémoire témoin, afin de mettre hors service le circuit intégré. 10. Circuit intégré selon l'une des revendications 1 à 9, dans lequel des cellules mémoire de la mémoire de données (MEM1) et les cellules mémoire témoin (TC(Gl), TC(G2), TC1, TC2, TC11, TC12, TC21, TC22) comprennent chacune un transistor à grille flottante (FGT) et sont lues en appliquant une tension de lecture (Vread) de valeur nulle au transistor à grille flottante. 11. Circuit intégré selon l'une des revendications 1 à 10, dans lequel la mémoire de données (MEM1) comprend un plan mémoire (MA) et les cellules mémoires témoin sont agencées dans une zone dédiée (TZ) du plan mémoire. 12. Procédé pour protéger contre un effacement global de données un circuit intégré (ICI) comprenant une mémoire de données programmable électriquement (MEM1) et une unité de contrôle (CTU) pour exécuter des commandes de lecture ou d'écriture de la mémoire, caractérisé en ce qu'il comprend les étapes consistant à : - prévoir dans le circuit intégré deux groupes (G1, G2) de cellules mémoire témoin programmables électriquement comprenant chacun au moins une cellule mémoire témoin (TC1, TC2, TC11, TC12, TC21, TC22), - à la mise en service du circuit intégré, enregistrer dans les cellules mémoire témoin (TC1, TC11, TC12) d'un premier groupe (Gl) des bits ayant une première valeur et dans les cellules mémoire témoin d'un second groupe (TC2, TC21, TC22) des bits ayant une seconde valeur inverse de la première valeur, les bits du premier et second groupe formant ensemble une combinaison de bits autorisée, et - pendant le fonctionnement du circuit intégré suivant sa mise en service, lire et évaluer les cellules mémoire témoin, et bloquer le circuit intégré si les cellules mémoire témoin contiennent une combinaison de bits interdite différente de la combinaison autorisée. 13. Procédé selon la revendication 12, dans lequel une combinaison de bits est interdite si les cellules mémoire de chacun des groupes contiennent des bits de même valeur. 14. Procédé selon l'une des revendications 12 et 13, dans lequel une combinaison de bits est interdite si toutes les cellules mémoire témoin du premier groupe contiennent des bits ayant la seconde valeur et/ou si toutes les cellules mémoire du second groupe contiennent des bits ayant la première valeur. 15. Procédé selon l'une des revendications 12 à 14, dans lequel une combinaison de bits est interdite si au moins une cellule mémoire témoin du premier groupe contient au moins un bit ayant la seconde valeur et si au moins une cellule mémoire témoin du second groupe contient au moins un bit ayant la première valeur. 16. Procédé selon l'une des revendications 12 à 15, dans lequel le blocage du circuit intégré comprend le blocage de l'unité de contrôle (CTU) de manière que celle-ci n'exécute plus aucune commande. 17. Procédé selon l'une des revendications 12 à 16, dans lequel on autorise l'exécution par le circuit intégré, après la mise en service du circuit intégré, d'une commande (KILL) d'écriture des cellules mémoire témoin, pour permettre le blocage volontaire du circuit intégré. 18. Procédé selon l'une des revendications 12 à 17, dans lequel la mémoire de données (MEM1) comprend un plan mémoire (MA) et dans lequel des cellules mémoires d'une zone (TZ) du plan mémoire sont utilisées en tant que cellules mémoire témoin. 19. Procédé selon l'une des revendications 12 à 18, appliqué à un circuit intégré dans lequel les cellules mémoire de la mémoire de données (MEM1) et les cellules mémoire témoin (TC(G1), TC(G2), TC1, TC2, TC11, TC12, TC21, TC22) comprennent chacune un transistor à grille flottante (FGT), et dans lequel les cellules mémoires sont lues avec une tension de lecture (Vread) de valeur nulle. 20. Procédé selon l'une des revendications 12 à 19, dans lequel les cellules mémoire témoin sont lues et évaluées à chaque mise sous tension du circuit intégré suivant sa mise en service. 21. Procédé selon l'une des revendications 12 à 20, dans lequel l'évaluation des cellules mémoire est faite au moyen d'un circuit (EVCT) à logique câblée implémentant une fonction logique d'évaluation (Fev).