FR3044817A1 - Procede de gestion d'une ligne de bits defectueuse du plan memoire d'une memoire non volatile et dispositif de memoire correspondant - Google Patents

Procede de gestion d'une ligne de bits defectueuse du plan memoire d'une memoire non volatile et dispositif de memoire correspondant Download PDF

Info

Publication number
FR3044817A1
FR3044817A1 FR1561729A FR1561729A FR3044817A1 FR 3044817 A1 FR3044817 A1 FR 3044817A1 FR 1561729 A FR1561729 A FR 1561729A FR 1561729 A FR1561729 A FR 1561729A FR 3044817 A1 FR3044817 A1 FR 3044817A1
Authority
FR
France
Prior art keywords
bit line
word
memory
bit
defective
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
FR1561729A
Other languages
English (en)
Other versions
FR3044817B1 (fr
Inventor
Rosa Francesco La
Gineuve Alieri
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
STMicroelectronics Rousset SAS
STMicroelectronics SRL
Original Assignee
STMicroelectronics Rousset SAS
STMicroelectronics SRL
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by STMicroelectronics Rousset SAS, STMicroelectronics SRL filed Critical STMicroelectronics Rousset SAS
Priority to FR1561729A priority Critical patent/FR3044817B1/fr
Priority to US15/140,997 priority patent/US9984770B2/en
Publication of FR3044817A1 publication Critical patent/FR3044817A1/fr
Application granted granted Critical
Publication of FR3044817B1 publication Critical patent/FR3044817B1/fr
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/52Protection of memory contents; Detection of errors in memory contents
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1048Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using arrangements adapted for a specific error detection or correction feature
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1068Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in sector programmable memories, e.g. flash disk
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/44Indication or identification of errors, e.g. for repair
    • G11C29/4401Indication or identification of errors, e.g. for repair for self repair
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/70Masking faults in memories by using spares or by reconfiguring
    • G11C29/72Masking faults in memories by using spares or by reconfiguring with optimized replacement algorithms
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/70Masking faults in memories by using spares or by reconfiguring
    • G11C29/76Masking faults in memories by using spares or by reconfiguring using address translation or modifications
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/70Masking faults in memories by using spares or by reconfiguring
    • G11C29/78Masking faults in memories by using spares or by reconfiguring using programmable devices
    • G11C29/80Masking faults in memories by using spares or by reconfiguring using programmable devices with improved layout
    • G11C29/816Masking faults in memories by using spares or by reconfiguring using programmable devices with improved layout for an application-specific layout
    • G11C29/82Masking faults in memories by using spares or by reconfiguring using programmable devices with improved layout for an application-specific layout for EEPROMs
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/29Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • H03M13/2906Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes using block codes
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C2029/0409Online test
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/70Masking faults in memories by using spares or by reconfiguring

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)
  • Read Only Memory (AREA)

Abstract

Procédé de gestion du fonctionnement d'une mémoire non volatile équipée d'un système (SYS) de correction d'erreur unique et de détection d'une erreur double, comprenant en cas de détection d'une ligne de bits défectueuse du plan mémoire, une affectation d'une ligne de bit redondante (BLR), et une recopie (43, 45, 48) dans les cellules mémoires de la ligne de bits redondante, des valeurs des bits des cellules mémoire de la ligne de bits défectueuse inversées (46) en cas de détection d'erreurs doubles par ledit système, ou corrigées (44) par ledit système en présence d'erreurs uniques.

Description

