Brevet FR3124307A1 — publié le 20221223

Procédé de détection d’une erreur dans une mémoire électronique Procédé de détection d’au moins une erreur causée par un phénomène photoélectrique ou radiatif dans une mémoire non volatile à semi-conducteur (10), la mémoire comportant une pluralité de cellules mémoire (CM) à transistors MOS, éventuellement à grille flottante, chaque cellule mémoire étant située à l’intersection d’une ligne de bit élémentaire (BLE) et d’une ligne de mot (WL) associées, la lecture du contenu binaire d’une cellule mémoire s’effectuant par détection d’un courant de lecture (I lecture ) traversant cette cellule mémoire lors de la lecture après sélection de cette cellule mémoire au moyen des lignes de bit élémentaire et de mot associées, procédé dans lequel on détecte la présence éventuelle d’au moins une erreur lors de la lecture d’une ou plusieurs cellules mémoires en comparant le courant total, circulant dans la ligne ou les lignes de bit élémentaire associées, à un seuil prédéfini (I alarme ) représentatif de la présence d’au moins une erreur dans ces cellules mémoire. Figure pour l’abrégé : Fig. 7 Procédé de détection d’une erreur dans une mémoire électronique La présente invention concerne la détection d’erreurs de lecture dans une mémoire électronique, et plus particulièrement dans les mémoires non-volatiles à semi-conducteurs. L'introduction d’erreurs temporaires dans les circuits intégrés est couramment utilisée pour attaquer les circuits intégrés et les systèmes sécurisés. Les lasers pulsés constituent un procédé pratique et facilement contrôlé pour introduire de telles erreurs en créant des courants transitoires dans les jonctions PN ou dans les canaux des transistors par effet photoélectrique. Plusieurs types de contre-mesures pour contrer ces attaques laser sont rapportées dans la littérature, à savoir les barrières physiques (e.g., les blindages métalliques), les architectures de dispositifs avec de faibles volumes sensibles (e.g., silicium sur isolant totalement appauvri : « fully depleted SOI » en anglais), la redondance matérielle pour détecter le disfonctionnement du circuit corrompu, et les techniques de brouillage et de cryptage. Ces approches présentent des inconvénients et/ou faiblesses. Les approches de blindage peuvent ne pas être compatibles avec les limites de fabrication des circuits intégrés (telles que les règles de densité du métal) ou imposer une limitation des performances. Les dispositifs ayant une faible sensibilité photonique inhérente compromettent généralement d'autres aspects des performances du dispositif, et dans tous les cas, peuvent être vaincus en augmentant l'intensité lumineuse incidente. La redondance matérielle, bien qu'efficace, nécessite des fonctions de circuit dupliquées, est coûteuse dans les zones silicium et peut être contournée par des attaques qui affectent les chemins redondants de la même manière. Le brouillage et le cryptage peuvent être déjoués par de l’ingénierie inverse. Les publications Colombier et al. “Laser-induced Single bit Faults in Flash Memory: Instructions Corruption on a 32-bit Microcontroller”, Garb et al. “Temporary Laser Fault Injection into Flash Memory: Calibration, Enhanced Attacks, and Countermeasures”, Menu et al. “Single-bit Laser Fault Model in NOR Flash Memories: Analysis and Exploitation” et Sakamoto et al. “Laser-Induced Controllable Instruction Replacement Fault Attack” divulguent des attaques par injection d’erreurs dans les mémoires et certaines techniques pour les contrecarrer. Il demeure un besoin pour perfectionner encore les procédés de détection d’une erreur dans une mémoire, notamment en termes d’efficacité, de praticité, de fiabilité et de coût. L’invention vise à répondre à cet objectif et a pour objet, selon l’un de ses aspects, un procédé de détection d’au moins une erreur causée par un phénomène photoélectrique ou radiatif dans une mémoire non volatile à semi-conducteur, la mémoire étant notamment de type Flash NOR, EEPROM ou ROM, la mémoire comportant une pluralité de cellules mémoire à transistors MOS, éventuellement à grille flottante, chaque cellule mémoire étant située à l’intersection d’une ligne de bit élémentaire et d’une ligne de mot associée, la lecture du contenu binaire d’une cellule mémoire s’effectuant par détection d’un courant de lecture traversant cette cellule mémoire lors de la lecture après sélection de cette cellule mémoire au moyen des lignes de bit élémentaire et de mot associées, procédé dans lequel, pour détecter la présence éventuelle d’au moins une erreur lors de la lecture d’une ou plusieurs cellules mémoire, on compare le courant total, circulant dans la ligne ou les lignes de bit élémentaire associées, à un seuil prédéfini représentatif de la présence d’au moins une erreur dans cette ou ces cellules mémoire. L’invention permet d’obtenir un procédé de détection d’une erreur de lecture fiable et relativement simple à mettre en œuvre. Erreur de lecture L’erreur de lecture affecte un mot d’une instruction d’un programme ou d’une donnée utilisée par un programme, cette instruction ou donnée étant mémorisée dans la mémoire. Cette erreur peut être créée par l’exposition du circuit intégré à une impulsion laser dans un but d’attaque. Les paramètres de l’impulsion laser sont choisis pour ioniser le matériau semi-conducteur par effet photoélectrique et entraîner l’apparition d’un courant photoélectrique transitoire entre le drain et le substrat d’un transistor MOS (éventuellement à grille flottante). Ce courant entraîne la lecture erronée d’un ou plusieurs bits du mot lu. L’erreur de lecture peut encore être créée par une exposition à un rayonnement radiatif, soit volontairement dans un but d’attaque, soit fortuitement, par exemple en exposant la mémoire à une source radiative émettant des particules ionisantes (ions lourds ou protons, neutrons, rayons X et gamma). Le courant de perturbation, qu’il soit généré par une particule radiative ou par effet photoélectrique, sera noté par la suite I PH . Cette erreur est normalement temporaire, et cesse après l’évacuation des charges induites. L’erreur peut affecter une ou plusieurs cellules mémoire simultanément. Le procédé de détection selon l’invention est préférentiellement activé pendant la lecture d’une cellule mémoire. Le procédé de détection selon l’invention peut également être activé avant et/ou après la lecture de ladite cellule mémoire. Seuil prédéfini Le seuil prédéfini, lorsqu’il s’agit d’un courant, est aussi appelé courant d’alarme. Le seuil prédéfini est choisi en fonction de l’architecture du circuit de détection, et peut correspondre à un courant qui, selon les cas, est inférieur ou supérieur au courant de lecture normalement observé en l’absence d’erreur, étant par exemple sensiblement égal au double de l’intensité du courant de lecture normalement observé dans certains exemples de mise en œuvre de l’invention. Le courant sur lequel s’effectue la comparaison peut circuler dans la même ligne de bit élémentaire que celle qui est sélectionnée pour la lecture, ou dans au moins une ligne autre, notamment adjacente, comme détaillé ci-après. Ligne de bit élémentaire où s’effectue la détection Ladite au moins une ligne de bit élémentaire où s’effectue la détection d’erreur peut être celle associée à la cellule mémoire en cours de lecture. Ladite au moins une ligne de bit élémentaire où s’effectue la détection d’erreur peut être adjacente à celle associée à la cellule mémoire en cours de lecture. La détection d’erreur peut s’effectuer au niveau d’une seule ligne adjacente à celle associée à la cellule mémoire en cours de lecture. La détection d’erreur peut s’effectuer au niveau des deux lignes qui encadrent la ligne de bit élémentaire associée à la cellule mémoire en cours de lecture. Ladite au moins une ligne de bit élémentaire où s’effectue la détection d’erreur peut appartenir au même bloc que la cellule mémoire en cours de lecture ; un bloc est défini de façon conventionnelle par l’ensemble des lignes de bit élémentaires dont une seule est sélectionnée pour être lue. Ladite au moins une ligne de bit élémentaire où s’effectue la détection d’erreur peut appartenir au bloc suivant ou précédant celui comprenant la cellule mémoire en cours de lecture ; ces blocs sont généralement situés à proximité sur la mémoire. La détection d’erreur peut s’effectuer au niveau d’une ou plusieurs lignes de bit élémentaires susceptibles d’être affectées, qui peuvent être plus ou moins éloignées de la cellule mémoire en cours de lecture, et non nécessairement adjacentes à celle associée à la cellule mémoire en cours de lecture. La détection d’erreur sur une ou plusieurs lignes dans le voisinage de la cellule mémoire en cours de lecture, notamment adjacentes, est préférée. La détection peut s’effectuer dans l’aire d’effet du mécanisme de perturbation, c’est-à-dire l’aire pour laquelle le courant de perturbation induit est suffisamment élevé pour créer une erreur de lecture. Cette aire peut s’étendre sur plusieurs lignes et/ou concerner plusieurs transistors (ou cellules mémoire) de chacune des lignes dans l’aire d’effet. Détection d’erreurs par dédoublement de lignes de mot Dans des exemples de mise en œuvre, la mémoire comporte des lignes de mot dédoublées, chaque couple (d’indice p) de lignes de mot ayant une ligne de mot d’indice pair 2k et une ligne de mot d’indice impair 2k+1, les grilles des transistors des cellules mémoires étant connectées alternativement aux lignes de mot d’indice pair et aux lignes de mot d’indice impair correspondantes, au moins un couple de lignes de mot ayant l’une de ses lignes portée à un potentiel de lecture pour activer les cellules mémoire qui y sont connectées et l’autre de ses lignes portée à un potentiel désactivant les cellules mémoire qui y sont connectées, de façon à activer les cellules mémoires lues une ligne de bit élémentaire sur deux et effectuer la détection d’erreur au niveau de ladite au moins une ligne de bit élémentaire adjacente à celle associée à la cellule mémoire en cours de lecture. Ainsi, ladite au moins une ligne de bit élémentaire adjacente à celle associée à la cellule mémoire en cours de lecture est électriquement isolée et n’est donc parcourue par un courant qu’en cas d’attaque laser ou d’évènement radiatif. Par conséquent, le seuil du courant d’alarme peut être réglé plus bas que dans le cas où il y a aussi un courant de lecture parcourant la ligne de bit élémentaire adjacente. En particulier, le seuil prédéfini peut dans ce cas être réglé plus bas que le double de l’intensité du courant de lecture normalement observé. Détection d’erreurs par modification de la connexion des sources des transistors Dans des exemples de mise en œuvre, les sources des transistors associés à chaque ligne de bit élémentaire sont connectées à une ligne commune respective portée à un potentiel donné, notamment la masse, au moins lors la lecture des cellules mémoire correspondantes, et les sources des transistors associés à ladite au moins une ligne de bit élémentaire adjacente sont isolées électriquement dudit potentiel donné, notamment la masse, au moins lors de la détection d’erreur. Ainsi, ladite au moins une ligne de bit élémentaire adjacente n’a pas de chemin de connexion électrique vers ledit potentiel donné et elle n’est donc parcourue par un courant qu’en cas d’attaque laser ou d’évènement radiatif. Par conséquent, le seuil du courant d’alarme peut être réglé plus bas que dans le cas où il y a aussi un courant de lecture parcourant la ligne de bit élémentaire adjacente. Dans ce cas également, le seuil prédéfini peut être réglé plus bas que le double de l’intensité du courant de lecture normalement observé. Par « isolée électriquement » pour une ligne de bit élémentaire, il faut comprendre que la ligne commune à laquelle les sources sont reliées ne permet plus la circulation du courant normalement observé lors de la lecture, de sorte qu’aucun courant autre qu’un courant photoélectrique ou radiatif éventuel ne circule dans cette ligne de bit élémentaire, entre le drain et le substrat du ou des transistors affectés par la perturbation. Ledit potentiel donné polarisant les sources des transistors peut être choisi en fonction du type de mémoire, étant égal à une tension donnée V, généralement 0V (masse électrique). Répétition de la lecture d’un mot En cas de détection d’une erreur sur une ligne de bit élémentaire, la lecture de cette ligne est préférentiellement répétée un nombre prédéfini de fois tant qu’une erreur est détectée au niveau de cette ligne. Si l’erreur n’est plus détectée avant que la boucle de détection arrive à son terme, alors la lecture des cellules mémoire peut reprendre, l’erreur ayant affecté temporairement la lecture de la mémoire. Si l’erreur est toujours détectée à la fin de la boucle de détection, alors une action prédéfinie peut être effectuée, par exemple une mise en sécurité du programme utilisant la mémoire ou le recours à un circuit de sécurité redondant. En cas de détection d’erreur, un signal peut être généré, pour avertir l’utilisateur par exemple d’une tentative de corruption ou de la présence d’une perturbation. Le procédé de détection d’erreur peut être mis en œuvre de façon autonome grâce à un ou plusieurs circuits spécialisés présents au sein de la puce mémoire ; en variante, le procédé est mis en œuvre grâce à un ou plusieurs circuits extérieurs à la puce mémoire. La mémoire sur laquelle s’effectue la détection peut avoir toute capacité, et par exemple une capacité supérieure ou égale à 512 MB. Circuit mémoire L’invention a encore pour objet, selon un autre de ses aspects, un circuit mémoire non volatile à semi-conducteur, étant notamment de type Flash NOR, EEPROM ou ROM, permettant la mise en œuvre du procédé de détection défini plus haut ; ce circuit mémoire peut ainsi être configuré pour détecter la présence éventuelle d’au moins une erreur causée par un phénomène photoélectrique ou radiatif, comportant une pluralité de cellules mémoire à transistors MOS, éventuellement à grille flottante, chaque cellule mémoire étant située à l’intersection d’une ligne de bit élémentaire et d’une ligne de mot associée, la lecture du contenu binaire d’une cellule mémoire s’effectuant par détection d’un courant de lecture traversant cette cellule mémoire lors de la lecture après sélection de cette cellule mémoire au moyen des lignes de bit élémentaire et de mot associées, le circuit mémoire comportant au moins un circuit d’alarme connecté à son entrée à au moins une ligne de bit élémentaire au niveau de laquelle s’effectue la détection d’erreur, le circuit d’alarme ayant une sortie et étant configuré pour comparer le courant total, circulant dans la ligne ou les lignes de bit élémentaire associées lors de la détection, à un seuil prédéfini représentatif de la présence d’au moins une erreur dans cette ou ces cellules mémoires ; la sortie du circuit d’alarme indique selon son état la présence ou non de ladite au moins une erreur. Un tel circuit mémoire peut être encapsulé au sein d’une puce mémoire ou d’une puce de microcontrôleur ou autre circuit à micro-processeur. L’invention s’applique à de nombreux types de mémoire. Mémoire Flash NOR Dans le cas de la mémoire Flash NOR, chaque cellule mémoire peut comporter un transistor MOS à grille flottante dont la grille de contrôle est connectée à la ligne de mot correspondante et le drain à la ligne de bit élémentaire correspondante. Mémoire EEPROM Dans le cas de la mémoire EEPROM, chaque cellule mémoire peut comporter deux transistors en série : un transistor MOS de sélection et un transistor d’état à grille flottante, la grille du transistor de sélection étant connectée à la ligne de mot associée à ladite cellule, le drain du transistor de sélection étant connecté à la ligne de bit élémentaire associée à ladite cellule, la grille de contrôle du transistor d’état étant connectée à une tension de polarisation, la tension de polarisation étant notamment soit la tension d’alimentation en mode lecture soit la masse. La mémoire EEPROM peut comprendre un décodeur d’adresse transmettant pour chaque ligne de bit élémentaire la tension de polarisation aux grilles de contrôle des transistors d’état. Ceci permet d’isoler électriquement de la masse les sources des transistors de la ligne de bit élémentaire adjacente à celle contenant la cellule mémoire en cours de lecture. Ainsi, les lignes de bit élémentaires adjacentes à celle contenant la cellule en cours de lecture n’ont pas de chemin de connexion électrique vers la masse et elles ne sont donc parcourues par un courant qu’en cas d’attaque laser ou d’évènement radiatif. Par conséquent, le seuil du courant d’alarme peut être réglé plus bas que dans le cas où il y a aussi un courant de lecture parcourant la ligne de bit élémentaire adjacente. Mémoire ROM Dans le cas de la mémoire ROM, chaque cellule mémoire peut comporter un transistor MOS dont la grille est connectée à la ligne de mot associée et le drain à la ligne de bit élémentaire associée, le circuit mémoire comprenant un dispositif de lecture connecté à chaque ligne de bit élémentaire, le dispositif de lecture comportant un transistor MOS de tirage (« pull-up » en anglais). En variante, les sources des transistors MOS associés à chaque ligne de bit élémentaire sont connectées à une ligne commune respective portée à un potentiel donné, notamment la masse, au moins lors la lecture des cellules mémoire correspondantes, et les sources des transistors associés à ladite au moins une ligne de bit élémentaire adjacente étant isolées électriquement dudit potentiel donné, notamment la masse, au moins lors de la détection d’erreur. Décodeur de colonne Le circuit mémoire comporte préférentiellement un décodeur de colonne comprenant un transistor de sélection connecté à chaque ligne de bit élémentaire pour une sélection de celle-ci, et comprenant, pour chaque ligne de bit élémentaire où s’effectue la détection de l’erreur, un transistor d’alarme, monté en parallèle du transistor de sélection, le transistor d’alarme étant connecté audit moins un circuit d’alarme. Circuit d’alarme De préférence, le circuit d’alarme comprend au moins un circuit de détection, ce circuit de détection comportant un comparateur de tension ayant une première entrée reliée à une tension de référence et une deuxième entrée reliée au transistor d’alarme de la ligne de bit élémentaire où s’effectue la détection d’erreur, l’erreur étant détectée lorsque la tension au niveau de la deuxième entrée est inférieure à la tension de référence, le transistor d’alarme étant passant lors de la détection d’erreur. Dans le cas de la mémoire ROM, ledit au moins un circuit de détection peut être distinct du dispositif de lecture. Dans le cas de la mémoire ROM et pour la variante où les sources des transistors MOS associés à chaque ligne de bit élémentaire sont connectées à une ligne commune respective portée à un potentiel donné, le circuit d’alarme comporte de préférence le dispositif de lecture, notamment sans circuit de détection additionnel distinct. En effet, cette configuration des sources des transistors dans la mémoire ROM permet de ne pas avoir à ajouter de circuit de détection distinct, car l’alarme est déclenchée par la détection d’un courant sur une ligne de bit élémentaire adjacente par le dispositif de lecture de cette dernière, la sortie de ce dispositif pouvant générer un bit d’alarme. L’invention pourra être mieux comprise à la lecture de la description détaillée qui va suivre, d’exemples non limitatifs de mise en œuvre de celle-ci, et à l’examen du dessin annexé, sur lequel : La est une vue schématique d’une architecture de mémoire ; la est une vue similaire à la d’une variante d’architecture de mémoire ; la illustre schématiquement une cellule mémoire de type Flash NOR ; la schématise la lecture d’un bit au niveau de la cellule mémoire illustrée à la ; la représente de façon schématique le passage d’une particule ionisante à travers la cellule mémoire de la et la modélisation de l’erreur qui en résulte au niveau du transistor ; la est une figure similaire à la avec ajout d’un courant de perturbation ; la représente schématiquement une ligne de bit élémentaire de mémoire Flash NOR avec un amplificateur permettant de détecter une erreur de lecture selon le procédé de l’invention ; la illustre schématiquement une architecture de mémoire Flash NOR avec un décodeur de colonne usuel ; la représente schématiquement une architecture de mémoire Flash NOR avec un décodeur de colonne modifié selon l’invention pour détecter une erreur de lecture dans une ligne de bit élémentaire adjacente à celle en cours de lecture ; la illustre schématiquement une architecture de mémoire Flash NOR avec un décodeur de colonne modifié selon l’invention pour détecter des erreurs de lecture dans deux lignes de bit élémentaires adjacentes à celle en cours de lecture ; la représente schématiquement une architecture de mémoire Flash NOR avec un décodeur de colonne modifié selon l’invention pour détecter une erreur de lecture dans une ligne de bit élémentaire située en limite de bloc ; la illustre schématiquement une architecture de mémoire Flash NOR avec un décodeur de colonne modifié selon l’invention et des lignes de mot dédoublées ; la représente schématiquement une architecture de mémoire Flash NOR avec un décodeur de colonne modifié selon l’invention et une connexion électrique usuelle des sources des transistors à grille flottante ; la illustre schématiquement une architecture de mémoire Flash NOR avec un décodeur de colonne modifié selon l’invention et une connexion électrique modifiée des sources des transistors à grille flottante ; la est analogue à la avec illustration de la mise en œuvre d’une technique de détection d’erreur de lecture selon l’invention ; la représente schématiquement un jeu de masques usuel pour une cellule mémoire Flash NOR ; la illustre schématiquement un exemple d’assemblage de jeux de masques de cellules mémoire Flash NOR permettant de constituer une matrice mémoire ; la représente schématiquement un exemple de jeu de masques pour une cellule mémoire Flash NOR dans le cas d’une connexion électrique modifiée des sources des transistors à grille flottante ; la illustre schématiquement l’association de jeux de masques de plusieurs cellules mémoire Flash NOR adjacentes dans le cas d’une connexion électrique modifiée des sources des transistors à grille flottante ; la représente schématiquement une cellule mémoire EEPROM ; la est analogue à la pour le cas de la mémoire EEPROM ; la est analogue à la pour le cas de la mémoire EEPROM ; la est similaire à la avec ajout d’un décodeur d’adresse additionnel ; la est une vue schématique d’une cellule mémoire ROM ; la schématise la lecture d’un 0 logique au niveau de la cellule mémoire illustrée à la ; la schématise la lecture d’un 1 logique au niveau de la cellule mémoire illustrée à la ; la est une figure analogue à la avec modélisation de l’injection d’une erreur par attaque laser ; la est analogue à la pour le cas de la mémoire ROM ; la représente schématiquement une ligne de bit élémentaire de mémoire ROM avec connexion électrique modifiée des sources des transistors ; la illustre schématiquement une architecture de mémoire ROM avec connexion électrique modifiée des sources des transistors ; la est analogue à la avec illustration de la mise en œuvre d’une technique de détection d’erreur de lecture selon l’invention ; la représente schématiquement un jeu de masques usuel pour une cellule mémoire ROM ; la illustre schématiquement un exemple d’assemblage de jeux de masques de cellules mémoire ROM permettant de constituer une matrice mémoire ; la représente schématiquement un exemple de jeu de masques modifié pour une cellule mémoire ROM dans le cas d’une connexion électrique modifiée des sources des transistors ; la illustre schématiquement l’association de jeux de masques de plusieurs cellules mémoire ROM adjacentes dans le cas d’une connexion électrique modifiée des sources des transistors ; et la est un schéma en blocs illustrant des étapes d’un procédé de détection et de correction d’erreur selon l’invention. Procédé de détection d’au moins une erreur causée par un phénomène photoélectrique ou radiatif dans une mémoire non volatile à semi-conducteur (10), la mémoire étant notamment de type Flash NOR, EEPROM ou ROM, la mémoire comportant une pluralité de cellules mémoire (CM) à transistors MOS, éventuellement à grille flottante, chaque cellule mémoire étant située à l’intersection d’une ligne de bit élémentaire (BLE) et d’une ligne de mot (WL) associée, la lecture du contenu binaire d’une cellule mémoire s’effectuant par détection d’un courant de lecture (I lecture ) traversant cette cellule mémoire (CM) lors de la lecture après sélection de cette cellule mémoire au moyen des lignes de bit élémentaire et de mot associées, procédé dans lequel, pour détecter la présence éventuelle d’au moins une erreur lors de la lecture d’une ou plusieurs cellules mémoire, on compare le courant total, circulant dans la ligne ou les lignes de bit élémentaire (BLE) associées, à un seuil prédéfini (I alarme ) représentatif de la présence d’au moins une erreur dans cette ou ces cellules mémoire. Procédé selon la revendication précédente, ladite au moins une ligne de bit élémentaire (BLE i ) où s’effectue la détection d’erreur étant celle (BLE i,j ) associée à la cellule mémoire (CM) en cours de lecture. Procédé selon la revendication précédente, le seuil prédéfini (I alarme ) étant sensiblement égal au double de l’intensité du courant de lecture (I lecture ) normalement observé en l’absence d’erreur. Procédé selon la revendication 1, ladite au moins une ligne de bit élémentaire (BLE i ) où s’effectue la détection d’erreur étant adjacente (BLE i,j -1 ; BLE i,j+1 ) à celle associée à la cellule mémoire en cours de lecture (BLE i,j ). Procédé selon la revendication précédente, la détection d’erreur s’effectuant au niveau d’une seule ligne adjacente (BLE i,j -1 ; BLE i,j+1 ) à celle associée à la cellule mémoire en cours de lecture (BLE i,j ). Procédé selon la revendication 4, la détection d’erreur s’effectuant au niveau des deux lignes qui encadrent la ligne de bit élémentaire associée à la cellule mémoire en cours de lecture (BLE i,j ). Procédé selon l’une quelconque des revendications 1 et 4 à 6, ladite au moins une ligne de bit élémentaire (BLE) où s’effectue la détection d’erreur appartenant au même bloc que la cellule mémoire en cours de lecture (BLE i,j ). Procédé selon l’une quelconque des revendications 1 et 4 à 6, ladite au moins une ligne de bit élémentaire (BLE) où s’effectue la détection d’erreur appartenant au bloc suivant ou précédant celui comprenant la cellule mémoire en cours de lecture (BLE i,j ). Procédé selon la revendication 1, la détection d’erreur s’effectuant au niveau d’une ou plusieurs lignes de bit élémentaires (BLE) non adjacentes à celle associée à la cellule mémoire en cours de lecture (BLE i,j ). Procédé selon la revendication 4, la mémoire (10) comportant des lignes de mot (WL) dédoublées, chaque couple (d’indice p) de lignes de mot ayant une ligne de mot d’indice pair 2k (W p , 2k ) et une ligne de mot d’indice impair 2k+1 (W p , 2k+1 ), les grilles des transistors des cellules mémoires (CM) étant connectées alternativement aux lignes de mot d’indice pair et aux lignes de mot d’indice impair correspondantes, au moins un couple de lignes de mot (2k, 2k+1) ayant l’une de ses lignes portée à un potentiel de lecture (V lecture ) pour activer les cellules mémoire qui y sont connectées et l’autre de ses lignes portée à un potentiel désactivant les cellules mémoire qui y sont connectées, de façon à activer les cellules mémoires lues une ligne de bit élémentaire (BLE) sur deux et effectuer la détection d’erreur au niveau de ladite au moins une ligne de bit élémentaire adjacente (BLE i,j-1 ; BLE i,j+1 ) à celle associée à la cellule mémoire en cours de lecture. Procédé selon la revendication 4, les sources des transistors associés à chaque ligne de bit élémentaire (BLE i ) étant connectées à une ligne commune respective (SL i ) portée à un potentiel donné, notamment la masse, au moins lors la lecture des cellules mémoire correspondantes, et les sources des transistors associés à ladite au moins une ligne de bit élémentaire adjacente (BLE i,j-1 ; BLE i,j+1 ) étant isolées électriquement dudit potentiel donné, notamment la masse, au moins lors de la détection d’erreur Procédé selon l'une des deux revendications précédentes, le seuil prédéfini (I alarme ) étant réglé plus bas que le double de l’intensité du courant de lecture (I lecture ) normalement observé en l’absence d’erreur. Procédé selon l’une quelconque des revendications précédentes, dans lequel, en cas de détection d’une erreur sur une ligne de bit élémentaire, la lecture de cette ligne est répétée un nombre prédéfini de fois tant qu’une erreur est détectée au niveau de cette ligne. Circuit mémoire non volatile à semi-conducteur (10), étant notamment de type Flash NOR, EEPROM ou ROM, le circuit mémoire étant configuré pour détecter la présence éventuelle d’au moins une erreur causée par un phénomène photoélectrique ou radiatif, comportant une pluralité de cellules mémoire (CM) à transistors MOS, éventuellement à grille flottante, chaque cellule mémoire étant située à l’intersection d’une ligne de bit élémentaire (BLE) et d’une ligne de mot (WL) associées, la lecture du contenu binaire d’une cellule mémoire s’effectuant par détection d’un courant de lecture (I lecture ) traversant cette cellule mémoire (CM) lors de la lecture après sélection de cette cellule mémoire au moyen des lignes de bit élémentaire et de mot associée, le circuit mémoire comportant au moins un circuit d’alarme (105 ; 102) connecté à son entrée à au moins une ligne de bit élémentaire (BLE) au niveau de laquelle s’effectue la détection d’erreur, le circuit d’alarme ayant une sortie (AL) et étant configuré pour comparer le courant total, circulant dans la ligne ou les lignes de bit élémentaire (BLE) associées lors de la détection, à un seuil prédéfini (I alarme ) représentatif de la présence d’au moins une erreur dans cette ou ces cellules mémoires, la sortie (AL) du circuit d’alarme (105 ; 102) indiquant selon son état la présence ou non de ladite au moins une erreur. Circuit mémoire selon la revendication précédente, étant de type Flash NOR, dans lequel chaque cellule mémoire (CM) comporte un transistor MOS à grille flottante (Tg) dont la grille de contrôle (CG) est connectée à la ligne de mot (WL) correspondante et le drain à la ligne de bit élémentaire (BLE) correspondante. Circuit mémoire selon la revendication 14, étant de type EEPROM, dans lequel chaque cellule mémoire (CM) comporte deux transistors en série : un transistor MOS de sélection (Tse) et un transistor d’état à grille flottante (Teg), la grille du transistor de sélection (Tse) étant connectée à la ligne de mot (WL) associée à ladite cellule, le drain du transistor de sélection (Tse) étant connecté à la ligne de bit élémentaire (BLE) associée à ladite cellule, la grille de contrôle (CG) du transistor d’état étant connectée à une tension de polarisation (CGL), la tension de polarisation étant notamment soit la tension d’alimentation (V DD ) en mode lecture soit la masse (GND). Circuit mémoire selon la revendication précédente, comprenant un décodeur d’adresse (202) transmettant pour chaque ligne de bit élémentaire (BLE) la tension de polarisation (CGL) aux grilles de contrôle (CG) des transistors d’état (Teg). Circuit mémoire selon la revendication 14, étant de type ROM, dans lequel chaque cellule mémoire (CM) comporte un transistor MOS dont la grille est connectée à la ligne de mot (WL) associée et le drain à la ligne de bit élémentaire (BLE) associée, le circuit mémoire comprenant un dispositif de lecture (102) connecté à chaque ligne de bit élémentaire (BLE), le dispositif de lecture (102) comportant un transistor MOS de tirage (112). Circuit mémoire selon la revendication précédente, les sources des transistors MOS associés à chaque ligne de bit élémentaire (BLE i ) étant connectées à une ligne commune respective (SL i ) portée à un potentiel donné, notamment la masse, au moins lors la lecture des cellules mémoire correspondantes, et les sources des transistors associés à ladite au moins une ligne de bit élémentaire adjacente (BLE i,j-1 ; BLE i,j+1 ) étant isolées électriquement dudit potentiel donné, notamment la masse, au moins lors de la détection d’erreur. Circuit mémoire selon l'une quelconque des revendications 14 à 19, comportant un décodeur de colonne (100) comprenant un transistor de sélection (109) connecté à chaque ligne de bit élémentaire (BLE i ) pour une sélection de celle-ci, et comprenant, pour chaque ligne de bit élémentaire (BLE) où s’effectue la détection de l’erreur, un transistor d’alarme (111), monté en parallèle du transistor de sélection (109), le transistor d’alarme étant connecté audit moins un circuit d’alarme (105 ; 102). Circuit mémoire selon la revendication précédente, le circuit d’alarme (105 ; 102) comprenant au moins un circuit de détection (105), ce circuit de détection comportant un comparateur de tension (107’) ayant une première entrée reliée à une tension de référence (V REF ) et une deuxième entrée reliée au transistor d’alarme (111) de la ligne de bit élémentaire où s’effectue la détection d’erreur (BLE i,j ; BLE i,j-1 ; BLE i,j+1 ), l’erreur étant détectée lorsque la tension au niveau de la deuxième entrée (V test ) est inférieure à la tension de référence, le transistor d’alarme étant passant lors de la détection d’erreur. Circuit mémoire selon la revendication précédente combinée à la revendication 18, ledit au moins un circuit de détection (105) étant distinct du dispositif de lecture (102). Circuit mémoire selon la revendication 19, ledit au moins un circuit d’alarme (105 ; 102) comportant le dispositif de lecture (102).