Brevet FR2810152A1 — publié le 20011214

MEMOIRE EEPROM SECURISEE COMPRENANT UN CIRCUIT DE CORRECTION D'ERREUR La présente invention concerne les mémoires EEPROM comportant une zone sécurisée non effaçable, notamment les mémoires EEPROM pour circuits intégrés de carte à puce. La présente invention concerne plus particulièrement l'intégration dans de telles mémoires d'un circuit de correction d'erreur. Les mémoires effaçables et programmables électriquement présentes dans les circuits intégrés de carte à puce sont généralement pourvues d'une zone mémoire protégée programmable mais non effaçable, destinée à recevoir des bits OTP, c'est-à-dire des bits dont la valeur ne peut être modifiée que dans un sens. Ainsi, en attribuant par convention la valeur 11011 à un bit effacé et la valeur "1" à un bit programmé, un bit OTP se distingue d'un bit ordinaire en ce qu'il peut être mis à 1 mais ne peut plus ensuite être remis à 0. Les bits OTP trouvent diverses applications liées à la sécurisation de données dans les mémoires et sont généralement utilisés en tant que "jetons" consommables ou pour former des compteurs irréversibles. Par exemple, les bits OTP peuvent être utilisés pour autoriser l'accès à certaines zones mémoire pendant les étapes de personnalisation d'une carte à puce, puis sont tous mis à 1 lorsque la carte à puce est commercialisée afin de bloquer l'accès à des zones mémoire sensibles où se trouvent par exemple des codes secrets. 'irréversibilité de la programmation d'une cellule mémoire comprenant un bit OTP est donc une condition indispensable à l'obtention d'un certain degré de sécurité dans les circuits intégrés de carte à puce. D'autre part, avec l'évolution des technologies et la miniaturisation de plus en plus poussée des circuits intégrés, il est devenu souhaitable d'équiper les mémoires EEPROM d'un circuit permettant de détecter les erreurs intervenant dans le stockage des bits. De telles erreurs sont généralement dues à une altération des caractéristiques électriques rémanentes des cellules mémoires (tension de seuil), et sont plus fréquentes dans les mémoires de dernière génération comportant des transistors à grille flottante ayant des grilles très courtes inférieures à 0,35 micromètre. En pratique, une altération de la caractéristique électrique rémanente d'un cellule mémoire peut se traduire par la lecture d'un bit erroné, par exemple la lecture d'un bit à "0" alors qu'un bit à "1" avait été initialement enregistré. Pour palier cet inconvénient, les mémoires EEPROM sont équipées d'un circuit de correction d'erreur qui associe à chaque mot binaire enregistré un code de correction d'erreur, ou code ECC, généré par exemple au moyen de l'algorithme de Hamming bien connu de l'homme de l'art. Une telle méthode nécessite à chaque modification d'un bit d'un mot binaire l'enregistrement dans la mémoire d'un nouveau code ECC associé au mot binaire considéré. Cette opération s'avère toutefois impossible dans les zones mémoire contenant des bits OTP car l'enregistrement d'un nouveau code ECC nécessite généralement l'effacement et la programmation des cellules mémoires recevant le code, alors que les cellules mémoire d'une zone OTP ne peuvent être effacées. La présente invention vise à palier cet inconvénient, et vise notamment un moyen permettant de détecter et/ou corriger des erreurs de lecture dans la zone sécurisée non effaçable d'une mémoire. Un autre objectif de la présente invention est de prévoir une mémoire comprenant à la fois une zone sécurisée et un système de détection et/ou correction d'erreur qui couvre toute la mémoire. Pour atteindre cet objectif, une première idée de la présente invention est de prévoir pour la zone OTP d'une mémoire un procédé de détection et/ou correction d'erreur de lecture basé sur une redondance de bits, qui ne nécessite pas pour être mis en #uvre l'effacement de cellules mémoire. Une autre idée de la présente invention est de prévoir pour la partie non OTP d'une mémoire un procédé de correction d'erreur de lecture utilisant des codes de correction d'erreur du type code de Hamming. Encore une autre idée de la présente invention est de combiner dans une mémoire un premier circuit de détection et/ou correction d'erreur fonctionnant selon le principe de la redondance simple ou majoritaire et un second circuit de correction d'erreur utilisant des codes de correction d'erreur, en sélectionnant l'un ou l'autre de ces circuits en fonction de l'adresse appliquée à la mémoire, le premier circuit étant dédié à une zone OTP de la mémoire et le second dédié aux zones effaçables de la mémoire. Plus particulièrement, la présente invention prévoit tout d'abord une mémoire effaçable et programmable électriquement comprenant au moins une zone sécurisée non effaçable et des moyens de détection et/ou correction d'erreurs de lecture dans la zone sécurisée, agencés pour enregistrer dans la zone sécurisée des bits redondants et délivrer un signal d'erreur et/ou un bit de valeur majoritaire lorsque des bits redondants lus dans la zone sécurisée ne sont pas égaux. Selon un mode de réalisation, la mémoire comprend en outre des moyens de correction d'erreurs de lecture dans les zones effaçables de la mémoire, agencés pour enregistrer dans la mémoire des codes de correction d'erreur conjointement à l'enregistrement de bits de données, et pour détecter, le cas échéant, la présence d'un bit erroné dans un chaîne de bits lue dans la mémoire, et corriger le bit erroné. Avantageusement, les moyens de détection et/ou correction d'erreurs de lecture dans la zone sécurisée comprennent un premier circuit de détection et/ou correction d'erreur dédié à la zone sécurisée, et les moyens de correction d'erreurs de lecture dans les zones effaçables de la mémoire comprennent un second circuit de correction d'erreur dédié aux zones effaçables et programmables de la mémoire. Selon un mode de réalisation, la mémoire comprend un circuit de sélection agencé pour délivrer un signal de sélection du premier ou du second circuits de détection et/ou correction d'erreurs, en fonction de la valeur d'une adresse appliquée à la mémoire. Selon un mode de réalisation, le circuit de sélection est un circuit de protection de la zone sécurisée, agencé pour délivrer un signal d'inhibition d'une opération d'effacement lorsque l'adresse appliquée à la mémoire correspond à la zone sécurisée. Selon un mode de réalisation, la mémoire comprend dans les zones effaçables de la mémoire, des chaînes de M bits comprenant N1 bits de données et N2 bits de code de correction d'erreur dans la zone sécurisée non effaçable, des chaînes de M bits comprenant M/N3 bits redondants, N3 étant un taux de redondance. Selon un mode de réalisation, les moyens de détection et/ou correction d'erreurs de lecture dans la zone sécurisée sont agencés pour . lorsqu'un bit doit être programmé dans la zone sécurisée, programmer au moins deux bits égaux au bit à enregistrer et, lorsqu'un bit doit être lu dans la zone mémoire sécurisée, lire les bits redondants correspondant au bit à lire, et délivrer un signal d'erreur lorsque les bits redondants ne sont pas égaux. Selon un mode de réalisation, les moyens de détection et/ou correction d'erreurs de lecture dans la zone sécurisée sont agencés pour . lorsqu'un bit doit être programmé dans la zone sécurisée, programmer au moins trois bits égaux au bit à enregistrer et, lorsqu'un bit doit être lu dans la zone mémoire sécurisée, lire les bits redondants correspondant au bit à lire, et délivrer un bit dont la valeur est majoritaire parmi les bits redondants lus. Selon un mode de réalisation, les moyens de détection et/ou correction d'erreurs de lecture dans la zone sécurisée sont agencés pour entrelacer les bits redondants. La présente invention concerne également un circuit intégré comprenant une mémoire effaçable et programmable électriquement selon l'invention, ainsi qu'un objet portatif électronique comprenant un circuit intégré comportant une mémoire effaçable et programmable électriquement selon l'invention. 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 d'une mémoire selon l'invention, faite à titre non limitatif en relation avec les figures jointes parmi lesquelles - la figure 1 représente l'architecture classique d'une mémoire EEPROM comprenant une zone sécurisée non effaçable, - la figure 2 représente l'architecture classique d'une mémoire EEPROM comprenant un circuit de correction d'erreur, - la figure 3 représente l'architecture d'une mémoire selon l'invention, comprenant une zone sécurisée non effaçable et un système de détection et/ou correction d'erreur, - la figure 4 représente l'architecture d'un circuit de détection et/ou correction d'erreur selon l'invention représenté sous forme de bloc en figure 3, - la figure 5 est le schéma logique d'un élément de correction d'erreur représenté sous forme de bloc en figure 4, et - la figure 6 représente schématiquement une carte à puce comportant une mémoire selon l'invention. Rappels concernant les mémoires EEPROM comprenant une zone sécurisée non effaçable A titre de rappel, la figure 1 représente sous forme de blocs l'architecture classique d'une mémoire MEM1 comprenant une zone sécurisée non effaçable de type OTP. La mémoire MEM1 comprend un plan mémoire CMEM, un décodeur de ligne DR et un décodeur de colonne DC recevant respectivement les bits de poids fort ADH et les bits de poids faible ADL des adresses ADR appliquées à la mémoire, un circuit LTC de chargement de données, un circuit de lecture SA et un circuit EPC de contrôle des opérations d'effacement et de programmation du plan mémoire CMEM. Le plan mémoire CMEM est composé classiquement de cellules mémoire agencées en lignes de mots WLi et en lignes de bits, les lignes de bits étant agencées en colonnes pour délimiter dans chaque ligne de mot WLi des mots binaires Wo à WN comprenant chacun M bits, généralement des octets comprenant des bits b7 à b0. Le circuit LTC comprend une pluralité de verrous de programmation ("latchs") prévus pour mémoriser les bits d'un mot Wi à enregistrer dans la mémoire. Le circuit SA comprend des amplificateurs de lecture ("sense amplifiers") pour lire les bits d'un mot Wi sélectionné dans le plan mémoire CMEM. Le circuit EPC reçoit en entrée des signaux de programmation PROG et d'effacement ERASE de la mémoire et délivre au décodeur de ligne DR, au décodeur de colonne DC et au circuit DC une "haute" tension de programmation ou d'effacement Vpp de l'ordre de 15 à 20V. Lorsqu'un mot binaire Wi doit être enregistré dans la mémoire, l'adresse ADR d'enregistrement du mot est appliquée à la mémoire. Les bits b7 à b0 du mot Wi sont chargés dans les verrous circuit LTC et le signal ERASE est appliqué tout d'abord au circuit EPC qui envoie alors au décodeur de ligne DR la tension Vpp d'effacement des cellules désignées par l'adresse ADR. Le signal de programmation PROG est ensuite appliqué au circuit EPC qui envoie au décodeur de colonne DC et aux verrous LTC la tension de programmation Vpp. En résumé, l'enregistrement d'un mot Wj comprend ainsi une étape d'effacement collectif des cellules désignées par l'adresse ADR, qui sont mises à 0 (le "0" étant ici choisi par convention pour désigner l'état effacé) suivie d'une étape de programmation individuelle des cellules devant contenir des bits à "1" du nouveau mot W,, ces cellules étant automatiquement sélectionnées par les verrous du circuit LTC. Dans une telle mémoire, une zone sécurisée non effaçable de type OTP est obtenue de façon simple au moyen d'un circuit de contrôle d'adresse ACC recevant en entrée les adresses ADR appliquée à la mémoire et délivrant un signal VAUD de validation des opérations d'effacement. Le signal VALID est par exemple mis à 0 par le circuit ACC quand une adresse correspondant à la zone OTP est appliquée à la mémoire, ce qui inhibe l'application du signal ERASE au circuit EPC, comme représenté schématiquement sur la figure 1 par une porte ET recevant en entrée les signaux ERASE et VAUD, dont la sortie délivre le signal ERASE au circuit EPC. Rappels concernant les mémoires EEPROM comprenant un circuit de correction d'erreur Toujours à titre de rappel, la figure 2 représente sous forme de blocs l'architecture d'une mémoire MEM2 qui se distingue de la mémoire MEM1 en ce qu'elle comprend un circuit de correction d'erreur ECCT et ne comprend pas de zone sécurisée. Le circuit ECCT présente une entré/sortie ES1 connectée au bus de données DTB de la mémoire et une entrée/sortie ES2 connectée à l'entrée du circuit LTC et à la sortie du circuit SA (par la suite, une entrée/sortie sera désignée "entrée" ou "sortie" selon le contexte de la description). Le circuit ECCT reçoit un signal RD ("Read") qui est à 1 pendant les phases de lecture de la mémoire et un signal WR ("Write") qui est à 1 pendant les phases d'effacement ou programmation. Lorsqu'un mot Wi doit être enregistré dans la mémoire (WR=1), le mot est appliqué sur l'entrée ES1 du circuit ECCT dont la sortie ES2 délivre le mot Wi concaténé avec un code de correction d'erreur ECCi. L'ensemble concaténé ECC,.//W,# forme une chaîne de bits DSj qui est chargée dans le circuit LTC pour être enregistrée dans le plan mémoire CMEM. Le code ECCi est par exemple un code de Hamming de quatre bits permettant de détecter et de corriger un bit erroné parmi douze, de sorte que la chaîne de bits DSj comprend douze bits Es,. = bll b10 b9 b8 b7 b6 b5 b4 b3 b2 b1 b0 parmi lesquels les bits bll à b8 forment le code ECCi et les bits b7 à b0 forment le mot wj. La mémoire MEM2 se distingue donc de la précédente en ce que les lignes de mots WLi du plan mémoire CMEM comprennent des chaînes de bits DSj (DSo à DSN) comprenant chacune un mot binaire Wi et un code ECCj. Ainsi, lorsqu'une chaîne de bits DSi est lue dans la mémoire par le circuit SA (RD=1), le circuit ECCT reçoit la chaîne de bits DSi sur son entrée ES2 et délivre sur sa sortie ES1 les huit bits de données b7-bO contenus dans la chaîne DSj, en corrigeant l'un de ces bits si une erreur de lecture est détectée. Comme on l'a indiqué au préambule, la prévision dans une telle mémoire d'une zone sécurisée non effaçable se heurte au fait que l'enregistrement d'une chaîne de bits comprenant des codes ECC ne peut être fait sans effacement préalable des cellules d'accueil, un code de correction d'erreur pouvant comprendre des bits à 1 ou à 0 qui sont sans relation avec les bits du code précédemment enregistré. L'intégration dans une mémoire d'un circuit de correction d'erreur tel le circuit ECCT est ainsi incompatible avec la prévision d'un zone OTP non effaçable. Description d'une mémoire selon l'invention La figure 3 illustre une mémoire MEM3 selon l'invention qui pallie l'inconvénient mentionné ci- dessus. La structure générale de la mémoire MEM3 est conforme à celles des mémoires MEM1 et MEM2 et ne sera pas décrite à nouveau. On suppose ici que le plan mémoire CMEM de la mémoire MEM3 comprend, comme celui de la mémoire MEM2, des chaînes de bits DSi de 12 bits chacune. La mémoire MEM3 se distingue des mémoires MEM1, MEM2 en ce qu'elle présente à la fois une zone sécurisée OTP et un système de correction d'erreur couvrant tout le plan mémoire CMEM, y compris la zone OTP. Cette zone OTP est protégée en effacement de façon classique par un circuit de contrôle d'adresse ACC délivrant le signal VAUD qui inhibe ou valide les opérations d'effacement (signal ERASE) selon qu'une adresse ADR appliquée à la mémoire correspond ou non à la zone OTP. Selon l'invention, la mémoire MEM3 comprend un premier circuit de correction d'erreur ECCT1 dédié à la gestion des erreurs de lecture dans la zone OTP, et un deuxième circuit de correction d'erreur ECCT2 agencé en parallèle avec le premier, dédié à la gestion des erreurs de lecture dans le reste du plan mémoire CMEM. Chacun des circuits ECCT1, ECCT2 comprend deux entrées/sorties ES1, ES2 et reçoit un signal RD à 1 pendant les périodes de lecture de la mémoire et un signal WR à 1 pendant les périodes d'écriture. L'entrée/sortie ES1 de chaque circuit est connectée au bus de données DTB de la mémoire par l'intermédiaire d'un multiplexeur MUX1, et l'entrée/sortie ES2 est connectée au circuit de chargement de données LTC et au circuit de lecture SA par l'intermédiaire d'un multiplexeur MUX2. Les multiplexeurs MUX1, MUX2 reçoivent sur leur entrée de sélection le signal VALID délivré par le circuit de contrôle d'adresse ACC et sont agencés pour sélectionner l'un ou l'autre des deux circuits ECCT1, ECCT2 selon la valeur de ce signal. Ainsi, lorsqu'une adresse ADR appliquée à la mémoire désigne une chaîne de bits qui se trouve dans la zone OTP, le circuit ECCT1 a son entrée/sortie ES1 connectée au bus de données DTB et son entrée/sortie ES2 connectée aux circuits LTC, SA. Inversement, lorsque l'adresse appliquée ADR ne correspond pas à la zone OTP, c'est le circuit ECCT2 qui a ses entrées/sorties ES1, ES2 connectées au bus de données DTB et aux circuits LTC, SA. Le circuit ECCT2 est un circuit de correction d'erreur classique conforme au circuit ECCT décrit plus haut. Ainsi, en mode écriture de la mémoire (WR=1), le circuit ECCT2 délivre sur sa sortie ES2 des chaînes de bits comprenant huit bits de données b7-bO recopiant un mot binaire Wj reçu sur l'entrée ES1 et quatre bits b11- b8 formant un code de correction d'erreur, par exemple un code de Hamming. En mode lecture de la mémoire (RD=1), le circuit ECCT2 reçoit sur son entrée ES2 une chaîne de bits comprenant un code ECC et huit bits de données b7- b0, qui sont délivrés sur la sortie ES1 éventuellement après correction d'un bit si une erreur de lecture est détectée. Le circuit ECCT1 fonctionne selon un principe de correction d'erreur différent, basé sur une redondance de bits sans codage. En mode écriture de la mémoire (WR=1), le circuit ECCT1 délivre sur sa sortie ES2 des bits recopiant de façon redondante les bits reçus sur l'entrée ES1. Le plan mémoire CMEM étant prévu ici pour enregistrer des chaînes de douze bits, le taux de redondance du circuit ECCT1 est par exemple choisi égal à 3 pour former trois groupes de quatre bits. Ainsi, le circuit ECCT1 duplique 4 bits b3 à b0 reçus sur l'entrée ES1 en douze bits b12' à b0' délivrés sur la sortie ES2, liés aux bits b3 à b0 par les relations suivantes b8' = b4' = b0' = b0 b9' = b5' = b1'= b1 b10' = b6' = b2' = b2 b11' = b7' = b3' = b3 qui définissent une triple redondance avec entrelacement des bits redondants b11' à b0'. Les bits b11' à b0' sont ensuite chargés dans des verrous du circuit LTC puis sont enregistrés dans la mémoire par une simple opération de programmation qui ne nécessite pas d'effacement des cellules mémoires si les règles de manipulation des bits OTP sont respectées. A titre d'exemple, supposons que la zone OTP comprenne une chaîne de bits égale à DSi = 111011101110 En éliminant les redondances, cette chaîne de bits est équivalente à quatre jetons dont trois ont été "utilisés" (bits à 1), un jeton restant disponible (bit à 0) . 1110 Pour "utiliser" le dernier jeton, le mot "1111" est placé à l'entrée ES1 du circuit ECCT1 qui délivre alors sur sa sortie ES2 la chaîne redondante suivante DSj' = 111111111111 Cette chaîne de bits DSj' est chargée dans les verrous correspondants du circuit LTC et est enregistrée à la place de la chaîne de bits précédente DSj. Cette opération ne comprend que l'enregistrement de trois "1" à la place des trois "0" précédents, et ne nécessite qu'une étape de programmation des cellules correspondantes sans effacement de la chaîne de bits précédente. Ainsi, il apparaît clairement que l'enregistrement de bits OTP redondants ne pose aucun problème dans une zone OTP non effaçable. En mode lecture de la mémoire (RD=1), le circuit ECCT1 reçoit en entrée ES2 une chaîne de bits redondants b111-b0' délivrée par le circuit de lecture SA et délivre sur la sortie ES1 les quatre bits initiaux b3-b0. Un erreur de lecture sur un bit se traduit par une inégalité entre les trois bits redondants et le bit délivré sur la sortie ES1 est celui qui est majoritaire sur les trois bits lus. Supposons à titre d'exemple que la chaîne de bits suivante soit délivrée par le circuit de lecture SA sur l'entrée ES1 du circuit ECCT1 DSi = 011101100110 Cette chaîne de bits comprend une erreur de lecture car trois bits qui devraient être égaux (bits soulignés) ne le sont pas. Le circuit ECCT1 délivre alors sur sa sortie ES1 les bits suivants 0110 avec le quatrième bit égal à "0" car le 11011 est majoritaire dans les trois bits redondants. Le circuit ECCT1 délivre en outre un signal d'erreur ERR indiquant qu'au moins un bit lu est erroné. Exemple de réalisation du circuit ECCTl La figure 4 représente un mode de réalisation du circuit ECCT1. Le circuit ECCT1 comprend un bloc de correction CT et un bloc de redondance DM. Le bloc de correction CT est connecté à l'entrée ES2 par l'intermédiaire d'un tampon BUF1 et est connecté à la sortie ES1 par l'intermédiaire d'un tampon BUF2, les tampons BUF1, BUF2 étant transparents lorsque le signal RD est à 1. Le bloc de redondance DM est connecté à l'entrée ES1 par l'intermédiaire d'un tampon BUF3 et est connecté à la sortie ES2 par l'intermédiaire d'un tampon BUF4, les tampon BUF3, BUF4 étant transparents lorsque le signal WR est à 1. Le bloc DM comprend quatre démultiplexeurs DM1 à DM4 présentant chacun une entrée et trois sorties, les trois sorties étant agencées pour recopier simultanément la valeur d'un bit présenté en entrée. Le circuit DM1 reçoit en entrée le bit b0 d'une chaîne de bits appliquée sur l'entrée ES1 et délivre les bits redondants b8', b4', b0'. Le circuit DM2 reçoit en entrée le bit b1 et délivre les bits b9', b5', b1'. Le circuit DM3 reçoit le bit b2 et délivre les bits b10', b6', b2' et le circuit DM4 reçoit le bit b3 et délivre les bits b11', b7', b3'. Les huit autres bits présents sur l'entrée ES1 ne sont pas utilisés, les pistes conductrices correspondantes du bus de données n'étant pas connectées au circuit CCT1. Le bloc CT comprend quatre circuits de correction d'erreur CT1 à CT4 recevant chacun trois bits redondants sélectionnés dans une chaîne de bits bil à b0 délivrée par le circuit de lecture SA et appliquée sur l'entrée ES2. 21 s'agit respectivement des bits fb8', b4' et b0'@, @b9' b5' bl'@, (b10' b6' b2'), {b11' b7' b3'}. Les blocs CT1 à CT4 délivrent un bit corrigé, respectivement b0, b1, b2, b3, appliqué sur la sortie ES1 par l'intermédiaire du tampon BUF2. Chaque circuit CT1 à CT4 délivre par ailleurs un bit d'erreur, respectivement e0 à e3, lorsque trois bits redondants présentés en entrée ne sont pas égaux. Les bits d'erreur sont combinés dans un porte OU pour former le signal d'erreur ERR délivré par le circuit ECCT1. La figure 5 représente un exemple de réalisation du circuit correcteur CT1, sous la forme d'un circuit logique. Le circuit CT1 comprend une porte "OU" 10 à trois entrées, une porte "NON ET" il à trois entrées, une porte "OU Exclusif" 12 à deux entrées (" (D "), une porte "OU" 13 à deux entrées, une porte "ET" 14 à deux entrées, une porte "ET" 15 à deux entrées, une porte "ET" 16 à deux entrées et une porte inverseuse 17 ("INV"). Ces diverses portes sont agencées pour délivrer le bit de donnée b0 et le bit d'erreur e0 conformément aux relations suivantes b0 = [(b8 m b4) ET b4] OU [INV(b8 O+ b4) ET b0] e0 = [INV(b0 ET b4 ET b8)] ET [b0 OU b4 OU b8] Les autres circuits CT2, CT3, CT4 étant de même structure que le circuit CT1, ils ne seront pas décrits. Ils se distinguent du circuit CT1 par le rang des bits reçus en entrée et par le rang du bit délivré. Variantes et applications de l'invention La présente invention est bien entendu susceptible de diverses variantes et modes de réalisation. En particulier, bien que l'on ait décrit dans ce qui précède un circuit ECCT1 qui assure une correction d'erreur par redondance majoritaire, un mode de réalisation consiste à prévoir un circuit ECCT1 assurant uniquement une détection d'erreur sans correction de bit. Dans ce cas, le circuit ECCT1 peut fonctionner selon le principe de la redondance simple, un bit reçu sur l'entrée ES1 étant dupliqué en deux bits seulement sur la sortie ES2, par exemple comme indiqué ci-après b6'= b0' = b0 b7' = b1' = b1 b8' = b2' = b2 b9' = b3' = b3 b10' = b4' = b4 b11' = b5' = b5 Dans ce cas, le circuit ECCT1 ne résout pas les conflits entre deux bits redondants et se borne à délivrer le signal d'erreur ERR quand deux bits redondants ne sont pas égaux. Le signal d'erreur ERR est détecté par le gestionnaire de la mémoire, par exemple un microprocesseur, qui peut être programmé pour se bloquer définitivement quand le signal d'erreur ERR est émis. On considère dans ce cas que la mémoire n'est pas valable et que le circuit dans laquelle elle est intégrée doit être détruit. D'autre part, bien que l'on ait proposé plus haut un entrelacement des bits redondants, une redondance de bits non entrelacés peut également être prévue, par exemple comme suit b2' = b1' = b0' = b0 b5' = b4' = b3'= b1 b8' = b7' = b6' = b2 b11' = b10' = b9' = b3 Egalement, bien que l'on ait décrit dans ce qui précède une combinaison avantageuse d'un circuit de détection et/ou correction d'erreur ECCT1 fonctionnant selon le principe de la redondance simple ou majoritaire et d'un circuit de correction d'erreur ECCT2 utilisant des codes de correction d'erreur, i1 va de soi que l'application à une zone sécurisée non effaçable du circuit ECCT1 constitue un aspect essentiel de l'invention indépendant de la combinaison proposée, de sorte que le circuit ECCT1 peut être mis en #uvre sans le circuit ECCT2. Le circuit ECCT1 peut également être mis en #uvre en combinaison avec tout autre type de circuit de correction d'erreur. Egalement, il découle de ce qui précède que la présente invention est applicable à tous types de mémoires effaçables et programmables électriquement comprenant une zone sécurisée non effaçable, notamment les mémoires FLASH. Enfin, une mémoire selon l'invention est susceptible de diverses applications. Elle peut notamment être intégrée sur une plaquette de silicium isolément ou en association avec d'autres éléments. A titre d'exemple, la figure 6 représente très schématiquement une carte à puce 20 comprenant un circuit intégré 21 et des contacts 22, par exemple huit contacts ISO 7816. Le circuit intégré 21 comprend un microprocesseur MP, une mémoire MEM3 selon l'invention, une mémoire morte ROM et une mémoire vive RAM, ces divers éléments étant connectés à un bus de données DTB et à un bus d'adresse ADB. Le microprocesseur MP comprend en outre des ports d'entrée/sortie connectés aux contacts 22. Dans une telle application, la zone OTP de la mémoire MEM3 peut être utilisée pendant les étapes de personnalisation de la carte 20 pour la gestion des accès à certaines zones des mémoires MEM3, ROM ou RAM. Lorsque la carte 20 est mise en service, tous les bits OTP sont portés à 1 de sorte que l'accès aux zones de personnalisation de la carte est définitivement verrouillé. REVENDICATIONS 1. Mémoire (MEM3) effaçable et programmable électriquement comprenant au moins une zone (OTP) sécurisée non effaçable, caractérisée en ce qu'elle comprend des moyens (ECCT1, ACC, MUX1, MUX2) de détection et/ou correction d'erreurs de lecture dans la zone sécurisée (OTP), agencés pour enregistrer dans la zone sécurisée des bits redondants (bl1'-b0') et délivrer un signal d'erreur (ERR) et/ou un bit de valeur majoritaire (b3-b0) lorsque des bits redondants lus dans la zone sécurisée ne sont pas égaux. 2. Mémoire selon la revendication 1, caractérisée en ce qu'elle comprend des moyens (ECCT2, ECCT1, ACC, MUX1, MUX2) de correction d'erreurs de lecture dans les zones effaçables de la mémoire, agencés pour - enregistrer dans la mémoire des codes de correction d'erreur (ECC, bll-b8) conjointement à l'enregistrement de bits de données (b7-b0), et - détecter, le cas échéant, la présence d'un bit erroné dans un chaîne de bits (DSj) lue dans la mémoire, et corriger le bit erroné. 3. Mémoire selon l'une des revendications 1 et 2, caractérisée en ce que - les moyens de détection et/ou correction d'erreurs de lecture dans la zone sécurisée comprennent un premier circuit (ECCT1) de détection et/ou correction d'erreur dédié à la zone sécurisée (OTP), et - les moyens de correction d'erreurs de lecture dans les zones effaçables de la mémoire comprennent un second circuit de correction d'erreur (ECCT2) dédié aux zones effaçables et programmables de la mémoire. 4. Mémoire selon la revendication 3, caractérisée en ce qu'elle comprend un circuit de sélection (ACC) agencé pour délivrer un signal de sélection (VAUD) du premier (ECCT1) ou du second (ECCT2) circuits de détection et/ou correction d'erreurs, en fonction de la valeur d'une adresse (ADR) appliquée à la mémoire. 5. Mémoire selon la revendication 4, caractérisée en ce que le circuit de sélection est un circuit (ACC) de protection de la zone sécurisée, agencé pour délivrer un signal (VALID) d'inhibition d'une opération d'effacement (ERASE) lorsque l'adresse appliquée à la mémoire correspond à la zone sécurisée. 6. Mémoire selon l'une des revendications 2 à 5, caractérisée en ce qu'elle comprend - dans les zones effaçables de la mémoire, des chaînes (DSj) de M bits comprenant N1 bits de données (b7-b0) et N2 bits de code de correction d'erreur (bll-b8), - dans la zone sécurisée non effaçable, des chaînes (DSj) de M bits (bll'-b0') comprenant M/N3 bits redondants (b3'-b0'), N3 étant un taux de redondance. 7. Mémoire selon l'une des revendications 1 à 6, caractérisée en ce que les moyens (ECCT1) de détection et/ou correction d'erreurs de lecture dans la zone sécurisée sont agencés pour - lorsqu'un bit doit être programmé dans la zone sécurisée, programmer au moins deux bits égaux au bit à enregistrer, et - lorsqu'un bit doit être lu dans la zone mémoire sécurisée, lire les bits redondants correspondant au bit à lire, et délivrer un signal d'erreur (ERR) lorsque les bits redondants ne sont pas égaux. 8. Mémoire selon l'une des revendications 1 à 6, caractérisée en ce que les moyens (ECCT1) de détection et/ou correction d'erreurs de lecture dans la zone sécurisée sont agencés pour - lorsqu'un bit doit être programmé dans la zone sécurisée, programmer au moins trois bits égaux au bit à enregistrer, et - lorsqu'un bit doit être lu dans la zone mémoire sécurisée, lire les bits redondants correspondant au bit à lire, et délivrer un bit dont la valeur est majoritaire parmi les bits redondants lus. 9. Mémoire selon l'une des revendications 1 à 8, caractérisée en ce que les moyens (ECCT1) de détection et/ou correction d'erreurs de lecture dans la zone sécurisée sont agencés pour entrelacer les bits redondants. 10. Circuit intégré (21), caractérisé en ce qu'il comprend une mémoire effaçable et programmable électriquement selon l'une des revendications 1 à 9. 11. Objet portatif électronique (20), caractérisé en ce qu'il comprend un circuit intégré comportant une mémoire effaçable et programmable électriquement selon l'une des revendications 1 à 9.