Procédé de gestion d’une ligne de bits défectueuse du plan mémoire d’une mémoire non volatile et dispositif de mémoire correspondant
Des modes de mise en œuvre et de réalisation de l’invention concernent les mémoires non volatiles, et plus particulièrement la gestion d’au moins une ligne de bits défectueuse du plan mémoire d’une telle mémoire.
En fonctionnement, le plan mémoire d’une mémoire non volatile peut être sujet à des court-circuits, par exemple entre une ligne de bits et la grille de commande de la cellule-mémoire connectée sur cette ligne de bits en raison du claquage d’un isolant par exemple un espaceur isolant situé sur les flancs de la grille de commande.
Il peut alors en résulter des défauts dans cette ligne de bits qui est alors considérée comme endommagée ou défectueuse, et dont le contenu, c’est-à-dire les contenus des cellules-mémoire connectées sur cette ligne de bits, est alors considéré comme perdu.
En d’autres termes, ces emplacements mémoires défectueux conduisent, lors de la lecture des bits contenus dans ces emplacements, à des valeurs logiques erronées.
Une solution classique consiste à utiliser un code correcteur d’erreur ou ECC (« Error Code Correction ») pour corriger la valeur logique erronée d’un bit. Plus précisément, avec un code correcteur d’erreurs, si l’on ajoute s bits de contrôle à b bits de données on peut corriger r erreurs parmi les b+s bits. Généralement les codes correcteurs d’erreurs utilisés dans le domaine des mémoires permettent de corriger une seule erreur (r=l) dans le mot de b+s bits.
Or le caractère défectueux d’une ligne de bits va compromettre la capacité de correction du mécanisme ECC car l’erreur dans un mot due à un bit endommagé d’une ligne de bit défectueuse risque de se rajouter à une autre erreur dans un autre bit de ce mot conduisant alors à une double erreur dans le mot qui est certes détectée mais non corrigée.
Selon un mode de mise en œuvre et de réalisation, il est proposé un mécanisme automatique de redondance de lignes de bits d’une mémoire non volatile opérant durant le fonctionnement normal de la mémoire et évitant une perte des informations stockées dans les cellules-mémoire d’une ligne de bit détectée comme défectueuse, et ne compromettant pas la capacité de correction d’un mécanisme de correction de type ECC.
Selon un aspect il est proposé un procédé de gestion du fonctionnement d’une mémoire non volatile équipée d’un système de correction d’erreur unique et de détection d’une erreur double.
Un tel système est généralement désigné par l’homme du métier sous l’acronyme anglosaxon SEC-DED (Single Error Correction-Double Error Détection).
Le procédé selon cet aspect comprend en cas de détection d’une ligne de bits défectueuse du plan mémoire, une affectation d’une ligne de bit redondante, et une recopie dans les cellules mémoires de la ligne de bits redondante, des valeurs des bits des cellules mémoire de la ligne de bits défectueuse inversées en cas de détection d’erreurs doubles par ledit système, ou corrigées par ledit système en présence d’erreurs uniques.
Bien entendu si aucune erreur n’est détectée par ledit système, alors la valeur du bit de la cellule mémoire concernée de la ligne de bits défectueuse est recopiée telle quelle dans la cellule mémoire homologue de la ligne de bits redondante.
Si la valeur du bit de la cellule mémoire concernée de la ligne de bits défectueuse se révèle être une erreur unique dans le mot analysé par ledit système, alors elle est corrigée par ledit système et cette valeur corrigée est recopiée dans la cellule mémoire homologue de la ligne de bits redondante.
Si par contre l’analyse du mot contenant la valeur du bit de la cellule mémoire concernée de la ligne de bits défectueuse, conduit à une détection d’une erreur double, alors l’une de ces erreurs est nécessairement la valeur du bit de la cellule mémoire défectueuse appartenant à la ligne de bits défectueuse, car préalablement à la détection de la ligne de bits défectueuse, le système n’avait pas détecté de double erreur (ce qui dans ce cas aurait déclenché un signal d’alerte).
De ce fait en inversant la valeur du bit de la cellule mémoire défectueuse (car on connaît la position de ce bit dans le mot analysé), non seulement on corrige cette erreur ce qui permet de recopier dans la cellule mémoire homologue de la ligne de bit redondante cette valeur inversée, mais cette inversion de valeur, et donc cette correction, permet de se ramener à une erreur unique dans le mot analysé, qui va pouvoir être corrigée par ledit système.
Ainsi non seulement on n’a pas compromis la capacité de correction du système SEC-DED, mais on a conféré au système SEC-DED une capacité de correction d’erreur double (DEC : Double Error Correction).
En d’autres termes, selon un mode de mise en œuvre, ladite recopie comprend une lecture du plan mémoire mot par mot, lesdits mots étant des mots homologues appartenant respectivement aux rangées du plan mémoire, chaque mot étant formé de plusieurs cellules mémoires dont celle appartenant à la ligne de bits défectueuse et contenant des bits de données, des bits de contrôle et un bit de parité globale ; et pour chaque mot courant, ladite recopie comprend une analyse dudit mot courant par ledit système, et en cas de détection d’une erreur double, une inversion de la valeur logique du bit stocké dans la cellule-mémoire appartenant à la ligne de bit défectueuse et une recopie de cette valeur inversée dans la cellule-mémoire correspondante de la ligne de bit redondante.
Alors qu’en théorie il serait suffisant de recopier cette valeur inversée dans la cellule-mémoire correspondante de la ligne de bit redondante, il est préférable en pratique de refaire une passe d’ECC pour corriger l’autre erreur du mot courant.
Ainsi selon un mode de mise en œuvre, il est en outre prévu, préalablement à ladite recopie de ladite valeur inversée, une formation d’un nouveau mot comportant les bits dudit mot courant et le bit inversé, et une nouvelle analyse dudit nouveau mot par ledit système SEC-DED.
Comme indiqué précédemment, en l’absence d’erreur détectée par ledit système SEC-DED ou en présence d’une seule erreur détectée et corrigée par ledit système SEC-DED, ladite recopie comprend une recopie dans la cellule-mémoire correspondante de la ligne de bit redondante de la valeur du bit contenu dans le mot de sortie délivré par ledit système et associé à la cellule-mémoire de la ligne de bits défectueuse.
Selon un autre aspect il est proposé un dispositif de mémoire, comprenant une mémoire non volatile comportant un plan mémoire possédant des rangées et des lignes de bits, un mécanisme de redondance de ligne de bits comportant au moins un registre non volatil et au moins une ligne de bits redondante, un système de correction d’erreur unique et de détection d’une erreur double (système SEC-DED), et des moyens de commande configurés pour en cas de détection d’une ligne de bits défectueuse du plan mémoire, recopier dans les cellules mémoires de la ligne de bits redondante, les valeurs des bits des cellules mémoire de la ligne de bits défectueuse inversées en cas de détection d’erreurs doubles par ledit système SEC-DED, ou corrigées par ledit système SEC-DED en présence d’erreurs uniques.
Selon un mode de réalisation, les moyens de commande comportent des moyens de lecture configurés pour effectuer une lecture du plan mémoire mot par mot, lesdits mots étant des mots homologues appartenant respectivement aux rangées du plan mémoire, chaque mot étant formé de plusieurs cellules mémoires dont celle appartenant à la ligne de bits défectueuse et contenant des bits de données, des bits de contrôle et un bit de parité globale ; ledit système SEC-DED est configuré pour effectuer, pour chaque mot courant, une analyse dudit mot courant, et les moyens de commande comportent en outre un module configuré pour en cas de détection d’une erreur double, inverser la valeur logique du bit stocké dans la cellule-mémoire appartenant à la ligne de bit défectueuse, les moyens de commande étant alors configurés pour effectuer une recopie de cette valeur inversée dans la cellule-mémoire correspondante de la ligne de bit redondante.
Selon un mode de réalisation ledit module est en outre configuré pour, préalablement à ladite recopie délivrer ladite valeur inversée audit système de façon à former un nouveau mot comportant les bits dudit mot courant et le bit inversé, et ledit système SEC-DED est configuré pour effectuer une nouvelle analyse dudit nouveau dudit nouveau mot.
Selon un mode de réalisation, en l’absence d’erreur détectée par ledit système SEC-DED ou en présence d’une seule erreur détectée et corrigée par ledit système SEC-DED, les moyens de commande sont configurés pour recopier dans la cellule-mémoire correspondante de la ligne de bit redondante la valeur du bit contenu dans le mot de sortie délivré par ledit système SEC-DED et associé à la cellule-mémoire de la ligne de bits défectueuse.
Le procédé et le dispositif selon ces aspects s’appliquent avantageusement à tout type de mémoire non volatile, comme par exemple une mémoire du type mémoire morte électriquement effaçable et programmable (EEPROM), ou bien une mémoire dont les cellules mémoire comportent une grille flottante et une grille partagée, à savoir une grille de commande et une grille d’effacement, ou encore une mémoire non volatile du type de celle décrite dans la demande de brevet français n°15 54163, ces exemples n’étant toutefois pas limitatifs. D’autres avantages et caractéristiques de l’invention apparaîtront à l’examen de la description détaillée de modes de mise en œuvre et de réalisation, nullement limitatifs, et des dessins annexés sur lesquels : - Les figures 1 à 4 illustrent différents modes de mise en œuvre et de réalisation de l’invention.
Sur la figure 1, la référence DIS désigne un dispositif de mémoire comportant un plan mémoire PM d’une mémoire non volatile, comportant de façon classique des rangées ou lignes de mots RGi et des lignes de bits BL.
Des cellules-mémoires CEL sont connectées de façon classique aux lignes de mots et aux lignes de bits.
Les lignes de bits sont regroupées en colonnes COLj comprenant ici M lignes de bits BLo-BLM-i. M peut être par exemple égal à 39, correspondant ainsi à des mots de 32 bits utiles (4 octets) accompagnés de 6 bits de contrôle et d’un bit de parité globale. Comme on le verra plus en détail ci-après les bits de contrôle et le bit de parité globale sont utilisés pour la correction et la détection d’erreurs dans le mot.
Les cellules mémoires d’une même ligne de mots connectées au M lignes de bits d’une colonne COLj forment donc un mot-mémoire MWij permettant de stocker M bits.
Chaque cellule mémoire CELy comprend par exemple classiquement un transistor d’état à grille flottante et un transistor d’accès de type MOS.
Le dispositif de mémoire DIS comporte également de façon classique des décodeurs rangées et colonnes DCDY et DCDX, ainsi que des moyens de lecture de structure classique et comportant notamment des amplificateurs de lecture AMPL.
Sur la figure 1, les amplificateurs de lecture AMPL ont été représentés à des fins de simplification de la figure en dessous du plan mémoire PM avec le décodeur colonnes DCDX représenté au dessus du plan mémoire, alors que bien entendu en pratique le décodeur colonnes DCDX est disposé entre le plan mémoire et les amplificateurs de lecture AMPL. D’autres moyens classiques et connus d’un dispositif de mémoire, non utiles à la compréhension de l’invention, ne sont pas représentés ici à des fins de simplification.
Le plan mémoire PM comporte également au moins une ligne de bits redondante BLR (une seule ligne de bit redondante est ici représentée à des fins de simplification).
En effet, il est possible lors du fonctionnement de la mémoire, qu’une ligne de bits BL du plan mémoire devienne défectueuse à la suite de court-circuits se produisant par exemple entre une ligne de bits et la grille de commande de la cellule-mémoire connectée sur cette ligne de bits en raison du claquage d’un isolant par exemple un espaceur isolant situé sur les flancs de la grille de commande.
Un endommagement d’une ligne de bit peut être la conséquence par exemple d’un endommagement de page-mémoire pendant une phase d’effacement ou bien d’une programmation de bits.
La détection et l’identification d’une ligne de bits défectueuse s’effectuent par exemple à travers une lecture de page sans sélection de rangée, la ligne de bits défectueuse étant alors la ligne de bits qui présente un courant de fuite.
Afin de gérer la ou les lignes de bits défectueuses éventuellement détectées au sein du plan mémoire PM, le dispositif de mémoire DIS comprend également un mécanisme de redondance de lignes de bits comportant ici un bloc BLC incluant un premier registre non volatile RGNV1 et un deuxième registre non volatile RGNV2.
Le registre RGNV1 est destiné à stocker autant de bits qu’il y a de lignes de bits redondantes, chaque bit étant représentatif de l’activation ou non de la redondance (« redundancy enabled ») concernant la ligne de bits redondante correspondante, tandis que le registre RGNV2 est destiné à stocker l’adresse de toute ligne de bits détectée comme étant défectueuse, étant bien entendu que le registre RGNV2 ne peut pas contenir plus d’adresses de lignes de bits détectées comme étant défectueuses qu’il n’y a de lignes de bits redondantes.
Bien que les deux registres RGNV1 et RGNV2 aient été représentés dans cet exemple comme deux registres non volatils distincts, ces deux registres pourraient être regroupés fonctionnellement au sein d’un seul et même registre non volatil.
Outre ces registres non volatils, le mécanisme de redondance de ligne comporte un ou des amplificateurs de lecture additionnels (non représenté ici) respectivement dédiés à la ou aux lignes de bits redondantes.
En pratique, lorsque la redondance est activée, le mécanisme de redondance est configuré pour lors de la réception d’une adresse @ d’une ligne de bits, vérifier si cette adresse correspond à une adresse stockée dans le registre RGNV2. Ceci est effectué dans un moyen de comparaison CMP, par exemple une porte NON OU EXCLUSIF(XNOR). Si tel est le cas, alors, comme de toutes façons la ligne de bits redondante concernée est systématiquement adressée conjointement à la ligne de bits défectueuse du plan mémoire, on sélectionnera en lecture la donnée délivrée par l’amplificateur de lecture additionnel connecté à cette ligne de bits redondante au lieu de sélectionner la donnée délivrée par l’amplificateur de lecture relié à la ligne de bits défectueuse.
Cela étant lors de la détection d’une ligne de bits défectueuse, il convient d’en recopier le contenu dans la ligne de bit redondante.
Ceci sera expliqué plus en détail ci-après.
Le dispositif comprend également un système SYS configuré pour corriger dans un mot une erreur unique ou bien détecter une erreur double. Un tel système est classique et connu en soi.
Plus précisément, un tel système reçoit un mot numérique comportant des bits de données, des bits de contrôle et un bit de parité globale. Le système SYS détermine alors à partir des bits de données et de l’ensemble des bits de contrôle, des bits de syndrome qui permettent de détecter et de localiser l’erreur dans le mot. Plus précisément, la détermination des bits de syndrome s’effectue en recalculant à partir des bits de données du mot reçu, les bits de contrôle et en appliquant une fonction OU EXCLUSIF sur les bits de contrôle recalculés et sur les bits de contrôle reçus.
De même, le système SYS est configuré pour effectuer un contrôle de la parité globale en recalculant le bit de parité globale à partir des bits et en comparant ce bit de parité globale recalculé avec le bit de parité globale reçu. A partir de là, plusieurs cas sont possibles.
Si la parité est respectée et si tous les bits de syndrome sont à zéro, alors cela signifie qu’il n’y a aucune erreur dans le mot reçu et donc aucune correction n’est effectuée par le système SYS.
Si la parité est respectée mais qu’au moins un bit de syndrome est non nul, alors cela signifie qu’il y a une double erreur dans le mot reçu.
On verra ci-après comment cette double erreur est traitée en ce qui concerne la ligne de bits défectueuse.
Si la parité n’est pas respectée et que tous les bits de syndrome sont à zéro, alors le mot présente une seule erreur qui se situe en fait au niveau du bit de parité, et cette erreur peut être corrigée par le mécanisme ECC implémenté au sein du système SYS.
Enfin, si la parité n’est pas respectée et qu’au moins un bit de syndrome est non nul, alors, le mot contient une seule erreur qui là encore pourra être corrigée par le mécanisme ECC.
Outre les moyens qui viennent d’être décrits, le dispositif DIS comporte des moyens de commande MC, qui peut être réalisé au moins en partie par une machine d’états, et dont on reviendra plus en détail ci-après sur la fonction, notamment lors de la recopie du contenu d’une ligne de bits défectueuse dans la ligne de bits redondante.
Avant de détailler un mode de mise en œuvre du procédé de recopie du contenu d’une ligne défectueuse dans une ligne redondante, on se réfère plus particulièrement à la figure 2 sur laquelle on a représenté un module MDL, faisant partie des moyens de commande MC, et qui est actif uniquement lors de la recopie du contenu d’une ligne de bits défectueuse.
Ce module MDL est par exemple un circuit logique ayant un fonctionnement séquentiel au rythme des fronts montants d’un signal d’horloge CLK.
Le système SYS de correction d’erreur unique et de détection de double erreur (système SEC-DED) reçoit un mot courant MWi,j qui comporte ici di bit de données, Si bit de contrôle et 1 bit p de parité globale.
Le système SYS délivre un mot de sortie NWSij qui, comme on le verra plus en détail ci-après, peut être selon les cas soit le mot courant d’entrée, soit un mot corrigé, soit un mot totalement erroné.
Bien entendu, ce mot de sortie contient également di bit de données, Si bit de contrôle et 1 bit p de parité globale.
Lorsque le système SYS détecte une double erreur dans le mot courant d’entrée MWij, il délivre un signal de détection DED et ce signal est délivré au module MDL.
On suppose également que le mot courant MWij contient un bit, ici le bit b3 qui est bit de données, stocké dans une cellule-mémoire d’une ligne de bits qui vient d’être détectée comme étant défectueuse.
Le module MDL, qui connaît par ailleurs l’adresse du bit b3, inverse alors la valeur de ce bit de façon à former un nouveau mot dans lequel le bit b3 est remplacé par le bit 63.
On se réfère maintenant plus particulièrement aux figures 3 et 4 pour illustrer un mode de fonctionnement du dispositif de mémoire qui vient d’être décrit.
Dans une première étape 30 (figure 3) on détecte et on identifie une ligne de bits défectueuse comme par exemple expliqué ci-avant.
Puis, dans une étape 31, on affecte la ligne de bits redondante BLR à cette ligne de bits défectueuse. L’adresse @ de la ligne de bits défectueuse est stockée dans le registre RGNV2 et le bit de redondance stocké dans le registre RGNV1 prend la valeur 1 par exemple (redondance activée).
Puis, dans l’étape 33, on procède à la récupération des valeurs des bits de la ligne de bits défectueuse et à leur recopie dans la ligne de bits redondante après, comme on va le voir plus en détail, éventuellement inversion ou correction.
Ceci est explicité plus en détails sur la figure 4.
Pour effectuer la recopie du contenu d’une ligne de bits défectueuse dans la ligne de bits redondante, c’est-à-dire pour effectuer le transfert des valeurs des bits contenus dans les cellules-mémoires de la ligne de bits défectueuse dans les cellules-mémoires homologues de la ligne redondante, les moyens de commande activent les moyens de lecture de façon à procéder à une lecture du plan-mémoire mot par mot.
Chaque mot courant MWij appartient à la même colonne du plan mémoire et est un mot formé de plusieurs cellules-mémoires dont celles appartenant à la ligne de bits défectueuse.
On suppose ici, en référence à la figure 2, que la cellule-mémoire appartenant à la ligne de bits défectueuse est celle contenant le bit b3 de chaque mot courant.
Dans l’étape 40, le système SYS procède à une analyse du mot MWij.
Si, dans l’étape 41, une double erreur n’est pas détectée dans le mot courant MWij, et si dans l’étape 42, il n’y a également aucune erreur unique dans ce mot courant, alors le mot de sortie MWSij délivré par le système SYS est égal au mot courant d’entrée MWij et dans ce cas, on recopie la valeur du bit b3 du mot courant MWij dans la cellule-mémoire correspondante de la ligne redondante BLR.
La recopie d’une valeur d’un bit dans la cellule mémoire correspondante de la ligne de bits redondante est effectuée par une opération d’écriture classique commandée par les moyens de commande MC.
Si par contre une erreur unique est détectée dans le mot courant MWij, alors cette erreur unique est corrigée par le mécanisme ECC du système SYS (étape 44) et l’on recopie alors dans l’étape 45, le bit b3 du mot de sortie corrigé MWSy dans la cellule-mémoire correspondante de la ligne redondante BLR.
Dans le cas où une double erreur est détectée dans le mot courant MWij (signal DED à 1 par exemple) alors le module MDL procède à une inversion 46 de la valeur du bit b3 qui est contenu dans la cellule-mémoire appartenant à la ligne de bits défectueuse. A ce stade, il serait tout à fait possible de recopier d’ores et déjà ce nouveau bit b3 dans la cellule-mémoire correspondante dans la ligne de bits redondante.
Cela étant, il est préférable de former un nouveau mot MW2ij qui comporte tous les bits du mot courant MWy à l’exception du bit b3 qui est remplacé par le bit (m).
Ce nouveau mot MW2ij est ensuite analysé (étape 47) par le système SYS qui corrige la deuxième erreur dans ce mot courant. Cela est possible puisque cette deuxième erreur est devenue une erreur unique de par l’inversion du bit b3.
On recopie ensuite dans l’étape 48 le bit b3 dans la ligne de bits redondante.
Et on réitère toutes ces étapes pour le mot courant appartenant à la rangée suivante (i= i+1 : étape 49).
Il convient également de noter que la présente invention est compatible avec l’invention décrite dans la demande de brevet français déposée aux noms des demanderesses le même jour que la présente demande de brevet, et ayant pour titre « Procédé de gestion d’une ligne défectueuse du plan mémoire d’une mémoire non volatile et dispositif de mémoire correspondant ».

