Brevet FR3065303A1 — publié le 20181019

Procédé d'écriture dans un dispositif de mémoire non volatile et dispositif de mémoire non volatile correspondant Des modes de réalisation et de mise en oeuvre concernent les circuits intégrés, en particulier les mémoires non-volatiles utilisant un code correcteur d'erreur. Les mémoires non-volatiles utilisant un code correcteur d'erreur ECC (pour « error correction code » en anglais) peuvent être par exemple des mémoires flash-NOR, flash-NAND, ou EEPROM (électriquement effaçable et programmable). Une mémoire non-volatile comporte habituellement un plan-mémoire, arrangé matriciellement en rangées et en colonnes. Des cellules-mémoires (ou emplacements-mémoire) sont regroupées en mots-mémoires et sont capables de stocker de façon non-volatile une donnée numérique (autrement appelée un bit) par rétention de charges dans la grille flottante d'un transistor à grille flottante. Des injections et des extractions de charges dans les grilles flottantes par effet Fowler-Nordheim permettent d'effacer et de programmer électriquement les cellules-mémoire. Dans les mémoires EEPROM, les mots-mémoire comportent fréquemment un octet. Dans des approches utilisant des codes correcteurs d'erreur, par exemple pour des mémoires EEPROM de haute densité, les mots-mémoire peuvent comporter plusieurs octets, typiquement quatre, et une série de bits de parité. Des codes correcteurs d'erreur tels qu'un code de Hamming permettent de calculer les bits de parité et de corriger une éventuelle erreur parmi les octets ou les bits de parité d'un mot-mémoire. L'écriture d'une donnée numérique dans une telle cellule-mémoire comporte généralement une étape d'effacement suivie d'une étape de programmation de toutes les cellules-mémoire d'un même mot-mémoire, ou parfois uniquement une étape d'effacement ou de programmation, en fonction des données à écrire. Les mémoires de type EEPROM ont par conséquent une granularité interne de la taille d'un mot-mémoire, mais acceptent 3065303 2 généralement des commandes dont la granularité est d'un seul octet, afin de satisfaire à des besoins d'utilisation. Le terme de granularité désigne la plus petite unité matériellement accessible de données numériques sauvegardées. 5 Par conséquent, lors d'une commande d'écriture d'une taille inférieure à la granularité interne de la mémoire, il est nécessaire de recomposer les données à écrire avec les anciennes données stockées dans le plan-mémoire pour correspondre à la granularité interne avant de mettre en oeuvre un cycle d'écriture d'au moins un mot-mémoire 10 entier. Cette recomposition comprend une prise en compte des nouvelles données à écrire et des anciennes données du mot-mémoire correspondant stockées dans le plan-mémoire, et nécessite une opération de lecture. De manière générale, une mémoire de type EEPROM peut, en 15 un seul cycle d'écriture, écrire au maximum une page entière comportant un nombre d'octets dépendant de la taille de la mémoire. Par exemple, dans une mémoire 16Kbits, une page fait 16 octets et il est possible d'écrire de 1 à 16 octets en un cycle, et, dans une mémoire 4Mbits, une page fait 512 octets et il est possible d'écrire de 1 à 512 20 octets en un cycle. La figure 1 représente des étapes mises en oeuvre lors d'une écriture habituelle d'une mémoire de type EEPROM. Une étape préliminaire 99 correspond à des initialisations de variables internes (i :=0, Rdmem :=0) et à une réinitialisation de tous 25 les verrous de grille de commande CGL. L'étape 101 correspond à un début de réception d'une commande d'écriture et comporte une réception d'un premier octet NDi (i=0) à écrire. Pendant la réception de l'octet NDi (c'est-à-dire pendant une 30 durée de huit coups d'horloge), une étape de recomposition de données 200 est mise en oeuvre systématiquement. Cette étape 200 correspond à une lecture des anciennes données stockées dans le plan-mémoire, leur correction éventuelle, et leur chargement dans un registre intermédiaire ECCRG. 3065303 3 Plus précisément, et comme représenté par la figure 2, l'étape de recomposition des données 200 comporte une lecture 201 du mot-mémoire dans lequel les nouvelles données NDi sont destinées à être écrites. Cette lecture 201 se fait à partir du plan mémoire si le verrou 5 de grille de commande CGL correspondant est réinitialisé, sinon à partir de verrous de ligne de bits BLL si le verrou de grille de commande CGL correspondant est initialisé (voir étape 105). (Les « réinitialisation » et « initialisation » sont habituellement désignées par les termes anglais respectifs « reset » et « set », correspondant ici 10 à des codes logiques, par exemples respectivement « 0 » et « 1 »). Les données lues sont chargées dans le registre ECCRG. Une correction 202 d'une éventuelle erreur est mise en oeuvre grâce à un mécanisme du type code de Hamming. Les données OD ainsi lues et éventuellement corrigées sont ensuite chargées 203 dans 15 le registre intermédiaire ECCRG. Ce registre intermédiaire ECCRG sert d'étage de stockage de sortie pour la logique de correction d'erreur, et d'entrée pour les verrous de ligne de bits. L'architecture du registre intermédiaire ECCRG est analogue à 20 une architecture de mot-mémoire, c'est-à-dire qu'elle comporte par exemple 4 octets destinés à recevoir des données et une série de bits de parité. Après la réception complète de l'octet NDi (c'est-à-dire après les huit coups d'horloge), à l'étape suivante 102, le nouvel octet NDi 25 est chargé dans le registre intermédiaire ECCRG, en écrasant un des quatre octets OD du registre ECCRG. Un calcul des nouveaux bits de parité NP correspondant à la combinaison des anciennes données OD et du nouvel octet NDi est alors mis en oeuvre à une étape 103. 30 L'étape suivante 104, consiste à charger les verrous de lignes de bits BLL avec les données chargées dans le registre intermédiaire ECCRG. L'étape 104 est suivie d'une étape 105 d'initialisation de verrou de grille de commande CGL, représentatif d'un état chargé ou 3065303 4 non des verrous de ligne de bits BLL du mot-mémoire correspondant. Lorsque que le verrou de grille de commande d'un mot-mémoire est initialisé, la prochaine lecture de ce mot-mémoire est faite dans les verrous de ligne de bits et non dans le plan-mémoire. 5 Ces étapes 104, 105 font partie d'une phase préliminaire d'un cycle d'écriture 110 au cours duquel des impulsions haute tension sont appliquées dans les cellules-mémoire afin de les effacer et/ou de les programmer suivant les données contenues dans les verrous de lignes de bits. 10 Un test de fin de réception 106 est réalisé et tant que le dernier octet n'a pas été reçu et chargé dans les verrous de lignes de bits correspondants, les étapes 101 à 106 et 200 sont répétées avec les octets consécutifs suivants (107, 108). Lorsque tous les octets à écrire ont été reçus, traités et chargés 15 dans les verrous de ligne de bits, alors le cycle d'écriture dans le plan mémoire 110 est mis en oeuvre lors d'une phase commune pour toutes les données chargées dans les verrous de lignes de bits. Ce type de mise en oeuvre classique présente l'inconvénient majeur d'être très coûteux en ressources énergétiques. 20 En effet, ce type de mise en oeuvre comporte une opération de lecture inconditionnelle pour chaque octet à écrire. Cela introduit une consommation d'énergie non-négligeable. En effet, une majorité de la consommation énergétique provient des opérations de lecture, écoulant chacune un courant de l'ordre de 25 1,5 mA pendant une durée typique de 2 cycles d'horloge (soit 51as à 400kHz). Par conséquent, pour une écriture de 256 octets, 256 opérations de lecture, 256 corrections d'erreur et 256 calculs de bits de parité sont mis en oeuvre. Ceci correspond à une consommation d'un courant de 30 l'ordre de 1.5mA pendant une durée cumulée de 1.3ms. Cette dépense énergétique est du même ordre de grandeur que l'énergie dépensée pendant le cycle d'écriture dans le plan-mémoire. Il est par conséquent souhaitable de limiter cette consommation de courant. 3065303 5 A cet égard, il est proposé un procédé d'écriture selon une première granularité dans un plan-mémoire d'une mémoire non-volatile, le plan-mémoire étant arrangé en mots-mémoire destinés à stocker chacun plus d'un octet de données et la mémoire étant 5 configurée pour accéder au plan-mémoire selon une deuxième granularité supérieure à la première granularité, le procédé d'écriture comprenant, en présence d'une suite de nouveaux octets à écrire dans le plan-mémoire dans au moins un mot-mémoire de destination contenant déjà des anciens octets, 10 - une vérification pour chaque mot-mémoire de destination si les anciens octets de ce mot-mémoire de destination doivent tous ou non être remplacés par de nouveaux octets, et - si au moins un ancien octet ne doit pas être remplacé par un nouvel octet, une opération de lecture de chaque ancien octet ne devant pas 15 être remplacé et un chargement, dans un registre intermédiaire, des nouveaux octets et dudit au moins un ancien octet, formant un nouveau contenu dudit mot-mémoire de destination, tandis que - si les anciens octets de ce mot-mémoire de destination doivent tous être remplacés par de nouveaux octets, un chargement dans un registre 20 intermédiaire desdits nouveaux octets, formant le nouveau contenu dudit mot-mémoire de destination, sans opération de lecture préalable des anciens octets de ce mot-mémoire de destination, et - un cycle d'écriture dans le plan-mémoire du nouveau contenu de chaque mot-mémoire de destination. 25 Le terme de « première granularité » correspond ici à la plus petite unité de donnée qu'un utilisateur peut envoyer en écriture à la mémoire, autrement appelée « granularité utilisateur » ou « granularité client ». Le terme de « deuxième granularité » correspond ici à la plus petite unité de donnée que la mémoire non-volatile est capable, de par 30 sa conception, d'écrire dans le plan-mémoire, autrement appelée « granularité physique » ou « granularité interne ». Par exemple, la première granularité peut être d'un octet et la deuxième granularité peut être d'un mot-mémoire. Un mot-mémoire comporte par exemple quatre octets. 3065303 6 Ainsi, lors d'une opération d'écriture, il est possible que la mémoire ait à lire les anciennes donnée d'un mot-mémoire, afin de les réécrire, dans le cas où la suite de nouveaux octets à écrire ne correspond pas à au moins un mot-mémoire complet (autrement dit à la 5 granularité physique de la mémoire). Dans les opérations classiques, cette lecture des anciennes données est réalisée systématiquement, tandis que dans le procédé selon cet aspect, une opération de lecture des anciens octets n'est mise en oeuvre lors d'une écriture de nouveaux octets seulement lorsqu'elle 10 est nécessaire (à la réécriture de ces même anciens octets ou à un calcul de nouveaux bits de parité), c'est-à-dire lorsque les anciens octets du mot-mémoire de destination ne doivent pas tous être remplacés par de nouveaux octets. La vérification peut avantageusement comporter une 15 identification des emplacements respectifs du premier nouvel octet à écrire dans le mot-mémoire de destination correspondant et du dernier nouvel octet à écrire dans le mot-mémoire de destination correspondant, des emplacements respectivement identiques à celui affecté au premier octet du mot-mémoire de destination correspondant 20 et à celui affecté au dernier octet du mot-mémoire de destination correspondant traduisant que les anciens octets de ce mot-mémoire de destination doivent tous être remplacés par de nouveaux octets. Ce mode de mise en oeuvre permet en effet de vérifier de façon simple et efficace si les anciens octets du ou des mot(s)-mémoire de 25 destination doivent tous être remplacés par de nouveaux octets ou non. Avantageusement, l'identification de l'emplacement du premier nouvel octet comprend un test logique entre les valeurs des deux derniers bits de poids faible de l'adresse de l'emplacement du premier nouvel octet et les valeurs 0-0, une égalité entre ces valeurs signifiant 30 que l'emplacement de ce premier nouvel octet correspond à celui affecté au premier octet du mot-mémoire de destination correspondant, et l'identification de l'emplacement du dernier nouvel octet comprend un test logique entre les valeurs des deux derniers bits de poids faible de l'adresse de l'emplacement du dernier nouvel octet et les valeurs 1- 3065303 7 1, une égalité entre ces valeurs signifiant que l'emplacement de ce dernier nouvel octet correspond à celui affecté au dernier octet du mot-mémoire de destination correspondant. Ce mode de mise en oeuvre est adapté à une architecture de 5 mots-mémoire comportant quatre octets de données, les valeurs des deux derniers bits de poids faible des adresses du premier et du dernier octet d'un mot-mémoire quelconque du plan mémoire étant toujours respectivement 0-0 et 1-1. Selon un mode de mise en oeuvre dans lequel une série de bits 10 de parité est associée à chaque mot-mémoire du plan-mémoire, lesdits chargements dans le registre intermédiaire du nouveau contenu dudit mot-mémoire de destination comportent chacun un calcul respectif de nouveaux bits de parité associés à et à partir de ce nouveau contenu de chaque mot-mémoire de destination. 15 Avantageusement, les calculs de nouveaux bits de parités sont mis en oeuvre à partir desdits nouveaux octets et, le cas échéant, desdits anciens octets, préalablement chargés dans le registre intermédiaire. Avantageusement, l'opération de lecture dudit au moins un 20 ancien octet comporte une correction d'une éventuelle erreur présente dans ledit au moins un ancien octet. En effet, le procédé selon cet aspect permet d'économiser de l'énergie de lecture lorsque la granularité interne de la mémoire est supérieure à la granularité utilisateur, et en particulier en présence de 25 mécanisme de code correcteur d'erreur. Selon un mode de mise en oeuvre, le cycle d'écriture comporte un chargement des octets chargés dans ledit registre intermédiaire, et le cas échéant, desdits nouveaux bits de parité, dans des verrous de ligne de bits correspondant, et une écriture dans le plan-mémoire des 30 données chargées dans lesdits verrous de ligne de bits. Selon un autre aspect, il est proposé un dispositif de mémoire non-volatile comportant une entrée pour recevoir des données à écrire selon une première granularité, un plan-mémoire arrangé en mots-mémoire destinés à stocker chacun plus d'un octet de données dans des 3065303 8 emplacements-mémoire, le dispositif comportant un moyen de lecture et un moyen d'écriture configurés pour réaliser, selon une deuxième granularité supérieure à la première granularité, respectivement des opérations de lecture et des cycles d'écriture dans le plan-mémoire, et 5 un moyen de commande configuré pour, en présence d'une suite de nouveaux octets à écrire dans le plan-mémoire dans au moins un mot-mémoire de destination contenant déjà des anciens octets, - vérifier pour chaque mot-mémoire de destination si les anciens octets de ce mot-mémoire de destination doivent tous ou non être remplacés 10 par de nouveaux octets, et - si au moins un ancien octet ne doit pas être remplacé par un nouvel octet, commander le moyen de lecture pour réaliser une opération de lecture de chaque ancien octet ne devant pas être remplacé et commander un chargement dans un registre intermédiaire de chaque 15 nouvel octet et dudit au moins un ancien octet, formant un nouveau contenu dudit mot-mémoire de destination, tandis que - si les anciens octets de ce mot-mémoire de destination doivent tous être remplacés par de nouveaux octets, commander un chargement dans un registre intermédiaire de chaque nouvel octet, formant le nouveau 20 contenu dudit mot-mémoire de destination sans commander d'opération de lecture préalable des anciens octets de ce mot-mémoire de destination, et - commander le moyen d'écriture pour réaliser un cycle d'écriture du nouveau contenu de chaque mot-mémoire de destination. 25 Par exemple, la première granularité peut être d'un octet et la deuxième granularité peut être d'un mot-mémoire. Un mot-mémoire comporte par exemple quatre octets. Selon un mode de réalisation, le moyen de commande est configuré pour, lors de ladite vérification, identifier les emplacements 30 respectifs du premier nouvel octet à écrire dans le mot-mémoire de destination correspondant et du dernier nouvel octet à écrire dans le mot-mémoire de destination correspondant, des emplacements respectivement identiques à celui affecté au premier octet du mot-mémoire de destination correspondant et à celui affecté au dernier 3065303 9 octet du mot-mémoire de destination correspondant traduisant que les anciens octets de ce mot-mémoire de destination doivent tous être remplacés par de nouveaux octets. Avantageusement, le moyen de commande est configuré pour 5 réaliser un test logique entre les valeurs des deux derniers bits de poids faible de l'adresse de l'emplacement du premier nouvel octet et les valeurs 0-0, une égalité entre ces valeurs signifiant que l'emplacement de ce premier nouvel octet correspond à celui affecté au premier octet du mot-mémoire de destination correspondant, et un 10 test logique entre les valeurs des deux derniers bits de poids faible de l'adresse de l'emplacement du dernier nouvel octet et les valeurs 1-1, une égalité entre ces valeurs signifiant que l'emplacement de ce dernier nouvel octet correspond à celui affecté au dernier octet du mot-mémoire de destination correspondant. 15 Selon un mode de réalisation, dans lequel le plan-mémoire comporte des emplacements-mémoires destinés à stocker une série de bits de parité associée à chaque mot-mémoire, le dispositif comporte un moyen de correction d'erreur configuré pour calculer des nouveaux bits de parité associés à et à partir de ce nouveau contenu de chaque 20 mot-mémoire de destination. Selon un mode de réalisation, le moyen de lecture est configuré pour réaliser des opérations de lecture comportant une lecture dans le plan-mémoire et le moyen de correction d'erreur pour corriger une éventuelle erreur présente dans lesdits mots-mémoire lus. 25 Selon un mode de réalisation, le moyen de commande est configuré pour encore commander le moyen de lecture, le moyen d'écriture et, le cas échéant, le moyen de correction d'erreur, après réception du dernier octet de ladite suite de nouveaux octets à écrire. Selon un mode de réalisation, le moyen d'écriture est configuré 30 pour, lors d'un cycle d'écriture, charger ledit nouveau contenu de chaque mot-mémoire de destination chargé dans ledit registre intermédiaire et, le cas échéant, lesdits nouveaux bits de parités dans des verrous de ligne de bits, et écrire les données chargées dans lesdits verrous de ligne de bits dans le plan-mémoire. 3065303 10 Le dispositif est avantageusement réalisé de façon intégrée, par exemple au sein d'un système sur puce. Il est en outre proposé un appareil électronique, tel qu'une prothèse auditive ou un téléphone portable, comportant un dispositif 5 ou un système sur puce tel que défini ci-avant. D' autres avantages et caractéristiques de l' invention apparaîtront à l'examen de la description détaillée de modes de réalisation et de mise en oeuvre, nullement limitatifs, et des dessins annexés sur lesquels : 10 - les figures 1 et 2 représentent un mode de mise en oeuvre d'un procédé d'écriture habituel. - les figures 3 à 6 représentent des exemples de modes de réalisation et de mise en oeuvre de l'invention. La figure 3 représente schématiquement une portion de plan- 15 mémoire PM arrangé matriciellement selon des rangées R0-R3 et des colonnes COLAd 0-255. Des emplacements-mémoire EMPM sont organisés au sein d'une rangée en mots-mémoires W0-W63 comportant chacun 4 octets de données OCT et une série de 6 bits de parités P. A partir des bits de 20 parités, un code correcteur du type code de Hamming est apte à corriger une erreur sur les 38 bits du mot-mémoire Wi correspondant. La granularité interne de la mémoire est donc de 38 bits tandis que la granularité externe est de 1 octet (8 bits). La taille d'une page physique dans cet exemple est de 256 25 octets, par conséquent de 1 à 256 octets peuvent être écrits en un seul cycle d'écriture. L'adresse du premier octet à écrire est envoyée à la mémoire et les octets à écrire sont ensuite envoyés séquentiellement. Un registre d'adresses est automatiquement incrémenté à l'issue du traitement de 30 chaque octet. Les bits de poids fort de l'adresse transmise permettent d'identifier la rangée de l'emplacement-mémoire EMPM correspondant, et les bits de poids faible de cette adresse permettent 3065303 11 d'identifier la colonne de l'emplacement-mémoire EMPM du premier octet à écrire. La dernière adresse correspond à l'adresse présente dans le compteur d'adresse lorsque tous les octets à écrire ont été envoyés, et 5 avant que la puce ne soit désélectionnée par une condition STOP du protocole utilisé. Une suite de nouveaux octets à écrire ne concorde pas systématiquement avec un nombre donné de groupes de 4 octets. Cela dépend de l'adresse du premier octet à écrire et du nombre d'octets 10 dans la suite à écrire. Chaque nouvel octet est destiné à être écrit dans un mot-mémoire, dit mot-mémoire de destination. Les trois rangées R1, R2, R3 représentées par la figure 3 correspondent chacune à un exemple indépendant d'une suite de 15 nouveaux octets SND à écrire. Les rangées R1, R2, R3 représentent le contenu final obtenu pour les différents exemples, avec NDi les nouveaux octets d'un-motmémoire de destination Wd, i désignant la position de cet octet dans la suite SND, avec NDO le premier octet de la suite SND. De façon 20 similaire OD désigne les anciens octets d'un mot-mémoire de destination et ID des octets du plan-mémoire n'étant pas affectés par l'écriture. Les nouveaux bits de parités associés à chaque mots-mémoire de destination sont désignés pas la référence NP. Dans le premier exemple représenté dans la rangée R1, la suite 25 de nouveaux octets à écrire SND comporte 4 octets de la colonne 4 à la colonne 7. Le premier nouvel octet NDO correspond au premier octet du mot-mémoire de destination Wd, les nouveaux octets suivants sont transmis séquentiellement et ont les adresses consécutives suivantes, jusqu'au dernier nouvel octet reçu ND3. Le dernier nouvel octet ND3 30 correspond au dernier octet du mot-mémoire de destination Wd. Dans ce premier cas, le calcul des nouveaux bits de parité NP associés à ce mot-mémoire de destination Wd doit prendre en compte seulement les nouveaux octets NDO, ND1, ND2, ND3, par conséquent 3065303 12 il n'est pas nécessaire de réaliser des opérations de lecture des anciens octets de ce mot-mémoire de destination Wd. Dans le deuxième exemple représenté dans la rangée R2, la suite de nouveaux octets à écrire SND comporte 3 octets de la colonne 5 5 à la colonne 7. Le premier nouvel octet NDO ne correspond pas au premier octet du mot-mémoire de destination Wd, les octets suivants sont transmis séquentiellement et ont des adresses consécutives, jusqu'au dernier nouvel octet reçu ND2 correspondant au dernier octet du mot-mémoire de destination Wd. 10 Dans ce deuxième cas, le calcul des nouveaux bits de parité NP associés à ce mot-mémoire de destination Wd doit prendre en compte l'ancien octet ODO et les nouveaux octets NDO, ND1, ND2. Par conséquent une opération de lecture de l'ancien octet ODO de ce mot-mémoire de destination Wd est nécessaire. 15 Dans le troisième exemple représenté par la rangée R3, la suite de nouveaux octets à écrire SND comporte 241 nouveaux octets, de la colonne 10 à la colonne 250. La suite de nouveaux octets couvre dans ce troisième exemple 61 mots-mémoires de destination Wd, référencés Wd2 à Wd62. Le premier nouvel octet NDO ne correspond pas au 20 premier octet du mot-mémoire de destination correspondant Wd2, les octets suivants sont transmis séquentiellement et ont des adresses consécutives, jusqu'au dernier nouvel octet reçu ND240. Le dernier nouvel octet ND240 ne correspond pas au dernier octet du mot-mémoire de destination correspondant Wd62. 25 Dans ce troisième cas, le calcul des nouveaux bits de parité NP associés au premier mot-mémoire de destination Wd2 doit prendre en compte les anciens octets ODO, OD1 du premier mot-mémoire de destination Wd2 et les nouveaux octets NDO, ND1. Le calcul des nouveaux bits de parité NP associés au dernier mot-mémoire de 30 destination Wd62 doit prendre en compte l'ancien octet 0D3 de ce mot-mémoire de destination Wd62 et les nouveaux octets ND238, ND239, ND240. Chacun des autres mots-mémoires de destination Wd3-Wd61 correspond au cas du premier exemple, et le calcul des bits 3065303 13 de parité associés à ces autres mots-mémoire de destination doit prendre en compte seulement les nouveaux octets. Par conséquent il est nécessaire de réaliser une opération de lecture des anciens octets ODO, OD1 du premier mot-mémoire de 5 destination Wd2 et de l'ancien octet 0D3 du dernier mot-mémoire de destination Wd62. Le procédé d'écriture dont un exemple de mise en oeuvre est donné ci-après en relation avec la figure 4 permet de ne réaliser que les opérations de lecture nécessaires aux calculs des nouveaux bits de 10 parité. Plus précisément, si au moins un ancien octet OD ne doit pas être remplacé par un nouvel octet ND, le procédé d'écriture comprend une opération de lecture 200 de chaque ancien octet OD ne devant pas être remplacé et un calcul 413, 425 de nouveaux bits de parité NP 15 associés à ce mot-mémoire de destination Wd à partir de chaque nouvel octet correspondant ND et de chaque ancien octet OD ne devant pas être remplacé ; tandis que si les anciens octets OD de ce mot-mémoire de destination Wd doivent tous être remplacés par de nouveaux octets ND, le procédé d'écriture comprend un calcul de 20 nouveaux bits de parité NP associés à ce mot-mémoire de destination Wd à partir des nouveaux octets correspondants ND sans opération de lecture préalable 200 des anciens octets OD de ce mot-mémoire de destination Wd. Cela permet de mettre en oeuvre au maximum deux opérations 25 de lectures pour réaliser l'écriture d'une suite de nouveaux octets, quel que soit le nombre d'octets dans cette suite. Dans certains cas, une seule voire aucune opération de lecture n'est nécessaire dans ce procédé. La figure 4 est un diagramme représentant une suite d'étapes 30 d'un tel procédé, selon un mode de mise en oeuvre avantageux. Ce mode de mise en oeuvre est notamment adapté à une communication série, par exemple selon le protocole inter-circuitintégré I2C ou selon le protocole d'interface périphérique série SPI. 3065303 14 Une étape préliminaire 99 correspond à des initialisations de variables internes (i :=0, Rdmem :=0) et à une réinitialisation de tous les verrous de grille de commande CGL. A une étape de départ 401, par exemple sous le protocole PC, 5 la mémoire reçoit une commande de départ, une identification, l'adresse du premier octet à écrire dans le plan-mémoire et le premier octet à écrire NDi (i=0). Un test logique 402 sur une égalité des deux derniers bits de poids faible de l'adresse du premier octet à écrire avec les valeurs 10 logiques 0-0 est réalisé. Un résultat vrai de ce test logique (c'est-à- dire dans le cas où les deux derniers bits de poids faible de l'adresse du premier octet à écrire ont chacun une valeur égale à 0) est représentatif d'un emplacement du premier nouvel octet à écrire dans le mot-mémoire de destination Wd identique à l'emplacement du 15 premier octet du mot-mémoire correspondant Wd. Dans le cas d'un résultat faux de ce test logique, il sera nécessaire de réaliser une opération de lecture dans le plan-mémoire afin de calculer les nouveaux bits de parités du mot-mémoire de destination correspondant, en tenant compte au moins du premier 20 ancien octet de ce mot-mémoire de destination. Ainsi, en cas de résultat faux de ce test logique, une variable d'état interne Rdmem est initialisée (403) à une valeur logique donnée (la valeur 1 dans cet exemple). Une condition initiale de départ 401 est de réinitialiser la 25 variable d'état Rdmem à la valeur logique contraire (la valeur 0 dans cet exemple). La variable d'état Rdmem permet de vérifier (411, 423) pour chaque mot-mémoire de destination Wd si les anciens octets OD de ce mot-mémoire de destination Wd doivent tous ou non être remplacés 30 par de nouveaux octets ND. Après vérification (402), le nouvel octet NDi est chargé dans un registre intermédiaire de nouvelle donnée NDRG, lors d'une étape de préchargement 404. Ce registre intermédiaire de nouvelle donnée NDRG a par exemple une architecture analogue à celle d'un mot- 3065303 15 mémoire, excepté les emplacements-mémoire de la série de bits de parité, et les nouveaux octets y sont chargés à des emplacements correspondant à ceux qu'ils auront dans le mot-mémoire de destination. 5 Le contenu du registre intermédiaire de nouvelle donnée NDRG écrasera, si nécessaire, au cours d'une étape prochaine (412, 424) jusqu'à trois des quatre octets d'un autre registre intermédiaire ECCRG. Cet autre registre intermédiaire ECCRG sert d'étage de 10 stockage d'entrée-sortie pour la logique de correction d'erreur, et d'entrée pour les verrous de ligne de bits lors de la mise en oeuvre d'un cycle d'écriture dans le plan-mémoire. Par exemple, le registre intermédiaire ECCRG a une architecture analogue à celle d'un mot-mémoire et les nouveaux octets y sont chargés à des emplacements 15 correspondant à ceux qu'ils auront dans le mot-mémoire de destination. Ensuite, un test 405 de fin de réception est réalisé. Dans l'exemple du protocole 12C, un signal stop est communiqué à la mémoire lorsque la réception est terminée, après la communication du 20 dernier nouvel octet à écrire. Tant que le signal stop n'est pas communiqué, un autre nouvel octet à écrire va être communiqué à la mémoire. Si le signal stop n'est pas communiqué à la mémoire, alors un test 411 sur la valeur logique de la variable d'état Rdmem est réalisé 25 afin de savoir si les anciens octets du mot-mémoire de destination doivent être remplacés ou non par de nouveaux octets. Si la variable d'état Rdmem est à 0, les nouveaux octets NDi chargés dans le registre intermédiaire de nouvelle donnée NDRG sont directement chargés (412) dans le registre intermédiaire ECCRG. 30 Ensuite, le calcul 413 des nouveaux bits de parités NP est réalisé à partir des nouveaux octets chargés dans le registre intermédiaire ECCRG. Si la variable d'état Rdmem est à 1, alors le calcul 413 des nouveaux bits de parités NP doit être réalisé à partir des nouveaux 3065303 16 octets NDi et des anciens octets OD du mot-mémoire de destination Wd. Une recomposition des données 200 similaire à celle décrite précédemment en relation avec la figure 2 est alors mise en oeuvre. 5 Cette recomposition 200 permet de charger dans le registre intermédiaire ECCRG les anciens octets utiles au calcul 413 des nouveaux bits de parités du mot-mémoire de destination. On rappelle que la recomposition des données 200 comporte une lecture 201 du mot-mémoire de destination (dans le plan-mémoire 10 ou dans les verrous de lignes de bits BLL, en fonction de l'état du verrou de grille de commande CGL correspondant) et une correction 202 d'une éventuelle erreur mise en oeuvre grâce à un mécanisme de code correcteur d'erreur. Les anciens octets OD ainsi lus et éventuellement corrigés sont ensuite chargés 203 dans le registre 15 intermédiaire ECCRG. Puis les nouveaux octets NDi du registre intermédiaire de nouvelle donnée NDRG sont chargés 412 dans le registre intermédiaire ECCRG et écrasent les anciens octets OD correspondants. Les nouveaux bits de parité NP sont calculés réalisés à partir 20 d'une combinaison des nouveaux octets NDi et des anciens octets OD et sont chargés dans le registre intermédiaire ECCRG. Ensuite, des phases préliminaires 414, 415 du cycle d'écriture 430 sont mises en oeuvre. Lesdites phases préliminaires comportent un chargement 414 de 25 verrous de lignes de bits BLL et une initialisation 415 d'un verrou de grille de commande CGL associé au mot-mémoire de destinations Wd correspondant. Les verrous de lignes de bits permettent de stocker les données à écrire physiquement dans le plan-mémoire PM, et les verrous de 30 grille de commande CGL permettent d'indiquer, lorsqu'ils sont initialisés, que les verrous de lignes de bits correspondants au mot-mémoire associé sont déjà chargés. Cela permet de diriger une lecture vers les verrous de ligne de bits BLL si le verrou de grille de 3065303 17 commande CGL est initialisé et ainsi d'éviter une lecture dans le plan-mémoire. Cela est utile en cas de « rollover », c'est-à-dire lorsqu'il est envoyé plus de données à écrire que la taille physique d'une page. 5 Dans ce cas, les données dépassant la taille de page écrasent les données initialement envoyées, c'est à dire que pour une page de 256 octets, seuls les 256 derniers octets reçus sont pris en compte, le 257ème reçu écrasant le premier reçu, etc. Alors, pour les données écrasées, la recomposition éventuelle 10 doit se faire à partir du contenu des verrous de ligne de bits BLL, et non plus à partir du plan-mémoire. C'est l'état du verrou de grille de commande CGL qui permet de savoir si un mot Wd a précédemment déjà été chargé. Les étapes suivantes correspondent à la réception du nouvel 15 octet suivant. Plus précisément, ces étapes comprennent une incrémentation 416 de l'adresse contenue dans un registre d'adresse AREG, la réception de l'octet suivant, et la réinitialisation de la variable d'état Rdmem à la valeur indiquant que les octets du mot-mémoire de destination vont être remplacés par de nouveaux octets. 20 Ensuite, les étapes 404 à 418 sont reproduites tant que le dernier octet n'a pas été transmis à la mémoire. Lorsque le dernier nouvel octet a été communiqué lors d'une étape 417, un signal stop est communiqué à la mémoire et des étapes 421-430 de conclusion d'écriture sont mises en oeuvre. 25 Un test logique 421 sur une égalité des deux derniers bits de poids faible de l'adresse du dernier octet à écrire avec les valeurs logiques 1-1 est réalisé. L'adresse du dernier nouvel octet à écrire est contenue dans le registre d'adresse AREG, ayant été incrémenté au fur et à mesure des réceptions successives des nouveaux octets, à partir de 30 l'adresse du premier nouvel octet. Un résultat vrai de ce test logique (c'est-à-dire dans le cas où les deux derniers bits de poids faible de l'adresse du premier octet à écrire ont chacun une valeur égale à 1) est représentatif d'un emplacement du dernier nouvel octet à écrire dans le mot-mémoire de 3065303 18 destination correspondant Wd identique à l'emplacement du dernier octet de ce mot-mémoire Wd. Si ce n'est pas le cas, alors une lecture dans le plan-mémoire de ce dernier mot-mémoire de destination est nécessaire pour calculer 5 les bits de parité associés à ce mot-mémoire de destination et la variable d'état Rdmem est initialisée. Si la variable d'état Rdmem est à 0, un calcul 425 des nouveaux bits de parité NP est réalisé à partir des nouveaux octets chargés dans le registre intermédiaire ECCRG. 10 Si la variable d'état Rdmem est à 1, alors le calcul 425 des nouveaux bits de parités NP doit être réalisé à partir des nouveaux octets et des anciens octets du mot-mémoire de destination, et une recomposition des données 200 est mise en oeuvre. S'ensuivent des phases préliminaires de chargement 426, 427 15 homologues aux étapes 414 et 415. Tous les verrous de ligne de bits BLL ayant été chargés avec les nouveaux octets à écrire, le cas échéant, avec les anciens octets à conserver, et avec les nouveaux bits de parité des mots-mémoires de destination, le cycle d'écriture 430 peut alors s'achever par une 20 écriture physique 428 dans le plan-mémoire. L'écriture 428 dans le plan-mémoire comporte de façon habituelle l'application d'impulsions haute-tension d'effacement et de programmation. Une mémoire configurée pour mettre en oeuvre ce type de 25 procédé d'écriture avantageux est conçue de façon à pouvoir réaliser lesdites étapes de conclusion 421-430 après le signal stop de fin de réception. Par exemple une horloge interne peut permettre à un moyen de commande de mettre en oeuvre lesdites étapes de conclusion, de façon 30 adaptée au protocole I2C. Dans un autre exemple, un automate peut être dédié à la mise en oeuvre desdites étapes de conclusion, de façon adaptée au protocole SPI. La figure 5 représente un système sur puce SOC comportant un dispositif de mémoire DIS apte à vérifier si les anciens octets d'un 3065303 19 mot-mémoire de destination doivent tous ou non être remplacés par de nouveaux octets, et réaliser une opération de lecture seulement si nécessaire dans le cadre d'une opération d'écriture d'une recomposition d'anciennes et de nouvelles données, et, dans cet 5 exemple, dans le cadre d'un calcul de nouveaux bits de parité d'une telle recomposition. Par ailleurs le système sur puce SOC comporte différents modules destinés à mettre en oeuvre la fonction de ce système sur puce, tels qu'un module de calcul et de commande CPU, un module 10 d'interface de communication COM, ou encore un module d'alimentation ALM. Le dispositif de mémoire comporte un plan mémoire PM, de structure classique et connue en soi, comportant des cellules-mémoire de type EEPROM arrangées matriciellement en rangées R de mots- 15 mémoire W et en colonnes. Une entrée EWR est destinée à recevoir des nouvelles données à écrire, par exemple transmises par un utilisateur sur une interface de bus I2C. On rappelle ici qu'une cellule-mémoire du type EEPROM 20 comporte un transistor possédant de façon classique une grille de commande, une grille flottante, une région de drain et une région de source. Une telle cellule est effaçable et programmable par effet Fowler-Nordheim. Un décodeur colonne XDEC et un décodeur ligne YDEC 25 permettent d'adresser le plan mémoire PM et sont eux-mêmes adressés par un registre d'adresses AREG. Le registre d'adresses est configuré pour être incrémenté au fur et à mesure des réceptions successives des nouveaux octets à écrire, à partir de l'adresse du premier nouvel octet. Le dispositif de mémoire DIS comporte également des moyens 30 de lecture MRD connectés au plan mémoire par le décodeur colonne XDEC. Les moyens d'écriture MWR sont reliés à des verrous de ligne de bits BLL et à des verrous de grille de commande CGL, et sont aptes à mettre en oeuvre des cycles d'écriture en appliquant des impulsions 3065303 20 d'effacement et de programmation dans les cellules-mémoire via le décodeur de lignes YDEC. Les adresses et données peuvent être entrées par respectivement les registres d'adresses AREG et le moyen d'écriture 5 MWR et les données peuvent être extraites par le moyen de lecture MRD. L'ensemble de ces moyens est commandé par une logique de commande, ou machine d'état, CMD par l'intermédiaire d'un registre d'entrée-sortie I/OREG. 10 Un mécanisme de code correcteur d'erreur MECC et un registre intermédiaire ECCRG utile au calcul des bits de parité sont inclus au moyen de commande, dans cet exemple. Le moyen de commande CMD est en outre configuré pour pouvoir encore commander les différents moyens du dispositif après la 15 fin de la réception, notamment afin de mettre en oeuvre les étapes de conclusion 421-430 décrites en relation avec la figure 4. La figure 6 représente un exemple d'appareil électronique APP, une prothèse auditive dans cette représentation, comportant un tel dispositif de mémoire DIS par exemple réalisé sous forme de circuit 20 intégré ou inclus à un système sur puce SOC par exemple. De façon générale, l'appareil APP est un appareil électronique ayant peu de ressources énergétiques, tels que les appareils alimentés par piles ou batteries, bien que limiter la consommation de courant puisse être souhaitable dans toute autre application. 25 Par ailleurs l'invention n'est pas limitée à ces modes de mise en oeuvre et de réalisation mais en embrasse toutes les variantes, par exemple des étapes supplémentaires et non détaillées ici peuvent être incorporées aux étapes décrites en relation avec la figure 4, de même que le dispositif de mémoire et le système sur puce peuvent intégrer 30 d'autres fonctions que celles qui ont été présentées en relation avec les figures 5 et 6. En outre, l'invention a été décrite selon une application à une mémoire équipée d'un mécanisme de code correcteur d'erreur, mais s'adapte à une mémoire n'en ayant pas, par exemple en retirant les 3065303 21 étapes 202, 413 et 425 du procédé décrit en relation avec la figure 4. De même, l'invention s'adapte à d'autres valeurs de granularités, par exemple une première granularité d'un bit, et une deuxième granularité d'un octet, en transposant octet avec bit et mot-mémoire avec octet 5 dans la présente description. REVENDICATIONS1. Procédé d'écriture selon une première granularité dans un plan-mémoire (PM) d'une mémoire non-volatile (DIS), le plan-mémoire (PM) étant arrangé en mots-mémoire (Wi) destinés à stocker chacun plus d'un octet de données (OCT) et la mémoire (DIS) étant configurée pour accéder au plan-mémoire (PM) selon une deuxième granularité supérieure à la première granularité, le procédé d'écriture comprenant, en présence d'une suite de nouveaux octets (SND) à écrire dans le plan-mémoire (PM) dans au moins un mot-mémoire de destination (Wd) contenant déjà des anciens octets (OD), -une vérification (411, 423) pour chaque mot-mémoire de destination (Wd) si les anciens octets (OD) de ce mot-mémoire de destination (Wd) doivent tous ou non être remplacés par de nouveaux octets (ND), et - si au moins un ancien octet (OD) ne doit pas être remplacé par un nouvel octet (ND), une opération de lecture (200) de chaque ancien octet (OD) ne devant pas être remplacé et un chargement, dans un registre intermédiaire (ECCRG), des nouveaux octets (ND) et dudit au moins un ancien octet (OD), formant un nouveau contenu dudit mot-mémoire de destination (Wd), tandis que - si les anciens octets (OD) de ce mot-mémoire de destination (Wd) doivent tous être remplacés par de nouveaux octets (ND), un chargement dans un registre intermédiaire (ECCRG) desdits nouveaux octets (ND), formant le nouveau contenu dudit mot-mémoire de destination (Wd), sans opération de lecture préalable (200) des anciens octets (OD) de ce mot-mémoire de destination (Wd), et - un cycle d'écriture (430) dans le plan-mémoire (PM) du nouveau contenu de chaque mot-mémoire de destination (Wd). 2. Procédé selon la revendication 1, dans lequel ladite vérification (411, 423) comporte une identification des emplacements respectifs du premier nouvel octet (NDO) à écrire dans le mot-mémoire de destination correspondant (Wd) et du dernier nouvel octet (ND2, ND3, ND240) à écrire dans le mot-mémoire de destination 3065303 23 correspondant (Wd), des emplacements respectivement identiques à celui affecté au premier octet du mot-mémoire de destination correspondant (Wd) et à celui affecté au dernier octet du mot-mémoire de destination correspondant (Wd) traduisant que les anciens octets 5 (OD) de ce mot-mémoire de destination (Wd) doivent tous être remplacés par de nouveaux octets (ND). 3. Procédé selon la revendication 2, dans lequel l'identification de l'emplacement du premier nouvel octet (NDO) comprend un test logique (402) entre les valeurs des deux derniers bits 10 de poids faible de l'adresse (COLAdLsB) de l'emplacement du premier nouvel octet (NDO) et les valeurs 0-0, une égalité entre ces valeurs signifiant que l'emplacement de ce premier nouvel octet (NDO) correspond à celui affecté au premier octet du mot-mémoire de destination correspondant (Wd), et l'identification de l'emplacement 15 du dernier nouvel octet (ND2, ND3, ND240) comprend un test logique (421) entre les valeurs des deux derniers bits de poids faible de l'adresse (COLAdLss) de l'emplacement du dernier nouvel octet (ND2, ND3, ND240) et les valeurs 1-1, une égalité entre ces valeurs signifiant que l'emplacement de ce dernier nouvel octet (ND2, ND3, 20 ND240) correspond à celui affecté au dernier octet du mot-mémoire de destination correspondant (Wd). 4. Procédé selon l'une quelconque des revendications précédentes, dans lequel une série de bits de parité (P) est associée à chaque mot-mémoire (Wi) du plan-mémoire (PM), et dans lequel 25 lesdits chargements dans le registre intermédiaire (ECCRG) du nouveau contenu dudit mot-mémoire de destination (Wd) comportent chacun un calcul respectif (413, 425) de nouveaux bits de parité (NP) associés à et à partir de ce nouveau contenu de chaque mot-mémoire de destination (Wd). 30 5. Procédé selon la revendication 4, dans lequel lesdits calculs (413, 425) de nouveaux bits de parité (NP) sont mis en oeuvre à partir desdits nouveaux octets (ND) et, le cas échéant, desdits anciens octets (OD), préalablement chargés dans le registre intermédiaire (ECCRG). 3065303 24 6. Procédé selon l'une quelconque des revendications 4 ou 5, dans lequel l'opération de lecture (200) dudit au moins un ancien octet comporte une correction d'une éventuelle erreur (202) présente dans ledit au moins un ancien octet (201). 5 7. Procédé selon l'une quelconque des revendications précédentes, dans lequel le cycle d'écriture (430) comporte un chargement (414, 426) des octets chargés dans ledit registre intermédiaire (ECCRG), et, le cas échéant desdits nouveaux bits de parité (NP), dans des verrous de ligne de bits (BLL) correspondant, et 10 une écriture (428) dans le plan-mémoire (PM) des données chargées dans lesdits verrous de ligne de bits (BLL). 8. Procédé selon l'une quelconque des revendications précédentes, dans lequel la première granularité est d'un octet, et la deuxième granularité est d'un mot-mémoire. 15 9. Dispositif de mémoire non-volatile (DIS) comportant une entrée (EWR) pour recevoir des données à écrire selon une première granularité, un plan-mémoire (PM) arrangé en mots-mémoire (Wi) destinés à stocker chacun plus d'un octet de données (OCT) dans des emplacements-mémoire (EMPM), le dispositif (DIS) comportant un 20 moyen de lecture (MRD) et un moyen d'écriture (MWR) configurés pour réaliser, selon une deuxième granularité supérieure à la première granularité, respectivement des opérations de lecture (200) et des cycles d'écriture (430) dans le plan-mémoire (PM), et un moyen de commande (CMD) configuré pour, en présence d'une suite de 25 nouveaux octets (SND) à écrire dans le plan-mémoire (PM) dans au moins un mot-mémoire de destination (Wd) contenant déjà des anciens octets (OD) - vérifier (402, 421) pour chaque mot-mémoire de destination (Wd) si les anciens octets (OD) de ce mot-mémoire de destination 30 (Wd) doivent tous ou non être remplacés par de nouveaux octets (ND), et - si au moins un ancien octet (OD) ne doit pas être remplacé par un nouvel octet (ND), commander le moyen de lecture (MRD) pour réaliser une opération de lecture (200) de chaque ancien octet (OD) ne 3065303 25 devant pas être remplacé et commander un chargement dans un registre intermédiaire (ECCRG) de chaque nouvel octet (ND) et dudit au moins un ancien octet (OD), formant un nouveau contenu dudit mot-mémoire de destination (Wd), tandis que 5 - si les anciens octets (OD) de ce mot-mémoire de destination (Wd) doivent tous être remplacés par de nouveaux octets (ND), commander un chargement dans un registre intermédiaire (ECCRG) de chaque nouvel octet (ND), formant le nouveau contenu dudit mot-mémoire de destination (Wd) sans commander d'opération de lecture 10 (200) préalable des anciens octets de ce mot-mémoire de destination (Wd), et - commander le moyen d'écriture (MWR) pour réaliser un cycle d'écriture (430) du nouveau contenu de chaque mot-mémoire de destination (Wd). 15 10. Dispositif selon la revendication 9, dans lequel le moyen de commande (CMD) est configuré pour, lors de ladite vérification (402, 421), identifier les emplacements respectifs du premier nouvel octet (NDO) à écrire dans le mot-mémoire de destination correspondant (Wd) et du dernier nouvel octet (ND2, ND3, ND240) à écrire dans le mot- 20 mémoire de destination correspondant (Wd), des emplacements respectivement identiques à celui affecté au premier octet du mot-mémoire de destination correspondant (Wd) et à celui affecté au dernier octet du mot-mémoire de destination correspondant (Wd) traduisant que les anciens octets (OD) de ce mot-mémoire de 25 destination (Wd) doivent tous être remplacés par de nouveaux octets (ND). 11. Dispositif selon la revendication 10, dans lequel le moyen de commande (CMD) est configuré pour réaliser un test logique (402) entre les valeurs des deux derniers bits de poids faible de l'adresse 30 (COLAdLsB) de l'emplacement du premier nouvel octet (NDO) et les valeurs 0-0, une égalité entre ces valeurs signifiant que l'emplacement de ce premier nouvel octet (NDO) correspond à celui affecté au premier octet du mot-mémoire de destination correspondant (Wd), et un test logique (421) entre les valeurs des deux derniers bits de poids 3065303 26 faible de l'adresse (COLAdLss) de l'emplacement du dernier nouvel octet (ND2, ND3, ND240) et les valeurs 1-1, une égalité entre ces valeurs signifiant que l'emplacement de ce dernier nouvel octet (ND2, ND3, ND240) correspond à celui affecté au dernier octet du mot- 5 mémoire de destination correspondant (Wd). 12. Dispositif selon l'une quelconque des revendications 9 à 11, dans lequel le plan-mémoire comporte des emplacements-mémoire (EMPM) destinés à stocker une série de bits de parité (P) associée à chaque mot-mémoire (Wi), le dispositif comportant un moyen de 10 correction d'erreur (MECC) configuré pour calculer (413, 425) des nouveaux bits de parité (NP) associés à et à partir de ce nouveau contenu de chaque mot-mémoire de destination (Wd). 13. Dispositif selon la revendication 12, dans lequel le moyen de lecture (MRD) est configuré pour réaliser des opérations de lecture 15 (200) comportant une lecture (201) des anciens octets (OD) dans le plan-mémoire (PM) et le moyen de correction d'erreur (MECC) pour corriger une éventuelle erreur (202) présente dans lesdits mots-mémoires lus. 14. Dispositif selon l'une quelconque des revendications 9 à 20 13, dans lequel le moyen de commande (CMD) est configuré pour encore commander le moyen de lecture (MRD), le moyen d'écriture (MWR) et, le cas échéant, le moyen de correction d'erreur (MECC), après réception du dernier octet de ladite suite de nouveaux octets (SND) à écrire. 25 15. Dispositif selon l'une quelconque des revendications 9 à 14, dans lequel le moyen d'écriture (MWR) est configuré pour, lors d'un cycle d'écriture (430), charger (414, 426) ledit nouveau contenu de chaque mot-mémoire de destination chargé dans ledit registre intermédiaire (ECCRG) et, le cas échéant, lesdits nouveaux bits de 30 parité (NP) dans des verrous de ligne de bits (BLL), et écrire (428) dans le plan-mémoire (PM) les données chargées dans lesdits verrous de ligne de bits (BLL). 3065303 27 16. Dispositif selon l'une quelconque des revendications 9 à 15, dans lequel la première granularité est d'un octet et la deuxième granularité est d'un mot-mémoire. 17. Dispositif de mémoire (DIS) selon l'une quelconque des 5 revendications 9 à 16, réalisé de façon intégrée. 18. Système sur puce (SOC) comportant un dispositif de mémoire selon la revendication 17. 19. Appareil électronique (APP), tel qu'une prothèse auditive ou un téléphone portable, comportant un dispositif (DIS) selon l'une 10 quelconque des revendications 9 à 17 ou un système sur puce (SOC) selon la revendication 18.