Brevet FR3089317A1 — publié le 20200605

Description Titre de l'invention : Procédé de gestion de l'espace mémoire d'un dispositif de mémoire et système correspondant [0001] Des modes de mise en oeuvre et de réalisation de l'invention concernent la gestion de l'espace-mémoire d'un dispositif de mémoire, en particulier un dispositif de mémoire volatile, par exemple un dispositif de mémoire vive statique (SRAM : Statif. Random Access Memory), en particulier lorsque l'utilisation d'un code correcteur d'erreurs (ECC : Error Correction Code) est optionnelle. [0002] Un code correcteur d'erreurs est bien connu de l'homme du métier et permet de 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-Fs bits. [0003] Lorsque l'on souhaite mettre en oeuvre un code correcteur d'erreurs, la taille de la mémoire contenant les données et les bits de contrôle est plus importante que la taille d'une mémoire destinée à stocker des données sans utilisation de code correcteur d'erreurs. [0004] A titre indicatif, une mémoire statique destinée à stocker des données sur une largeur de 32 bits (mots de 32 bits) présente und largeur additionnelle de 7 bits pour le stockage des bits dc contrôle, ce qui conduit à und largeur globale de 39 bits, de façon à pouvoir stocker des mots dc 39 bits. [0005] 11 en résulte une augmentation de surface de 22% par rapport à une mémoire de 32 bits non prévue pour stocker des bits dc contrôle. [0006] Dans le cas où un utilisateur ne veut pas utiliser de code correcteur d'erreurs dans une application particulière, cette zone mémoire additionnelle de 22% ne sera jamais utilisée car non accessible pour un stockage dc données. Or, cette surface mémoire perdue a un impact direct dans les courants de fuite, ce qui n'est pas négligeable pour des produits basse consommation. [0007] L'ajout de surface mémoire a également un impact sur le coût du dispositif [0008] 11 existe donc un besoin dc remédier à cet inconvénient et de proposer und plus grande flexibilité dans la gestion de l'espace mémoire d'une mémoire de façon à prendre en compte le caractère optionnel de l'utilisation d'un code correcteur d'erreurs. [0009] Selon un mode de mise en oeuvre et de réalisation, il est proposé une mémoire capable de stocker des données et des bits de contrôle de code correcteur d'erreurs et de pouvoir éventuellement réutiliser l'espace mémoire prévu pour ces bits de contrôle, à des fins de stockage de données au cas où dans certaines applications, il n'est pas prévu d'utiliser de code correcteur d'erreurs. 2 [0010] Selon un aspect, il est proposé un système comprenant un dispositif de mémoire comportant un premier domaine mémoire destiné à stocker des premières données à des premières adresses et un deuxième domaine mémoire destiné à stocker, sur commande, soit des deuxièmes données à des deuxièmes adresses, soit des bits de contrôle de code correcteur d'erreurs associés aux premières données à des troisièmes adresses. [0011] Selon un mode de réalisation, le système comprend en outre des moyens de traitement configurés pour déterminer avantageusement les troisièmes adresses à partir des premières adresses. [0012] Ceci permet une simplification dans le calcul des troisièmes adresses et permet de relier l'adresse d'un mot de contrôle associé à un mot de données avec l'adresse de ce mot de données de façon à pouvoir retrouver très facilement le mot de contrôle dans le deuxième domaine mémoire. [0013] Selon un mode de réalisation, le système comprend une interface. [0014] Cette interface est configurée pour recevoir les premières données ainsi que des premières adresses initiales associées à ces premières données. [0015] L'interface est également configurée pour recevoir éventuellement les deuxièmes données ainsi que des deuxièmes adresses initiales associées à ces deuxièmes données. [0016] L'interface est également configurée pour délivrer les premières adresses à partir des premières adresses initiales et les deuxièmes adresses à partir des deuxièmes adresses initiales. [0017] En effet, les premières et deuxièmes adresses initiales sont véhiculées en général sur un bus et en fonction de l'architecture du système et de la taille du dispositif de mémoire, les premières adresses et les deuxièmes adresses dans le dispositif de mémoire peuvent être identiques aux ou différentes des premières et deuxièmes adresses initiales. [0018] Ainsi, par exemple, les premières et deuxièmes adresses initiales peuvent être codées sur 17 bits alors que les premières et deuxièmes adresses peuvent être codées sur 15 bits obtenus par exemple par troncature de deux bits des adresses initiales. [0019] Le système comprend également un module de code correcteur d'erreurs configuré pour déterminer les bits de contrôle associés auxdites premières données. [0020] Le système comprend également des moyens de traitement configurés pour dé- terminer les troisièmes adresses des bits de contrôle et des moyens de commande configurés pour délivrer au deuxième domaine mémoire soit les deuxièmes données et lesdites deuxièmes adresses soit les bits de contrôle et les troisièmes adresses. [0021] Selon un mode de réalisation, le premier domaine mémoire comprend au moins une première zone mémoire ayant une première taille mémoire, par exemple n kbits avec n pouvant être égal à 32 ou 64 sans que ces valeurs ne soient limitatives, et le deuxième 3 domaine mémoire comporte une deuxième zone mémoire ayant également ladite première taille. [0022] Ladite au moins une première zone mémoire et la deuxième zone mémoire comportent des rangées. [0023] Et, selon un mode de réalisation, les moyens de traitement sont configurés pour dé- terminer lesdites troisièmes adresses de sorte que les bits de contrôle associés aux premières données stockées dans un premier nombre de rangées successives de ladite au moins une première zone mémoire, soient stockés dans un deuxième nomhre de rangées de la deuxième zone mémoire inférieur au premier nomhre. [0024] Plus particulièrement, lorsque chaque rangée de ladite au moins une première zone mémoire et chaque rangée de la deuxième zone mémoire sont configurécs pour stocker des mots de p octets, les moyens de traitement sont configurés pour déterminer lesdites troisièmes adresses de sorte que les bits de contrôle associés aux premières données stockées dans p rangées successives de ladite au moins une première zone mémoire, soient stockés dans les p octets d'une rangée de la deuxième zone mémoire. [0025] Ainsi si par exemple chaque rangée a la capacité de stocker des mots de 32 bits (4 octets), les bits de contrôle associés aux mots de données de 32 bits stockés dans 4 rangées successives de la première zone mémoire, seront stockés dans les 4 octets d'une rangée de la deuxième zone mémoire. [0026] Si par exemple chaque rangée a la capacité de stocker des mots de 64 bits (8 octets), les bits de contrôle associés aux mots de données de 64 bits stockés dans 8 rangées successives de la première zone mémoire, seront stockés dans les 8 octets d'une rangée de la deuxième zone mémoire. [0027] En pratique, le premier domaine mémoire peut comporter plusieurs premières zones mémoires, par exemple mais non limitativement 4 premières zones mémoires, ayant chacune ladite première taille mémoire, par exemple 64 kbits. [0028] Plus particulièrement, si p désigne comme indiqué ci-avant le nombre d'octets que peut stocker une rangée, le premier domaine mémoire peut comporter k.p premières zones mémoire et le deuxième domaine mémoire peut comporter k deuxièmes zones mémoires, k étant un entier supérieur ou égal à 1. [0029] Le dispositif de mémoire peut être un dispositif de mémoire volatile, par exemple une mémoire statique à accès aléatoire (SRAM) mais également une mémoire non volatile par exemple une mémoire du type EEPROM, sans que ces exemples ne soient limitatifs. [0030] Selon un autre aspect, il est proposé un procédé de gestion de l'espace mémoire d'un dispositif de mémoire comportant un premier domaine mémoire et un deuxième domaine mémoire, le procédé comprenant un stockage de premières données à des premières adresses dans le premier domaine et, sur commande, soit un stockage dans le deuxième domaine mémoire de deuxièmes données à des deuxièmes adresses, soit un stockage dans le deuxième domaine mémoire de bits de contrôle de code correcteur d'erreurs associés aux premières données à des troisièmes adresses. [0031] Selon un mode de mise en oeuvre, le procédé comprend une détermination des troisièmes adresses à partir des premières adresses. [0032] La détermination des troisièmes adresses comporte avantageusement des troncatures des premières adresses. [0033] Selon un mode de mise en oeuvre, le procédé comprend une réception des premières données ainsi que de premières adresses initiales associées aux premières données et éventuellement une réception des deuxièmes données ainsi que de deuxièmes adresses initiales associées à ces deuxièmes données, une élaboration des premières adresses à partir des premières adresses initiales et une élaboration des deuxièmes adresses à partir des deuxièmes adresses initiales, une détermination des bits de contrôle associés auxditcs premières données, une détermination des troisièmes adresses des bits de contrôle, et, sur commande, une délivrance au deuxième domaine mémoire soit desdites deuxièmes données et desdites deuxièmes adresses soit des bits de contrôle et des troisièmes adresses. [0034] Selon un mode de mise en oeuvre, le premier domaine mémoire comprend au moins une première zone mémoire ayant une première taille mémoire et le deuxième domaine mémoire comporte une deuxième zone mémoire ayant également ladite première taille mémoire. [0035] Selon un mode de mise en oeuvre, ladite au moins une première zone mémoire et la deuxième zone mémoire comportent des rangées, et les bits de contrôle associés aux premières données stockées dans un premier nombre de rangées successives de ladite au moins une première zone mémoire, sont stockés dans un deuxième nombre de rangées de la deuxième zone mémoire inférieur au premier nombre. [0036] Selon un mode de mise en oeuvre, chaque rangée de ladite au moins une première zone mémoire et chaque rangée de la deuxième zone mémoire sont configurées pour stocker des mots de p octets, et les bits de contrôle associés aux premières données stockées dans p rangées successives de ladite au moins une première zone mémoire, sont stockés dans les p octets d'une rangée de la deuxième zone mémoire. [0037] Selon un mode de mise en oeuvre, le premier domaine mémoire comporte plusieurs zones mémoires ayant chacune ladite première taille mémoire. [0038] Selon un mode de mise en oeuvre, le premier domaine mémoire comporte k.p premières zones mémoire et le deuxième domaine mémoire comporte k deuxièmes zones mémoires, k étant un entier supérieur ou égal à 1. [0039] Le dispositif de mémoire peut être un dispositif de mémoire volatile. [0040] D'autres avantages et caractéristiques de l'invention apparaîtront à l'examen de la description détaillée de modes de mise en oeuvre et de réalisation de l'invention, nullement limitatifs, et des dessins annexés sur lesquels [0041] [fig.1] illustre un mode de réalisation d'un dispositif de mémoire selon l'invention dans une première configuration, [0042] [fig.2] illustre un mode de réalisation d'un dispositif de mémoire selon l'invention dans une deuxième configuration, [0043] [fig.3] illustre un mode de réalisation d'un système selon l'invention, [0044] [fig.4] illustre partiellement un mode de mise en oeuvre du procédé selon l'invention, [0045] [fig.5] illustre partiellement un mode de mise en oeuvre du procédé selon l'invention, [0046] [fig.6] illustre partiellement un mode de mise en oeuvre du procédé selon l'invention, et [0047] [fig.7] illustre partiellement un exemple de mise en oeuvre de l'invention. [0048] Sur la figure 1, la référence DMM désigne un dispositif de mémoire, ici un dispositif de mémoire volatile, comportant un premier domaine mémoire DM1 et un deuxième domaine mémoire DM2. [0049] Le premier domaine mémoire DM1 comporte quatre zones mémoire sraml, sram2, sram3 et sram4 de taille mémoire identique. [0050] Dans l'exemple illustré ici, ces zones mémoire sont formées par des mémoires vives statiques distinctes. Cela étant, il serait également envisageable que ces zones mémoires soient des zones mémoire d'une même mémoire. [0051] Le deuxième domaine mémoire DM2 comporte une zone mémoire sram5, de taille mémoire identique à celle des zones mémoire sraml-sram4. [0052] Là encore, la zone mémoire sram5 est une mémoire vive statique. [0053] Dans l'exemple décrit ici, la largeur du dispositif de mémoire est égale à 32 bits, c'est-à-dire qu'on peut stocker des mots de données de 32 bits comportant chacun quatre octets. [0054] La taille mémoire est égale à n kbits, par exemple 64 kbits. [0055] Les zones mémoire sraml-sram4 sont destinées à stocker respectivement des données Data-mem-cuti-4. [0056] Dans la configuration illustrée sur la figure 1, la zone mémoire sram5 est destinée à comporter les bits de contrôle de code correcteur d'erreurs associés aux données 6 stockées dans les zones mémoire srarnl-sram4. [0057] Ceci est fait sur commande d'un signal SCECC qui, dans ce cas, prend par exemple la valeur logique 1. [0058] La figure 2 illustre une autre configuration du dispositif de mémoire DMM dans laquelle cette fois-ci la zone mémoire sram5 est destinée à stocker des deuxièmes données Data-mem-cut5. [0059] Ceci correspond au cas où un utilisateur ne souhaiterait pas utiliser de code correcteur d'erreurs mais souhaiterait utiliser par contre l'espace disponible de la zone mémoire sram5 pour y stocker des données. [0060] Dans ce cas, le signal de commande SCECC est égal à 0. [0061] On se réfère maintenant plus particulièrement à la figure 3 pour décrire un mode de réalisation d'un système selon l'invention. [0062] Le système SYS comporte une interface SRINT connectée à un bus BSS qui peut être de toute structure classique et par exemple un bus AHB utilisant un protocole décrit par exemple dans le document AMBA 3 AHB-Lite Protocol V1.0 Specification, de la société ARM (2001, 2006). [0063] Cc bus véhicule notamment les premières données Data-mem-cuti-4, des premières adresses initiales HADRR associées aux premières données, éventuellement les deuxièmes données Add-memory-cut5 et leurs deuxièmes adresses initiales HADRR, ainsi que d'autres signaux classiques de bus non représentés ici à des fins de simplification. [0064] L'interface SRINT, de structure classique et connue en soi, est configurée pour délivrer des premières adresses associées aux premières données Data-mem-cuti-4 et pour délivrer éventuellement des deuxièmes adresses associées aux deuxièmes données Data-mem-cut5. [0065] Ces première et deuxième adresses sont respectivement tirées des premières et deuxièmes adresses initiales HADRR qui étaient véhiculées sur le bus BSS. [0066] Les premières et deuxièmes adresses pourraient être identiques aux premières adresses initiales. Cela étant, en fonction de l'architecture du système, et notamment de la largeur des zones mémoire, les premières et deuxièmes adresses peuvent être obtenues à partir des premières et deuxièmes adresses initiales par troncature d'un ou de plusieurs bits. [0067] Dans l'exemple décrit ici, on peut écrire dans chaque rangée d'une zone mémoire srarni, i égal à 1, 2, 3, ou 4, un mot de 32 bits composé de 4 octets de 8 bits. [0068] Ainsi, dans cet exemple, les références Md-mem-cuti-4 désignent les adresses d'une rangée des zones mémoire srami-4 et la référence Mask-mem-cuti-4 désigne le numéro de l'octet dans la rangée désignée de la zone mémoire considérée. [0069] Ainsi, les adresses Md-mem-cuti-4 et les masques Mask-mem-cuti-4 forment 7 lesdites premières adresses. [0070] De même, l'adresse Add-mem-cut5 et le masque Mask-mem-cut5 forment la deuxième adresse associée à une deuxième donnée Data-mem-cut5. [0071] Les signaux WEN-cut-1-4 et WEN-cut5 sont des signaux classiques de commande d'écriture dans les différentes zones mémoire et les signaux CSEN-cutl -4 et CSENcut5 sont des signaux classiques de sélection de la zone mémoire considérée. [0072] Le système SYS comporte également un module de code correcteur d'erreurs MECC, de structure classique et connue en soi, configure pour déterminer les bits de contrôle associés auxdites premières données Data-mem-cuti-4. [0073] Plus précisément, pour un mot de quatre octets stocké dans une rangée d'une zone mémoire sraml -4, la référence S désigne les s bits de contrôle associés à ce mot de 4 octets. [0074] S est, dans le cas d'un mot de 32 bits, un mot de 7 bits. En conséquence, S peut être stocké dans un octet de la zone mémoire sram5. [0075] Si la largeur de la mémoire était de 64 bits et non de 32 bits, S aurait unc longueur de 8 bits, ce qui pourrait encore être stocké dans un octet de la mémoire sram5. [0076] Comme il est classique, pour écrire un nouveau mot de 32 bits dans une rangée de l'une des zones mémoire sraml à sram4, on procède tout d'abord à la lecture du mot déjà stocké dans cette rangée. [0077] Puis, le module de code correcteur d'erreurs MECC détermine un syndrome à partir des bits de données et de l'ensemble S des bits de contrôle. [0078] On rappelle ici qu'un syndrome est le résultat des calculs intermédiaires effectués lors de la correction d'erreur permettant de détecter et de localiser l'erreur. [0079] Si un bit est défectueux, le bloc MECC détecte effectivement ce bit défectueux et procède à sa correction. [0080] Avant d'écrire le nouveau mot à l'adresse du mot précédent dans la zone mémoire correspondante, le bloc MECC calcule le nouvel ensemble S des nouveaux bits de contrôle correspondant aux nouveaux octets de données. A cet égard, le nouvel ensemble S des bits de contrôle est calculé avec, le cas échéant, la valeur corrigée du bit défectueux. [0081] Puis, le nouveau mot est écrit dans la zone mémoire correspondante à la première adresse correspondante. [0082] Quant au nouvel ensemble S de bits de contrôle, il est, comme illustré sur la figure 3, délivrés à une entrée d'un multiplexeur MX. [0083] Le système SYS comporte également des moyens de traitement MT configurés pour déterminer des troisièmes adresses de stockage de ces bits de contrôle S. [0084] Ces bits de contrôle S seront en effet stockés dans la zone mémoire sram5. [0085] Une troisième adresse comporte ici l'adresse A-ecc d'une rangée de la zone mémoire 8 sram5 ainsi qu'un masque M-ccc permettant de sélectionner dans ladite rangée, l'un des 4 octets. [0086] Comme on le verra plus en détails ci-après, ces troisièmes adresses sont déterminées à partir des premières adresses et plus précisément, à partir des adresses de rangées Add-mem-cuti-4. [0087] Le système SYS comporte également des moyens de commande MCMD configurés pour délivrer au deuxième domaine mémoire, c'est-à-dire ici à la zone mémoire sram5, soit les deuxièmes données Data-mcm-cut5 et les deuxièmes adresses associées Addmem-cut5. Mask-mem-cut5, soit les bits de contrôle S et les troisièmes adresses A-ccc, M-ecc. [0088] Les moyens de commande MCMD comportent ici un module BMCM, par exemple une logique de contrôle délivrant le signal de commande SCECC, ainsi que le multiplexeur MX recevant ce signal de commande SCEC sur son entrée de commande. [0089] Bien entendu, en fonction de la valeur du signal SCECC, le signal WEN-cut5 et le signal CSEN-cut5 seront également délivrés à l'interface mémoire DM21NT couplée à la zone mémoire sram5. [0090] Par contre, les signaux WEN-cutl -4 et CSEN-cutl -4 sont quant à eux uniquement délivrés à l'interface DM1INT couplée au premier domaine mémoire DM1. [0091] On se réfère maintenant plus particulièrement aux figures 4 à 7 pour illustrer un mode de mise en oeuvre du procédé selon l'invention. [0092] La figure 4 illustre plus particulièrement l'obtention des premières adresses associées aux premières données destinées à être stockées dans les zones mémoire sraml-sram4 à partir des premières adresses initiales HADRR reçues par l'interface mémoire SRINT. [0093] Dans l'exemple décrit ici, les adresses initiales HADDR sont des adresses codées sur 18 bits b0-b17. [0094] La partie gauche de la figure 4 illustre ces adresses en format hexadécimal. [0095] Les premières adresses Add-mem-cut sont obtenues par troncature des deux bits de poids faibles b0, bl des adresses initiales. [0096] Ainsi, la partie droite de la figure 4 illustre ces adresses Add-mem-cut en format hexadécimal. [0097] Plus précisément, la valeur 0000 est l'adresse de début de la zone si-ami tandis que l'adresse 3FFF est l'adresse de fin de cette zone mémoire sraml. [0098] L'adresse 4000 est l'adresse de début de la zone mémoire sram2 tandis que l'adresse 7FFF est l'adresse de tin de cette zone mémoire sram2 [0099] L'adresse 8000 est l'adresse de début de la zone mémoire sram3 tandis que l'adresse BFFF est l'adresse de fin de cette zone mémoire sram3. [0100] Enfin, l'adresse C000 est l'adresse de début de la zone mémoire sram4 tandis que 9 l'adresse FFFF est l'adresse de fin de la zone mémoire sram4. [0101] Bien entendu, les adresses mémoire Add-mem-cut5 associées aux données éventuelles destinées à être stockées dans la zone mémoire sram5 sont obtenues d'une façon analogue à cc qui vient d'être décrit. [0102] La figure 5 illustre un exemple d'obtention des troisièmes adresses A-ecc à partir des premières adresses Add-mem-eut. [0103] Plus précisément, là encore, on effectue une troncature de deux bits des adresses Add-mcm-eut pour obtenir l'adresse A-ccc de la rangée correspondante dans la zone mémoire sram5. [0104] Plus précisément, cette troncature est une troncature des deux bits de poids faible 110-111 de l'adresse Add-mcm-eut. [0105] Ainsi, les bits de contrôle S associés aux données stockées dans la zone mémoire sraml seront écrits entre les adresses 000 et OFFF de la zone mémoire sram5. [0106] Les bits de contrôle associés aux données écrites dans la zone mémoire sram2 seront stockés entre les adresses 1000 et 1FFF de la zone mémoire sram5. [0107] Les bits de contrôle associés aux données écrites dans la zone mémoire sram3 seront stockés entre les adresses 2000 et 2FFF de la zone mémoire sram5. [0108] Enfin, les bits de contrôle associés aux données écrites dans la zone mémoire sram4 seront stockés entre les adresses 3000 et 3FFF de la zone mémoire sram5. [0109] Enfin, comme illustré sur la figure 6, le masque M-ccc dépend de la valeur des deux bits de poids faible bl, b0 de l'adresse Add-mem-cut. [0110] Plus précisément, si ces deux bits bl, b0 sont égaux à 0, alors le premier octet de M- ecc est égal à 1, les autres bits étant égaux à 0, ce qui signifie que l'on sélectionne, pour stocker les bits de contrôle S, le premier octet de la rangée correspondante. [0111] Si les deux bits bl, b0 valent respectivement 0 et 1, alors c'est cette fois-ci le deuxième octet du masque M-ecc qui vaut 1 ce qui signifie que l'on sélectionne le deuxième octet de la rangée pour stocker les bits de contrôle S. [0112] Si les bits bl, b0 valent respectivement 1 et 0, c'est cette fois-ci le troisième octet de M-ecc qui vaut 1 ce qui correspond à une sélection du troisième octet de la rangée correspondante pour stocker les bits de contrôle S. [0113] Enfin, si les deux bits bl et b0 valent tous deux 1, alors c'est le quatrième octet de M-ecc qui vaut 1 ce qui correspond à une sélection du quatrième octet de la rangée correspondante pour stocker les bits de contrôle. [0114] Bien entendu, cette façon de déterminer M-ecc vaut également pour la détermination de Mask-mem-cuti-4 et Mask-mem-cut5 de façon à sélectionner pour chaque octet d'un mot de données à stocker, l'octet correspondant dans la rangée adressée. [0115] Ainsi par exemple si l'on souhaite stocker un octet de donnée à l'adresse initiale HADDR égale à Ox2001ABC8, la première adresse sera égale, après troncature de l'adresse initiale, à 6AF2 ce qui correspond à une première adresse Add-mcm-cut2 d'une rangée de la deuxième zone mémoire sram2. [0116] Quant au mot de 7 bits formant le mot S des bits de contrôle associé au nouveau mot de 32 bits stocké dans la rangée, l'adresse A-ecc de la rangée correspondante dans la zone mémoire sram5. vaut après troncature de la première adresse Add-mem-cut2, lABC. [0117] Le masque M-ecc associé à cette adresse de rangée indique, puisque les deux bits de poids faibles 111,110 de la première adresse valent respectivement 1 et 0, une sélection du troisième octet de cette rangée pour stocker ce mot de contrôle S. [0118] On se réfère maintenant plus particulièrement à la figure 7 pour illustrer un exemple de mise en oeuvre du procédé selon l'invention. [0119] Dans cet exemple, on suppose que toutes les zones mémoire sraml à sram2 et sram5 ont une taille mémoire de 64 kbits avec une largeur de mot de 32 bits. [0120] En conséquence, chaque zone mémoire comporte 2048 rangées, chaque rangée pouvant contenir un mot de 32 bits (4 octets). [0121] Le code correcteur d'erreurs est appliqué. Chaque mot de contrôle associé à un mot de données de 32 bits contient 7 bits de contrôle. [0122] En appliquant les règles de détermination des adresses et des masques mentionnés ci- avant, on voit que l'ensemble Sll des bits de contrôle associés aux quatre octets OCT01, OCT11, OCT21 et OCT31 de la première rangée de la zone mémoire sraml va être stocké dans l'octet OCT35 de la première rangée de la zone mémoire sram5. [0123] De même, le mot S21 de bits de contrôle associé aux quatre octets OCT02, OCT12, OCT22 et OCT32 de la deuxième rangée de la zone mémoire sraml, sera stocké dans l'octet OCT25 de la première rangée de la mémoire sram5. [0124] Le mot S31 de bits de contrôle associé aux quatre octets OCT03, OCT13, OCT23 et OCT33 de la troisième rangée de la mémoire sraml sera stocké dans l'octet OCT15 de la première rangée de la mémoire sram5. [0125] Enfin, le mot S41 de bits de contrôle associé aux quatre octets OCT04, OCT14, OCT24 et OCT34 de la quatrième rangée de la zone mémoire sraml sera stocké dans l'octet OCTO5 de la première rangée de la zone mémoire sram5. [0126] Et, ce processus de stockage des différents mots de bit de contrôle associés aux dif- férentes rangées va se poursuivre. [0127] D'une façon générale, les quatre mots de bits de contrôle associés aux quatre mots de quatre rangées consécutives d'une zone mémoire srami, i variant de 1 à 4, seront stockés dans une seule et même rangée de la zone mémoire sram5. [0128] De ce fait, les mots de contrôle associés aux 2048 rangées de la zone mémoire sraml seront stockés dans 512 rangées de la mémoire sram5. [0129] Et, les 512 rangées suivantes de la mémoire sram5 seront dédiées au stockage des 11 mots Si2 de bits de contrôle associés aux données stockées dans la zone mémoire sram2. 12 [Revendication 1] [Revendication 2] [Revendication 3] [Revendication 4] [Revendication 5] [Revendication 6]