Claims (8)

  1. REVENDICATIONS
    1. Procédé de gestion du fonctionnement d’une mémoire non volatile équipée d’un système (SYS) de correction d’erreur unique et de détection d’une erreur double, comprenant en cas de détection d’une ligne de bits défectueuse du plan mémoire, une affectation d’une ligne de bit redondante (BLR), et une recopie (43, 45, 48) dans les cellules mémoires de la ligne de bits redondante, des valeurs des bits des cellules mémoire de la ligne de bits défectueuse inversées (46) en cas de détection d’erreurs doubles par ledit système, ou corrigées (44) par ledit système en présence d’erreurs uniques.
  2. 2. Procédé selon la revendication 1, dans lequel ladite recopie comprend une lecture du plan mémoire mot par mot, lesdits mots (MWij) étant des mots homologues appartenant respectivement aux rangées du plan mémoire et à une même colonne du plan mémoire, chaque mot étant formé de plusieurs cellules mémoires dont celle appartenant à la ligne de bits défectueuse et contenant des bits de données, des bits de contrôle et un bit de parité globale, et pour chaque mot courant, une analyse (40) dudit mot courant par ledit système (SYS), et en cas de détection d’une erreur double, une inversion (46) de la valeur logique du bit (b3) stocké dans la cellule-mémoire appartenant à la ligne de bit défectueuse et une recopie (48) de cette valeur inversée (m) dans la cellule-mémoire correspondante de la ligne de bit redondante.
  3. 3. Procédé selon la revendication 2, dans lequel ladite recopie comprend en outre préalablement à ladite recopie de ladite valeur inversée, une formation d’un nouveau mot (MW2ij) comportant les bits dudit mot courant et le bit inversé (m), et une nouvelle analyse (47) dudit nouveau dudit nouveau mot par ledit système.
  4. 4. Procédé selon l’une des revendications précédentes, dans lequel en l’absence d’erreur détectée par ledit système ou en présence d’une seule erreur détectée et corrigée par ledit système, ladite recopie comprend une recopie dans la cellule-mémoire correspondante de la ligne de bit redondante de la valeur du bit contenu dans le mot de sortie (MWSij) délivré par ledit système et associé à la cellule-mémoire (b3) de la ligne de bits défectueuse.
  5. 5. Dispositif de mémoire, comprenant une mémoire non volatile comportant un plan mémoire (PM) possédant des rangées et des lignes de bits (BL), un mécanisme de redondance de ligne de bits comportant au moins un registre non volatil (RGVN1, RGNVN2) et au moins une ligne de bits redondante (BLR), un système (SYS) de correction d’erreur unique et de détection d’une erreur double, et des moyens de commande (MC) configurés pour en cas de détection d’une ligne de bits défectueuse du plan mémoire, recopier dans les cellules mémoires de la ligne de bits redondante, les valeurs des bits des cellules mémoire de la ligne de bits défectueuse inversées en cas de détection d’erreurs doubles par ledit système, ou corrigées par ledit système en présence d’erreurs uniques.
  6. 6. Dispositif selon la revendication 5, dans lequel les moyens de commande comportent des moyens de lecture (DCDX, DCDY, AMPL) configurés pour effectuer une lecture du plan mémoire mot par mot, lesdits mots (MWy) étant des mots homologues appartenant respectivement aux rangées du plan mémoire et une même colonne du plan mémoire, chaque mot (MWy) étant formé de plusieurs cellules mémoires dont celle appartenant à la ligne de bits défectueuse et contenant des bits de données, des bits de contrôle et un bit de parité globale, ledit système (SYS) est configuré pour effectuer, pour chaque mot courant, une analyse dudit mot courant par ledit système, et les moyens de commande (MC) comportent en outre un module (MDL) configuré pour en cas de détection d’une erreur double, inverser la valeur logique du bit stocké dans la cellule-mémoire appartenant à la ligne de bit défectueuse, les moyens de commande (MC) étant alors configurés pour effectuer une recopie de cette valeur inversée dans la cellule-mémoire correspondante de la ligne de bit redondante.
  7. 7. Dispositif selon la revendication 6, dans lequel ledit module (MDL) est en outre configuré pour, préalablement à ladite recopie délivrer ladite valeur inversée audit système de façon à former un nouveau mot comportant les bits dudit mot courant et le bit inversé, et ledit système (SYS) est configuré pour effectuer une nouvelle analyse dudit nouveau dudit nouveau mot.
  8. 8. Dispositif selon l’une des revendications 5 à 7, dans lequel en l’absence d’erreur détectée par ledit système ou en présence d’une seule erreur détectée et corrigée par ledit système, les moyens de commande (MC) sont configurés pour recopier dans la cellule-mémoire correspondante de la ligne de bit redondante la valeur du bit contenu dans le mot de sortie délivré par ledit système et associé à la cellule-mémoire de la ligne de bits défectueuse.
