Brevet FR3131400A1 — publié le 20230630

La présente invention concerne un procédé d’électroformage d’une mémoire résistive d’un dispositif mémoire incluant un contrôleur mémoire et un encodeur calculant un code correcteur d’erreur linéaire et invariant à l’inversion. L’invention concerne également un dispositif d’électroformage à travers des écritures dans une mémoire résistive et un procédé de vérification d’écriture dans une mémoire résistive d’un dispositif mémoire incluant un contrôleur mémoire et un encodeur calculant un code correcteur d’erreur linéaire et invariant à l’inversion. Figure pour l’abrégé : Fig. 2 Procédé d’électroformage utilisant un ECC linéaire invariant à l’inversion et dispositif associé. Domaine de l’invention La présente invention concerne un procédé d’électroformage d’une mémoire résistive. Particulièrement, l’invention concerne un procédé d’électroformage d’une mémoire résistive couplée à un contrôleur mémoire. Etat de la technique Les mémoires résistives sont des mémoires non-volatiles présentant une densité élevée, une faible consommation d’énergie électrique et pouvant présenter une grande durée de vie selon les conditions d’utilisation. Il existe plusieurs technologies de mémoires résistives. On peut notamment citer les mémoires résistives à pont conducteur, également appelées CBRAM (pour « Conductive-Bridging Random-Access Memory » selon la terminologie anglo-saxonne), ou les mémoires résistives à base d’oxyde, également appelées OxRAM (pour « Oxide-based Random-Access Memory » selon la terminologie anglo-saxonne) ou encore les mémoires à changement de phase, également appelées PCM (pour « Phase Change Memory »). Une mémoire résistive (aussi appelée mémoire RRAM) est composée d’une multitude de cellules mémoires résistives agencées en lignes et colonnes de manière à former une matrice. Une cellule mémoire RRAM est dotée d’au moins un élément résistif dont on peut modifier la conductance. Typiquement, une cellule mémoire RRAM est constituée d’un empilement métal isolant métal et présente, dans son état initial, un état de haute résistance (HRS) (pour « High Resistance State » selon la terminologie anglo-saxonne). Avant leur utilisation, certains types de mémoire résistive, telle que les mémoires OxRAM ou CBRAM nécessitent une activation électrique ou autrement dit un « électroformage ». L'application d’une impulsion haute tension à travers la cellule RRAM permet la formation de chemins conducteurs dans la couche de commutation (partie isolante) et conduit à « commuter » la cellule RRAM dans un état à faible résistance (LRS) (pour « Low Resistance State » selon la terminologie anglo-saxonne), correspondant à une rupture partielle de la structure isolante, ou autrement dit à la formation d’un « filament » conducteur à travers l’oxyde. Le processus général de cette « rupture » de la couche isolante de la cellule est généralement appelé « électroformage » (ou « forming » selon la terminologie anglo-saxonne) et est réalisé préalablement à l’utilisation de la mémoire RRAM. Suite à ce processus d’« électroformage », l’application d’une tension appropriée (et significativement inférieure à l’impulsion haute tension) pendant une durée prédéfinie permet selon les cas soit de réduire la « longueur » du filament conducteur, entraînant un état de résistance HRS, soit de rallonger le chemin conducteur, entraînant un état de résistance LRS. Ces opérations sont connues de l’homme de l’art selon l’anglicisme « SET » ou « RESET ». Le matériau diélectrique disposé entre deux électrodes conductrices de la cellule est alors capable de basculer de manière réversible entre les deux états de résistance HRS et LRS, ces états permettant de stocker un bit d’information dans la cellule mémoire. Une cellule mémoire résistive élémentaire est constituée généralement d’un transistor (1T) et d’un composant résistif ou résistor (1R), où un bit d’information est encodé à travers la valeur de la résistance électrique du résistor. Pour ces cellules élémentaires dites 1T1R, un ‘0’ logique peut être encodé par exemple en programmant le résistor dans un état de résistance haute HRS et un ‘1’ logique peut être encodé en programmant le résistor dans un état de résistance basse LRS, et l’on parle alors d’encodage en mode 1T1R. Cependant, l’écart entre la plus faible valeur de résistance correspondant à un niveau LRS et la plus haute valeur de résistance correspondant au niveau HRS, également appelé « fenêtre mémoire », est souvent faible. Dès lors, on utilise couramment un « encodage différentiel » pour coder une valeur binaire à mémoriser. Un bit d’information peut être encodé dans une cellule mémoire dite 2T2R, composée de deux cellules élémentaires 1T1R, comprenant 2 transistors (2T) et 2 résistors (2R), et l’on parle alors d’encodage en mode 2T2R. Comme chacun des états LRS et HRS peut être associé à une valeur logique, i.e. 1 ou 0, on peut considérer que dans une cellule 2T2R un des deux éléments résistifs encode le bit à programmer en version non-inversée tandis que l’autre élément résistif encode le même bit en version inversée. Par exemple, un ‘1’ logique est encodé en programmant le résistor de la première cellule 1T1R dans un état de résistance haute HRS et le résistor de la deuxième cellule 1T1R dans un état de résistance basse LRS, et un ‘0’ logique est encodé en programmant le résistor de la première cellule 1T1R dans un état de résistance basse LRS et le résistor de la deuxième cellule dans un état de résistance haute HRS. Ainsi en encodage différentiel, chaque bit d’information est encodé dans une cellule élémentaire 2T2R formée de deux éléments résistifs qui sont écrits en opposition d’état, c’est-à-dire un des éléments résistifs écrit avec un niveau HRS et l’autre avec un niveau LRS. Les niveaux respectifs de résistance des deux éléments résistifs sont déterminés toujours dans le même ordre entre les deux éléments, et définissent si l’on est en présence d’un ‘1’ ou d’un ‘0’ logique suivant qu’il correspond aux états HRS-LRS ou LRS-HRS. Lors d’une opération d’écriture dans une cellule mémoire 1T1R ou 2T2R, il faut s’assurer que chaque résistance électrique qui doit être programmée à un état HRS ou LRS est respectivement soit plus grande, soit plus petite qu’une valeur de référence R REF . La comparaison d’une résistance électrique avec la valeur R REF est faite par une opération de lecture au cours de laquelle la résistance programmée est comparée à la valeur R REF à l’aide d’un amplificateur de détection ou SA (pour « Sense Amplifier» selon la terminologie anglo-saxonne). Par la suite, cette opération de lecture avec comparaison à une valeur de référence est appelée mode 1T1R. Toutes les opérations de lecture dans les mémoires 1T1R sont effectuées en mode 1T1R. Pour lire la donnée stockée dans une cellule RRAM, une petite tension de lecture qui ne perturbe pas l'état courant de la cellule est de préférence appliquée pour déterminer dans quel état logique est la cellule. Dans les mémoires où l’information est encodée en mode 2T2R, les opérations de lecture sont généralement effectuées en mode 2T2R aussi appelé lecture en mode différentiel. Les valeurs des deux résistances présentes dans une cellule mémoire 2T2R peuvent être comparées entre elles à l’aide d’un amplificateur de détection SA différentiel consistant à comparer les deux valeurs de résistance composant la cellule mémoire. On notera également que le dispositif de lecture peut également être prévu pour réaliser une lecture de chaque résistor d’une cellule, de façon individuelle, en comparant la résistance de chaque résistor à une valeur de référence. La présence d’un tel dispositif de lecture « unique » est couramment utilisée dans les opérations d’électroformage pour pouvoir vérifier le niveau de résistance de chaque résistor individuellement. Une technique de lecture d’une donnée stockée dans une cellule mémoire 2T2R est décrite dans le document : « Hybrid Analog-Digital Learning with Differential RRAM synapses » de Bocquet et al. IEDM19-534. Elle utilise un circuit de lecture doté d’un amplificateur de détection de type à verrouillage qui, lors d’une opération de lecture, est couplé à la paire différentielle d’éléments résistifs par l’intermédiaire d’une paire de lignes de bits et est dotée de nœuds dont les potentiels basculent en fonction de valeurs de courant qui traversent les éléments résistifs. Ce type d’amplificateur de détection est réalisé avec peu de transistors et fonctionne comme un amplificateur différentiel de courant à fort gain. Il permet de comparer directement des courants qui traversent les éléments résistifs et circulent via des lignes de bits. On notera que les mémoires comprenant des cellules 2T2R sont généralement pourvues d’un dispositif d’écriture des résistors de chaque cellule qui réalise en pratique deux écritures 1T1R pour écrire chacun des résistors à l’état qui doit être le sien (rappel : deux états différents pour les résistors d’une cellule différentielle 2T2R). Étant donné que les éléments résistifs conservent leurs valeurs respectives même après la suppression de la tension appliquée, la mémoire résistive RRAM fait partie des mémoires non volatiles. Cependant, certains usages d’une mémoire impliquent de fréquentes transitions entre les états HRS et LRS pouvant introduire des dommages, les valeurs des résistances programmées pouvant changer à cause de phénomènes de relaxation, et entraîner alors une dégradation des performances de la RRAM. Le temps de rétention de l’information dans une mémoire résistive dépend alors (a) des opérations de lecture, (b) des températures d’utilisation et/ou (c) des champs magnétiques élevés dans le cas des mémoires magnétiques. Les variations de tensions de commutations et la non-uniformité cellule à cellule entrainent que les résistances qui sont programmées dans l’état LRS peuvent dériver vers un état HRS ou inversement. Dès lors, ce glissement des valeurs des résistances programmées peut engendrer des erreurs lors des opérations de lecture, et diminuer la performance des mémoires. Pour réduire le taux d’erreur des mémoires RRAM, une solution couramment utilisée consiste à utiliser un code correcteur d’erreurs ou ECC (pour « Error Correcting Code » selon la terminologie anglo-saxonne) qui encode les données avant leur écriture en mémoire. Généralement, l’encodeur ECC est situé à l’intérieur ou à proximité du contrôleur mémoire. Un contrôleur mémoire selon la présente invention est un circuit électronique dont la fonction est de traduire des requêtes, en général en provenance d'un système électronique hôte, d’électroformage, de lecture ou d'écriture sur des mémoires résistives. Lors de l'encodage de données avec un code ECC, des bits de vérification sont ajoutés aux bits de données, les bits de vérification représentant une information redondante calculée à partir des bits de données, qui permet la détection et la correction des erreurs affectant aussi bien les bits de données que les bits de vérification. L’ensemble des bits de données et des bits de vérification forme un mot de code. La génération de ces bits de vérification est effectuée de façon transparente pour l’utilisateur de la mémoire. Lors d’une opération d’écriture en mémoire, l’encodeur ECC interne à la mémoire prépare le mot de code et l’ensemble des bits du mot de code sont écrits dans des cellules mémoire 2T2R, en réalisant pour chaque cellule mémoire une opération de SET pour un des résistors et une opération de RESET pour l’autre des résistors (chaque opération étant généralement réalisée en mode écriture 1T1R). Lors de l’étape d’électroformage préalablement à l’utilisation de la mémoire, on réalise l’équivalent d’une opération SET pour chaque résistor en écrivant un « 1 » dans chaque résistor. Cette écriture lors de l’étape d’électroformage diffère essentiellement d’une autre écriture (après électroformage) par les conditions de tension-courant qui sont appliquées, néanmoins, au niveau du contrôleur mémoire, c’est bien une écriture d’un « 1 » qui est demandé pour chaque résistor en cours d’électroformage. Dans les mémoires RRAM connues utilisant un encodeur ECC les bits de la mémoire encodant les ECC sont généralement positionnés dans des emplacements particuliers, en général de façon regroupée. Le dispositif d’écriture des cellules dédiées aux bits ECC comprend généralement un mode d’écriture particulier pour l’étape d’électroformage afin de pouvoir « imposer » la valeur « 1 » à écrire lors de l’opération d’écriture spéciale que constitue l’étape d’électroformage (avec les conditions de courant/tension spécifique). Ce dispositif d’écriture avec son mode d’écriture dédié aux bits ECC est en pratique plus complexe que le dispositif d’écriture pour le reste de la matrice mémoire, car il doit pouvoir être commandé afin de prendre en entrée soit les valeurs d’ECC calculées par l’encodeur lors d’une opération d’écriture classique (hors électroformage), soit des valeurs imposées (valeurs à « 1 ») lors d’une opération d’écriture spéciale d’électroformage pour chacun des résistors des cellules mémoires. Ainsi, il existe un besoin de pouvoir simplifier le dispositif d’écriture des bits ECC pour éviter cette complexité de la gestion des valeurs à prendre en entrée, qui se traduit par une surface mémoire plus grande et par un contrôle de la mémoire plus compliqué afin de réaliser l’ensemble des opérations d’électroformage de toutes les cellules de la mémoire. Par ailleurs, il est aussi souhaitable de pouvoir s’assurer qu’il n’y a pas de résistor défaillant entraînant toujours une lecture d’une valeur logique « 1 » ou « 0 » lors de lectures de vérifications. Aussi, il existe un besoin de test après une opération d’électroformage, qui permet de vérifier la bonne réalisation de l’électroformage, et ceci sans complexifier le dispositif mémoire. Description brève de l’invention L’invention vise à pallier tout ou partie des problèmes cités plus haut en proposant un procédé d’électroformage utilisant un ECC linéaire invariant à l’inversion. Ainsi, l’invention vise à s’affranchir d’étapes supplémentaires pour effectuer l’électroformage de cellules mémoires, ou d’une complexification d’un système d’écriture. A cet effet, l’invention a pour objet un procédé d’électroformage d’une mémoire résistive d’un dispositif mémoire incluant un contrôleur mémoire et un encodeur calculant un code correcteur d’erreur linéaire et invariant à l’inversion, le procédé comprenant les étapes suivantes : requérir une écriture dans le dispositif mémoire à une adresse initiale correspondant à la sélection de plusieurs résistors, avec des données à écrire comprenant k bits de données et présentant tous une même première valeur logique dite d’électroformage parmi deux valeurs logiques possibles « 0 » ou « 1 » ; encoder les k bits de données avec le code correcteur d’erreur linéaire et invariant à l’inversion de manière à obtenir un mot de code comprenant les bits de données et r bits de vérification, tel que les bits de vérification dépendent d’un nombre impair des bits de données résultant en ce que les bits de données et les bits de vérification ont tous la même première valeur logique ; réaliser l’écriture du mot de code dans les résistors sélectionnés de ladite mémoire résistive, le contrôleur mémoire réalisant une écriture en mode 1T1R correspondant à une écriture individuelle de chaque résistor, chaque résistor étant placé dans un état de haute ou de basse impédance selon la valeur logique respective de chaque bit du mot de code, le contrôleur mémoire appliquant des conditions d’écriture permettant l’électroformage. Avantageusement, le procédé comprend les étapes ultérieures suivantes : requérir une lecture par le contrôleur mémoire à l’adresse initiale dans la mémoire résistive où ledit mot de code a été écrit et comparer la valeur lue à la valeur attendue, et si lesdites valeurs ne correspondent pas sauvegarder ladite adresse d’électroformage dans un registre de statut du contrôleur mémoire et/ou dans un registre d’un processeur externe relié au dispositif mémoire, incrémenter ou décrémenter l’adresse initiale, de manière à obtenir une nouvelle adresse correspondant à la sélection d’autres résistors que ceux de l’adresse initiale ; et vérifier si cette nouvelle adresse est hors de portée : si oui terminer le procédé ; si non réitérer les étapes décrites au paragraphe [0026] à la nouvelle adresse. Avantageusement, le procédé d’électroformage comprend les étapes ultérieures suivantes : fournir le mot de code lu à un décodeur apte à fournir k bits de données corrigées si nécessaire à partir des bits de vérification, le décodeur étant apte à renseigner un registre de statut du contrôleur mémoire indiquant la présence ou non d’une erreur corrigeable ou non-corrigeable dans le mot qui vient d’être lu ; et dans lequel, l’étape de comparaison de la valeur lue et de la valeur attendue inclut une opération de consultation dudit registre de statut du contrôleur. Avantageusement, le procédé d’électroformage comprend les étapes ultérieures suivantes : requérir, par un processeur externe, une lecture à l’adresse initiale et/ou à la nouvelle adresse et vérifier si tous les bits de données retournées audit processeur, obtenues en sortie d’un décodeur ayant reçu le mode de code lu, ont tous une même valeur logique parmi deux valeurs logiques « 0 » et « 1 » possibles : si tous les bits de données ont tous la même valeur logique « 0 » ou « 1 » attendue, lire le registre de statut du contrôleur mémoire pour vérifier la présence ou non d’une erreur ayant été corrigée par ledit décodeur dans le mot qui vient d’être lu ; et selon le résultat de la vérification : signaler une erreur d’électroformage ; ou terminer le procédé. si tous les bits de données n’ont pas tous la même valeur logique « 0 » ou « 1 », signaler une erreur d’électroformage. Avantageusement, les étapes du procédé sont itérées au moins une fois avec des données à écrire dont la valeur logique des bits est différente de la valeur logique des bits de l’itération précédente. Un autre objet de l’invention concerne un dispositif d’électroformage d’une mémoire résistive d’un dispositif mémoire incluant un contrôleur mémoire et un encodeur calculant un code correcteur d’erreur linéaire et invariant à l’inversion, le dispositif d’électroformage comprenant des moyens pour mettre en œuvre les étapes de l’un des procédés d’électroformage décrits précédemment. Avantageusement, les moyens comprennent un processeur hôte et les étapes du procédé d’électroformage sont mises en œuvre par des interactions entre le processeur hôte et le contrôleur mémoire. Avantageusement, le code correcteur d’erreur linéaire et invariant à l’inversion est de type SEC, SEC-DED, DEC, DEC-TED, TEC, TEC-QED... L’invention concerne également un procédé de vérification d’écriture dans une mémoire résistive d’un dispositif mémoire incluant un contrôleur mémoire et un encodeur calculant un code correcteur d’erreur linéaire et invariant à l’inversion, le procédé comprenant les étapes suivantes : requérir une lecture d’un mot de code écrit à une adresse initiale et vérifier si tous les bits de ce mot de code ont tous une même valeur logique parmi deux valeurs logiques « 0 » et « 1 » possibles : si tous les bits de ce mot de code ont tous la même valeur logique « 0 » ou « 1 », lire un registre de statut du contrôleur mémoire pour vérifier la présence ou non d’une erreur corrigeable ou non-corrigeable dans le mot qui vient d’être lu ; et selon le résultat de la vérification : signaler une erreur d’écriture ; ou terminer le procédé. si tous les bits de ce mot de code n’ont pas tous la même valeur logique « 0 » ou « 1 », signaler une erreur d’écriture. Avantageusement, les étapes du procédé décrit au paragraphe [0034] sont mises en œuvre pour la vérification de l’écriture d’un mot de code d’une opération d’électroformage. Avantageusement, les étapes du procédé décrit au paragraphe [0034] sont mises en œuvre pour la vérification de l’écriture d’un mot de code après des étapes consistant à : requérir une écriture dans le dispositif mémoire à une adresse initiale correspondant à la sélection de plusieurs résistors, avec des données à écrire comprenant k bits de données et présentant tous une même première valeur logique parmi deux valeurs logiques possibles « 0 » ou « 1 » ; encoder les k bits de données avec le code correcteur d’erreur linéaire et invariant à l’inversion de manière à obtenir un mot de code comprenant les bits de données et r bits de vérification, tel que les bits de vérification dépendent d’un nombre impair des bits de données résultant en ce que les bits de données et les bits de vérification ont tous la même première valeur logique ; et réaliser l’écriture du mot de code dans les résistors sélectionnés de ladite mémoire résistive, le contrôleur mémoire réalisant une écriture en mode 1T1R ou 2T2R du mot de code dans les résistors sélectionnés. L’invention concerne également un dispositif de vérification d’écriture dans une mémoire résistive d’un dispositif mémoire incluant un contrôleur mémoire, un encodeur calculant un code correcteur d’erreur linéaire et invariant à l’inversion et un décodeur associé, le dispositif mémoire étant relié à un processeur externe, le dispositif de vérification comprenant des moyens pour mettre en œuvre les étapes de l’un des procédés décrits dans les paragraphes [0034] à [0036]. Brève description des figures D’autres caractéristiques, détails et avantages de l’invention ressortiront à la lecture de la description faite en référence aux dessins annexés donnés à titre d’exemple et qui représente : La représente un système général qui utilise une mémoire résistive et permet de mettre en œuvre les étapes d’un procédé d’électroformage d’une mémoire résistive selon un mode de réalisation de l’invention. La représente un procédé d’électroformage d’une mémoire résistive d’un dispositif mémoire incluant un contrôleur mémoire et un encodeur calculant un code correcteur d’erreur linéaire et invariant à l’inversion. La détaille des étapes du procédé d’électroformage de la . La représente un procédé de vérification d’une opération d’électroformage, et en particulier un électroformage réalisé selon le procédé des figures 2 ou 3. La est une illustration d’une matrice de parité H pour un code correcteur d’erreur avec 3 bits de données. Procédé d’électroformage (200) d’une mémoire résistive d’un dispositif mémoire incluant un contrôleur mémoire et un encodeur calculant un code correcteur d’erreur linéaire et invariant à l’inversion, le procédé comprenant les étapes suivantes : - (210) requérir une écriture dans le dispositif mémoire à une adresse initiale correspondant à la sélection de plusieurs résistors, avec des données à écrire comprenant k bits de données et présentant tous une même première valeur logique dite d’électroformage parmi deux valeurs logiques possibles « 0 » ou « 1 » ; - (220) encoder les k bits de données avec le code correcteur d’erreur linéaire et invariant à l’inversion de manière à obtenir un mot de code comprenant les bits de données et r bits de vérification, tel que les bits de vérification dépendent d’un nombre impair des bits de données résultant en ce que les bits de données et les bits de vérification ont tous la même première valeur logique ; - (230) réaliser l’écriture du mot de code dans les résistors sélectionnés de ladite mémoire résistive, le contrôleur mémoire réalisant une écriture en mode 1T1R correspondant à une écriture individuelle de chaque résistor, chaque résistor étant placé dans un état de haute ou de basse impédance selon la valeur logique respective de chaque bit du mot de code, le contrôleur mémoire appliquant des conditions d’écriture permettant l’électroformage. Procédé d’électroformage d’une mémoire résistive selon la revendication 1, le procédé comprenant les étapes ultérieures suivantes : - (331) requérir une lecture par le contrôleur mémoire à l’adresse initiale dans la mémoire résistive où ledit mot de code a été écrit et comparer la valeur lue à la valeur attendue, et si lesdites valeurs ne correspondent pas (340) sauvegarder ladite adresse d’électroformage dans un registre de statut du contrôleur mémoire et/ou dans un registre d’un processeur externe relié au dispositif mémoire, - (350) incrémenter ou décrémenter l’adresse initiale, de manière à obtenir une nouvelle adresse correspondant à la sélection d’autres résistors que ceux de l’adresse initiale ; et - (360) vérifier si cette nouvelle adresse est hors de portée : - si oui terminer le procédé ; - si non réitérer les étapes de la revendication 1 à la nouvelle adresse. Procédé d’électroformage d’une mémoire résistive selon la revendication 1 ou 2, le procédé d’électroformage comprenant les étapes ultérieures suivantes : - fournir le mot de code lu à un décodeur apte à fournir k bits de données corrigées si nécessaire à partir des bits de vérification, le décodeur étant apte à renseigner un registre de statut du contrôleur mémoire indiquant la présence ou non d’une erreur corrigeable ou non-corrigeable dans le mot qui vient d’être lu ; - et dans lequel, l’étape de comparaison de la valeur lue et de la valeur attendue inclut une opération de consultation dudit registre de statut du contrôleur. Procédé d’électroformage d’une mémoire résistive selon l’une quelconque des revendications précédentes, le procédé d’électroformage comprenant les étapes ultérieures suivantes : - (410) requérir, par un processeur externe, une lecture à l’adresse initiale et/ou à la nouvelle adresse et vérifier si tous les bits de données retournées audit processeur, obtenues en sortie d’un décodeur ayant reçu le mode de code lu, ont tous une même valeur logique parmi deux valeurs logiques « 0 » et « 1 » possibles : - si tous les bits de données ont tous la même valeur logique « 0 » ou « 1 » attendue, (420) lire le registre de statut du contrôleur mémoire pour vérifier la présence ou non d’une erreur ayant été corrigée par ledit décodeur dans le mot qui vient d’être lu ; et selon le résultat (430) de la vérification : - (431) signaler une erreur d’électroformage ; ou - (432) terminer le procédé. - si tous les bits de données n’ont pas tous la même valeur logique « 0 » ou « 1 », (431) signaler une erreur d’électroformage. Procédé d’électroformage d’une mémoire résistive selon l’une quelconque des revendications précédentes, les étapes du procédé étant itérées au moins une fois avec des données à écrire dont la valeur logique des bits est différente de la valeur logique des bits de l’itération précédente. Dispositif d’électroformage d’une mémoire résistive d’un dispositif mémoire incluant un contrôleur mémoire et un encodeur calculant un code correcteur d’erreur linéaire et invariant à l’inversion, le dispositif d’électroformage comprenant des moyens pour mettre en œuvre les étapes du procédé d’électroformage selon l’une quelconque des revendications précédentes. Dispositif selon la revendication 6 dans lequel les moyens comprennent un processeur hôte, les étapes du procédé d’électroformage selon l’une quelconque des revendications précédentes étant mises en œuvre par des interactions entre le processeur hôte et le contrôleur mémoire. Le dispositif d’électroformage selon la revendication 6 ou 7 dans lequel le code correcteur d’erreur linéaire et invariant à l’inversion est de type SEC, SEC-DED, DEC, DEC-TED, TEC ou TEC-QED. Procédé de vérification d’écriture dans une mémoire résistive d’un dispositif mémoire incluant un contrôleur mémoire et un encodeur calculant un code correcteur d’erreur linéaire et invariant à l’inversion, le procédé comprenant les étapes suivantes : - (410) requérir une lecture d’un mot de code écrit à une adresse initiale et vérifier si tous les bits de ce mot de code ont tous une même valeur logique parmi deux valeurs logiques « 0 » et « 1 » possibles : - si tous les bits de ce mot de code ont tous la même valeur logique « 0 » ou « 1 », (420) lire un registre de statut du contrôleur mémoire pour vérifier la présence ou non d’une erreur corrigeable ou non-corrigeable dans le mot qui vient d’être lu ; et selon le résultat (430) de la vérification : - (431) signaler une erreur d’écriture ; ou - (432) terminer le procédé. - si tous les bits de ce mot de code n’ont pas tous la même valeur logique « 0 » ou « 1 », (431) signaler une erreur d’écriture. Le procédé selon la revendication 9 dans lequel les étapes sont mises en œuvre pour la vérification de l’écriture d’un mot de code d’une opération d’électroformage. Le procédé selon la revendication 9 pour lequel les étapes sont mises en œuvre pour la vérification de l’écriture d’un mot de code après des étapes consistant à : - (210) requérir une écriture dans le dispositif mémoire à une adresse initiale correspondant à la sélection de plusieurs résistors, avec des données à écrire comprenant k bits de données et présentant tous une même première valeur logique parmi deux valeurs logiques possibles « 0 » ou « 1 » ; - (220) encoder les k bits de données avec le code correcteur d’erreur linéaire et invariant à l’inversion de manière à obtenir un mot de code comprenant les bits de données et r bits de vérification, tel que les bits de vérification dépendent d’un nombre impair des bits de données résultant en ce que les bits de données et les bits de vérification ont tous la même première valeur logique ; et - (230) réaliser l’écriture du mot de code dans les résistors sélectionnés de ladite mémoire résistive, le contrôleur mémoire réalisant une écriture en mode 1T1R ou 2T2R du mot de code dans les résistors sélectionnés. Dispositif de vérification d’écriture dans une mémoire résistive d’un dispositif mémoire incluant un contrôleur mémoire, un encodeur calculant un code correcteur d’erreur linéaire et invariant à l’inversion et un décodeur associé, le dispositif mémoire étant relié à un processeur externe, le dispositif de vérification comprenant des moyens pour mettre en œuvre les étapes du procédé selon l’une quelconque des revendications 9 à 11.