FR1561729A 2015-12-02 2015-12-02 Procede de gestion d'une ligne de bits defectueuse du plan memoire d'une memoire non volatile et dispositif de memoire correspondant Expired - Fee Related FR3044817B1 (fr)

Priority Applications (2)

Application Number Priority Date Filing Date Title
FR1561729A FR3044817B1 (fr) 2015-12-02 2015-12-02 Procede de gestion d'une ligne de bits defectueuse du plan memoire d'une memoire non volatile et dispositif de memoire correspondant
US15/140,997 US9984770B2 (en) 2015-12-02 2016-04-28 Method for managing a fail bit line of a memory plane of a non volatile memory and corresponding memory device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR1561729A FR3044817B1 (fr) 2015-12-02 2015-12-02 Procede de gestion d'une ligne de bits defectueuse du plan memoire d'une memoire non volatile et dispositif de memoire correspondant

Publications (2)

Publication Number Publication Date
FR3044817A1 true FR3044817A1 (fr) 2017-06-09
FR3044817B1 FR3044817B1 (fr) 2017-12-22

Family

ID=55182429

Family Applications (1)

Application Number Title Priority Date Filing Date
FR1561729A Expired - Fee Related FR3044817B1 (fr) 2015-12-02 2015-12-02 Procede de gestion d'une ligne de bits defectueuse du plan memoire d'une memoire non volatile et dispositif de memoire correspondant

Country Status (2)

Country Link
US (1) US9984770B2 (fr)
FR (1) FR3044817B1 (fr)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR3044818B1 (fr) 2015-12-02 2018-03-30 Stmicroelectronics (Rousset) Sas Procede de gestion d'une ligne defectueuse du plan memoire d'une memoire non volatile et dispositif de memoire correspondant
US10691539B2 (en) 2018-06-28 2020-06-23 Western Digital Technologies, Inc. Grown defect detection and mitigation using ECC in memory systems
DE102019120801B3 (de) * 2019-08-01 2020-12-03 Infineon Technologies Ag Vorrichtungen und Verfahren zur Datenspeicherung
KR102387463B1 (ko) * 2021-10-21 2022-04-15 삼성전자주식회사 메모리 장치, 전자 장치 및 메모리 장치의 동작 방법

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4475194A (en) * 1982-03-30 1984-10-02 International Business Machines Corporation Dynamic replacement of defective memory words
US4740968A (en) * 1986-10-27 1988-04-26 International Business Machines Corporation ECC circuit failure detector/quick word verifier
US20060018159A1 (en) * 2004-07-14 2006-01-26 Stmicroelectronics S.R.I. Programmable NAND memory
US20060039196A1 (en) * 2003-10-03 2006-02-23 Gorobets Sergey A Corrected data storage and handling methods
FR2964483A1 (fr) * 2010-09-06 2012-03-09 St Microelectronics Rousset Procede de traitement d'erreurs dans une memoire non volatile, en particulier une memoire du type eeprom, et dispositif de memoire correspondant
US20130173970A1 (en) * 2012-01-01 2013-07-04 Mosys, Inc. Memory device with background built-in self-testing and background built-in self-repair

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5381036A (en) * 1976-12-27 1978-07-18 Hitachi Ltd Error correction-detection system
US4319357A (en) * 1979-12-14 1982-03-09 International Business Machines Corp. Double error correction using single error correcting code
US4870470A (en) * 1987-10-16 1989-09-26 International Business Machines Corporation Non-volatile memory cell having Si rich silicon nitride charge trapping layer
JPH07114077B2 (ja) * 1989-06-01 1995-12-06 三菱電機株式会社 不揮発性半導体記憶装置
US5134616A (en) * 1990-02-13 1992-07-28 International Business Machines Corporation Dynamic ram with on-chip ecc and optimized bit and word redundancy
US7308621B2 (en) * 2002-04-30 2007-12-11 International Business Machines Corporation Testing of ECC memories
EP1394810B1 (fr) 2002-08-13 2007-10-10 STMicroelectronics S.r.l. Dispositif de mémoire non volatile et procédé de auto-réparation
JP2006179131A (ja) * 2004-12-22 2006-07-06 Fujitsu Ltd メモリシステム及び半導体記憶装置
US8381083B2 (en) * 2009-10-22 2013-02-19 Arm Limited Error control coding for single error correction and double error detection
US8335976B2 (en) * 2010-05-24 2012-12-18 Oracle America, Inc. Memory system that provides guaranteed component-failure correction with double-error correction
US9432298B1 (en) * 2011-12-09 2016-08-30 P4tents1, LLC System, method, and computer program product for improving memory systems

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4475194A (en) * 1982-03-30 1984-10-02 International Business Machines Corporation Dynamic replacement of defective memory words
US4740968A (en) * 1986-10-27 1988-04-26 International Business Machines Corporation ECC circuit failure detector/quick word verifier
US20060039196A1 (en) * 2003-10-03 2006-02-23 Gorobets Sergey A Corrected data storage and handling methods
US20060018159A1 (en) * 2004-07-14 2006-01-26 Stmicroelectronics S.R.I. Programmable NAND memory
FR2964483A1 (fr) * 2010-09-06 2012-03-09 St Microelectronics Rousset Procede de traitement d'erreurs dans une memoire non volatile, en particulier une memoire du type eeprom, et dispositif de memoire correspondant
US20130173970A1 (en) * 2012-01-01 2013-07-04 Mosys, Inc. Memory device with background built-in self-testing and background built-in self-repair

Also Published As

Publication number Publication date
US20170163291A1 (en) 2017-06-08
US9984770B2 (en) 2018-05-29
FR3044817B1 (fr) 2017-12-22

Similar Documents

Publication Publication Date Title
EP2264596B1 (fr) Procédé de détection d'une attaque par injection de faute d'un dispositif de mémoire, et dispositif de mémoire correspondant.
FR3044817A1 (fr) Procede de gestion d'une ligne de bits defectueuse du plan memoire d'une memoire non volatile et dispositif de memoire correspondant
FR2690751A1 (fr) Procédé et circuit de détection de fuites de courant dans une ligne de bit.
FR2716566A1 (fr) Circuit de sélection d'éléments de mémoire redondants et mémoire "Flash Eeprom" comportant ledit circuit.
FR2896612A1 (fr) Dispositif de memoire non volatile a rafraichissement periodique et procede de programmation d'un tel dispositif
FR3025928A1 (fr)
EP1734536A1 (fr) Mémoire protégée contre des attaques par injection d'erreur dans des signaux de sélection de cellules mémoire
FR2858874A1 (fr) Dispositif de commande de memoire, carte a puce et procede de commande d'une operation de lecture d'une memoire
FR3055992A1 (fr) Gestion d'index dans une memoire flash
EP3886361A1 (fr) Dispositif de fonction physiquement non clonable
FR2826496A1 (fr) Memoire eeprom protegee contre les effets d'un claquage de transistor d'acces
EP1109321B9 (fr) Procédé de correction d'un bit dans une chaîne de bits
EP1932121B1 (fr) Compteur d'evenements
FR2875352A1 (fr) Procede de detection et de correction d'erreurs pour une memoire et circuit integre correspondant
EP2184741B1 (fr) Mémoire EEPROM protégée contre les effets de claquage de transistors MOS
WO2014060096A1 (fr) Procédé de gestion d'une mémoire flash
FR3044460A1 (fr) Amplificateur de lecture pour memoire, en particulier une memoire eeprom
FR3044818A1 (fr) Procede de gestion d'une ligne defectueuse du plan memoire d'une memoire non volatile et dispositif de memoire correspondant
WO2006120310A1 (fr) Dispositif de protection d'une memoire contre les attaques par injection d'erreur
EP3522020B1 (fr) Gestion d'une mémoire non volatile
FR3026870A1 (fr) Dispositif de gestion du stockage de donnees.
WO2021073990A1 (fr) Procede d'aide a l'identification de secteurs vierges d'une memoire non-volatile d'un microcontroleur
EP1158408B1 (fr) Mémoire EEPROM comprenant un système de correction d'erreur
FR2888660A1 (fr) Systeme redondance colonne pour une memoire en circuit integre
FR2964483A1 (fr) Procede de traitement d'erreurs dans une memoire non volatile, en particulier une memoire du type eeprom, et dispositif de memoire correspondant

Legal Events

Date Code Title Description
PLFP Fee payment

Year of fee payment: 2

PLSC Publication of the preliminary search report

Effective date: 20170609

PLFP Fee payment

Year of fee payment: 3

PLFP Fee payment

Year of fee payment: 5

ST Notification of lapse

Effective date: 20210806