Brevet FR3145423A1 — publié le 20240802

TITRE : Procédé de gestion de mémoire pour économiser de l'énergie La présente description concerne un système (1) comprenant une mémoire (8), la mémoire (8) comprenant une pluralité d’unités mémoires accessibles en écriture et en lecture. Chaque unité mémoire comprend une matrice de cellules mémoire et un circuit périphérique d'accès auxdites cellules mémoire. Chaque unité mémoire est configurable dans un premier ou un deuxième mode de fonctionnement. La matrice de cellules mémoire est configurée, dans le premier et le deuxième modes de fonctionnement, pour retenir des données jusqu’à une mise hors tension ultérieure de l’unité mémoire. Le circuit périphérique est alimenté dans le premier mode de fonctionnement et n'est pas alimenté dans le deuxième mode de fonctionnement. Le système comprend en outre un contrôleur (10) configuré pour configurer dans le deuxième mode de fonctionnement toute unité mémoire de la mémoire n’ayant subi aucun accès en écriture ou en lecture pendant une durée déterminée. Figure pour l'abrégé : 1 Procédé de gestion de mémoire pour économiser de l'énergie La présente description se rapporte au domaine de la gestion de mémoire dans un but d’économie d’énergie. Une mémoire volatile est une mémoire informatique qui a besoin d'alimentation électrique continue pour conserver l'information qui y est enregistrée. Lorsque l'alimentation électrique est interrompue, l'information contenue dans la mémoire volatile est, quasi immédiatement, perdue. Il peut s'agir d'une mémoire vive d'un microprocesseur ou d'un microcontrôleur dans lequel un processeur est configuré pour écrire des données ou lire des données dans la mémoire. Dans certaines applications, la totalité de la mémoire volatile peut ne pas être utilisée en permanence pendant le fonctionnement du microprocesseur ou du microcontrôleur. A titre d'exemple, le processeur peut accéder pendant une phase de fonctionnement seulement à une partie de la mémoire volatile et pendant une autre phase de fonctionnement seulement à une autre partie de la mémoire volatile. Toutefois, il est nécessaire que la mémoire volatile reste alimentée en permanence pour qu'aucune donnée stockée dans la mémoire volatile ne soit perdue. Une partie de la puissance électrique consommée par la mémoire volatile correspond alors à la consommation statique des parties de la mémoire volatile qui ne sont pas utilisées. Un but est de contrôler une mémoire de manière à réduire sa consommation d’énergie, et ce sans perdre d’éventuelles données qu’elle stockerait. Un objet d'un mode de réalisation est de pallier tout ou partie des inconvénients des mémoire volatile connues. Un mode de réalisation prévoit un système comprenant une mémoire, la mémoire comprenant une pluralité d’unités mémoires accessibles en écriture et en lecture, chaque unité mémoire comprenant une matrice de cellules mémoire et un circuit périphérique d'accès auxdites cellules mémoire, chaque unité mémoire étant configurable dans un premier ou un deuxième mode de fonctionnement, la matrice de cellules mémoire étant configurée, dans le premier et le deuxième modes de fonctionnement, pour retenir des données jusqu’à une mise hors tension ultérieure de l’unité mémoire, le circuit périphérique étant alimenté dans le premier mode de fonctionnement et n'étant pas alimenté dans le deuxième mode de fonctionnement, le système comprenant en outre un contrôleur configuré pour configurer dans le deuxième mode de fonctionnement toute unité mémoire de la mémoire n’ayant subi aucun accès en écriture ou en lecture pendant une durée déterminée. Selon un mode de réalisation, le contrôleur est configuré pour configurer dans le premier mode de fonctionnement toute unité mémoire de la mémoire pour laquelle un accès en écriture ou en lecture est réalisé. Selon un mode de réalisation, pour chaque unité mémoire, le circuit périphérique de l'unité mémoire est alimenté par une source d'un potentiel de référence haut par l'intermédiaire d'un interrupteur commandable, le contrôleur étant configuré pour commander la fermeture de l'interrupteur commandable lorsque l'unité mémoire est dans le premier mode de fonctionnement et pour commander l'ouverture de l'interrupteur commandable lorsque l'unité mémoire est dans le deuxième mode de fonctionnement. Selon un mode de réalisation, le contrôleur comprend, pour chaque unité mémoire, un registre et le contrôleur comprend une unité de traitement configurée pour stocker une première valeur dans le registre lorsque l'unité mémoire correspondante est dans le premier mode de fonctionnement ou une deuxième valeur dans le registre lorsque l'unité mémoire correspondante est dans le deuxième mode de fonctionnement. Selon un mode de réalisation, le contrôleur comprend un compteur pour chaque unité mémoire, chaque compteur étant incrémenté à chaque impulsion d'un signal d'horloge, l'unité de traitement étant configurée pour réinitialiser le compteur lorsqu'un accès en lecture ou en écriture à l'unité mémoire correspondante est réalisé. Selon un mode de réalisation, pour chaque unité mémoire, l'unité de traitement est configurée pour stocker la deuxième valeur dans le registre correspondant lorsque le compteur correspondant dépasse un seuil. Selon un mode de réalisation, la mémoire est une mémoire volatile, par exemple une mémoire RAM. Selon un mode de réalisation, le système est un système sur puce. Un mode de réalisation prévoit également un procédé de contrôle d’une mémoire, comprenant une pluralité d’unités mémoires accessibles en écriture et en lecture, chaque unité mémoire comprenant une matrice de cellules mémoire et un circuit périphérique d'accès auxdites cellules mémoire, la matrice de cellules mémoire étant configurée, dans le premier et le deuxième modes de fonctionnement, pour retenir des données jusqu’à une mise hors tension ultérieure de l’unité mémoire, le circuit périphérique étant alimenté dans le premier mode de fonctionnement et n'étant pas alimenté dans le deuxième mode de fonctionnement, le procédé comprenant la configuration dans le deuxième mode de fonctionnement de toute unité mémoire de la mémoire n’ayant subi aucun accès en écriture ou en lecture au-delà d'une durée déterminée. Selon un mode de réalisation, le procédé comprend la configuration dans le premier mode de fonctionnement de toute unité mémoire de la mémoire pour laquelle un accès en écriture ou en lecture est réalisé. Ces caractéristiques et avantages, ainsi que d'autres, seront exposés en détail dans la description suivante de modes de réalisation particuliers faite à titre non limitatif en relation avec les figures jointes parmi lesquelles : la illustre, de façon partielle et schématique, un mode de réalisation d'un système électronique comprenant un dispositif de stockage ; la illustre un mode de réalisation plus détaillé du dispositif de stockage de la ; la illustre un mode de réalisation d'une unité mémoire du dispositif de stockage de la ; et la est un schéma par bloc illustrant un mode de réalisation d'un procédé de fonctionnement du dispositif de stockage de la . De mêmes éléments ont été désignés par de mêmes références dans les différentes figures. En particulier, les éléments structurels et/ou fonctionnels communs aux différents modes de réalisation peuvent présenter les mêmes références et peuvent disposer de propriétés structurelles, dimensionnelles et matérielles identiques. Par souci de clarté, seuls les étapes et éléments utiles à la compréhension des modes de réalisation décrits ont été représentés et sont détaillés. Sauf précision contraire, les expressions "environ", "approximativement", "sensiblement", et "de l'ordre de" signifient à 10 % près, de préférence à 5 % près. Sauf précision contraire, les adjectifs numéraux ordinaux, tels que "premier", "deuxième", etc., sont utilisés seulement pour distinguer des éléments entre eux. En particulier, ces adjectifs ne limitent pas les modes de réalisation décrits à un ordre particulier de ces éléments. Sauf précision contraire, lorsque l'on fait référence à deux éléments connectés entre eux, cela signifie directement connectés sans éléments intermédiaires autres que des conducteurs, et lorsque l'on fait référence à deux éléments reliés (en anglais "coupled") entre eux, cela signifie que ces deux éléments peuvent être connectés ou être reliés par l'intermédiaire d'un ou plusieurs autres éléments. De plus, on appelle "signal binaire" un signal qui alterne entre un premier état constant, par exemple un état bas, noté "0", et un deuxième état constant, par exemple un état haut, noté "1". Les états haut et bas de signaux binaires différents d'un même circuit électronique peuvent être différents. En pratique, les signaux binaires peuvent correspondre à des tensions ou à des courants qui peuvent ne pas être parfaitement constants à l'état haut ou bas. La illustre, de façon partielle et schématique, un mode de réalisation d'un système électronique 1, tel qu’un système sur puce, comprenant au moins un dispositif de stockage 2, une interface de réception de commandes 4 et au moins un module maître 6. Selon un mode de réalisation, le module maître 6 est un processeur configuré pour exécuter du code de programme. Le dispositif de stockage 2 comprend une mémoire 8 et un contrôleur 10 pour commander la mémoire 8. La mémoire 8 est accessible en écriture et/ou en lecture par le module maître 6 par l'intermédiaire du contrôleur 10. Selon un mode de réalisation, la mémoire 8 est une mémoire volatile, c’est-à-dire une mémoire pour laquelle toute donnée est perdue lors d’une mise hors tension de la mémoire 8. La mémoire 8 est par exemple une mémoire à accès aléatoire (RAM, sigle anglais pour Random Access Memory), en particulier une mémoire statique à accès aléatoire (SRAM, sigle anglais pour Static Random Access Memory). Le contrôleur 10 est par exemple un circuit, programmable (FPGA) ou non (ASIC). La représente, de façon partielle et schématique, un mode de réalisation plus détaillé d'éléments du système 1 de la , notamment du dispositif de stockage 2. Selon un mode de réalisation, la mémoire 8 comprend une pluralité d’unités mémoire 8a, 8b, 8c, 8d, 8e (en anglais memory cut) et du contrôleur 10, cinq unités mémoire 8a, 8b, 8c, 8d, 8e étant représentées à titre d'exemple en . Selon un mode de réalisation, chaque unité mémoire 8a-8e a une taille comprise entre 1 kilooctet et 128 kilooctets, par exemple égale à 64 kilooctets. Le nombre d’unités mémoire 8a-8e de la mémoire 8 est par exemple compris entre 1 et 40 (ce nombre étant de cinq dans l’exemple de réalisation illustré en ). La mémoire 8 a une taille globale égale à la somme des tailles respectives de ses unités mémoire 8a-8e. Par exemple, cette taille globale est de 600 kilooctets. La représente, de façon partielle et schématique, un mode de réalisation de l'unité mémoire 8a, sachant que chaque unité mémoire 8a-8e de la mémoire 8 peut avoir la structure représentée en . L'unité mémoire 8a comprend une matrice MEM de cellules mémoire pour le stockage de données et des circuits périphériques PER, notamment pour l'accès aux cellules mémoire de la matrice MEM de cellules mémoire, la transmission de données à stocker dans les cellules mémoire de la matrice MEM ou la transmission de données lues dans les cellules mémoire de la matrice MEM. Selon un mode de réalisation, la matrice MEM de cellules mémoire et les circuits périphériques PER comprennent des composants électroniques, par exemple des transistors à effet de champ, en particulier des transistors à effet de champ à grille isolée (MOSFET, sigle anglais pour Metal Oxide Semiconductor Field Effect Transistor), appelés par la suite transistors MOS. Selon un mode de réalisation, pour chaque unité mémoire 8a-8e de la mémoire 8, les composants électroniques de la matrice MEM de cellules mémoire et du circuit périphérique PER sont reliés à une source gndm d'un potentiel de référence bas, par exemple la masse. L'alimentation des composants électroniques de la matrice MEM de cellules mémoire est réalisée par une première source vddma d'un potentiel de référence haut. L'alimentation des composants électroniques du circuit périphérique PER est réalisée par une deuxième source vddm d'un potentiel de référence haut par l'intermédiaire d'un interrupteur commandable SWa. Le potentiel de référence haut de la première source vddma peut être identique ou différent du potentiel de référence haut de la deuxième source vddm. L'interrupteur commandable SWa est commandable par un signal de commande Sa, par exemple un signal binaire. A titre d'exemple, l'interrupteur commandable SWa est fermé lorsque le signal de commande Sa est dans un premier état, par exemple l'état "1", et est ouvert lorsque le signal de commande Sa est dans un deuxième état, par exemple l'état "0". Selon un mode de réalisation, l'interrupteur commandable SWa peut comprendre un transistor MOS et le signal de commande Sa peut correspondre à la tension de grille du transistor MOS. A titre d'exemple, on a représenté une cellule mémoire de la matrice MEM en comprenant un premier transistor MOS T1, par exemple à canal P, un deuxième transistor MOS T2, par exemple à canal N, et un troisième transistor MOS T3, par exemple à canal N. La source du transistor MOS T1 est reliée, de préférence connectée, à la première source vddma du potentiel de référence haut. La source du transistor MOS T2 est reliée, de préférence connectée, à la source gndm du potentiel de référence bas. Le drain du transistor T1 est relié, de préférence connecté, au drain du transistor T2. La grille du transistor T1 est reliée, de préférence connectée, à la grille du transistor T2. La source ou le drain du transistor T3 est relié, de préférence connecté, au drain du transistor T1. Selon un mode de réalisation, les transistors T1, T2, et T3 sont réalisés de façon intégrée. Le caisson de type N du transistor T1 est relié, de préférence connecté, à la première source vddma du potentiel de référence haut. Le caisson de type P du transistor T2 est relié, de préférence connecté, à la source gndm du potentiel de référence bas. Le caisson de type P du transistor T3 est relié, de préférence connecté, à la source gndm du potentiel de référence bas. A titre d'exemple, on a représenté le circuit périphérique PER en comprenant un quatrième transistor MOS T4, par exemple à canal P, et un cinquième transistor MOS T5, par exemple à canal N. La source du transistor MOS T4 est reliée à la deuxième source vddm du potentiel de référence haut. La source du transistor MOS T5 est reliée, de préférence connectée, à la source gndm du potentiel de référence bas. Le drain du transistor T4 est relié, de préférence connecté, au drain du transistor T5. La grille du transistor T4 est reliée, de préférence connectée, à la grille du transistor T5. Selon un mode de réalisation, les transistors T4 et T5 sont réalisés de façon intégrée. Le caisson de type N du transistor T4 est relié, de préférence connecté, à la première source vddma du potentiel de référence haut. Le caisson de type P du transistor T5 est relié, de préférence connecté, à la source gndm du potentiel de référence bas. Chaque unité mémoire 8a-8e de la mémoire 8 est configurable dans deux modes de fonctionnement : un premier mode dit mode RUN, et un deuxième mode dit mode SLEEP. Dans le mode RUN et dans le mode SLEEP, la matrice MEM de cellules mémoire de chaque unité mémoire 8a-8e est alimentée par la première source vddma du potentiel de référence haut. L'unité mémoire 8a-8e est alors capable de retenir des données jusqu’à une mise hors tension ultérieure de l’unité mémoire. Ceci signifie que des données peuvent être stockées dans l'unité mémoire. Dans le mode RUN, le circuit périphérique PER de l'unité mémoire 8a-8e est alimenté par la deuxième source vddm du potentiel de référence haut. Des opérations d'écriture de données dans la matrice MEM de cellules mémoire de l'unité mémoire 8a-8e et des opérations de lecture des données stockées dans la matrice MEM de cellules mémoire de l'unité mémoire 8a-8e peuvent être réalisées. Le mode RUN est typiquement utilisé au cours de l’exécution d’un programme par le module maître 6 dans lequel le module maître 6 est amené à écrire/lire des données dans l'unité mémoire. Dans le mode SLEEP, le circuit périphérique PER de l'unité mémoire 8a-8e n'est pas alimenté par la deuxième source vddm du potentiel de référence haut. Des opérations d'écriture de données dans la matrice MEM de cellules mémoire de l'unité mémoire 8a-8e et des opérations de lecture des données stockées dans la matrice MEM de cellules mémoire de l'unité mémoire 8a-8e ne peuvent pas être réalisées. Le mode SLEEP est un mode à basse consommation d’énergie, comparativement au mode RUN. Dans le mode SLEEP, les données stockées dans l'unité mémoire 8a-8e sont conservées mais des opérations de lecture/d'écriture dans l'unité mémoire ne peuvent pas être réalisées. Les différentes unités mémoires 8a-8e sont configurables dans l’un ou l’autre de ces modes de fonctionnement indépendamment les unes des autres. Autrement dit, des unités mémoire différentes de la mémoire 8 peuvent être configurées dans des modes de fonctionnement différents. Le contrôleur 10 a pour fonction de configurer chaque unité mémoire 8a-8e de la mémoire 8 dans l’un ou l’autre des modes de fonctionnement RUN ou SLEEP. En considérant à nouveau la , on a représenté pour chaque unité mémoire 8a-8b, l'interrupteur commandable SWa-SWb associé commandé par le signal de commande Sa-Se correspondant. Le contrôleur 10 comprend une pluralité de registres 12, dont, comme cela est illustré en , un registre de mode 12a, 12b, 12c, 12d, 12e pour chaque unité mémoire 8a-8e, cinq registres de mode étant représentés à titre d'exemple en . Chaque registre de mode 12a-12e est destiné à mémoriser le mode de fonctionnement courant de l'unité mémoire 8a-8e associée. Autrement dit, chaque unité mémoire 8a-8e est associée à un registre de mode 12a-12e qui lui est propre. Par exemple, un registre de mode 12a-12e peut stocker: - une première valeur, telle que l'état logique "0", pour indiquer le mode SLEEP ; ou - une deuxième valeur, telle que l'état logique "1", pour indiquer le mode RUN. Un registre de mode 12a-12e peut ainsi être codé sur un seul bit. Selon un mode de réalisation, le signal de commande Sa-Se est obtenu à partir de la valeur stockée dans le registre de mode 12a-12e. Selon un mode de réalisation, une valeur "1" stockée dans le registre de mode 12a-12e correspond à un signal de commande Sa-Se correspondant à l'état "1" et une valeur "0" stockée dans le registre de mode 12a-12e correspond à un signal de commande Sa-Se correspondant à l'état "0". Le contrôleur 10 comprend par ailleurs une unité de traitement 14, configurée pour traiter des requêtes d’accès à la mémoire 8 émanant du module maître 6. L’unité de traitement 14 est apte à relayer aux unités mémoire 8a-8e les requêtes d’accès émises par le module maître 6 du système 1. L'unité de traitement 14 est en outre configurée pour modifier le mode de fonctionnement de chaque unité mémoire 8a-8e et est adaptée à modifier la valeur stockée dans chaque registre de mode 12a-12e. L'unité de traitement 14 peut comprendre un automate avec un nombre fini d'états (en anglais finite-state automaton ou finite state machine ou FSM) recevant les requêtes d'accès émises par le module maître 6 du système 1. L'unité de traitement 14 reçoit en outre un signal d'horloge CLK fourni par une source 16 de signal d'horloge. Le contrôleur 10 comprend par ailleurs des compteurs 18. Selon un mode de réalisation, l'unité de traitement 14 comprend un compteur 18a, 18b, 18c, 18d, 18e pour chaque unité de mémoire 8a-8e, cinq compteurs de mode étant représentés à titre d'exemple en . Chaque compteur 18a-18e est incrémenté à chaque impulsion du signal d'horloge CLK. La est un schéma par bloc d'un mode de réalisation d'un procédé de fonction du dispositif de stockage 2. A l'étape 20, lorsque le système 1 est mis sous tension, les registres de mode 12a-12e du contrôleur 10 sont tous mis à la valeur "1" et les compteurs 18a-18e sont tous réinitialisés à zéro. Chaque unité mémoire 8a-8e est alors dans le mode RUN. A l'étape 22, l'unité de traitement 14 reçoit des requêtes du module maître 6, par exemple une requête en écriture de données dans la mémoire 8 ou une requête en lecture de données stockées dans la mémoire 8. Une requête en écriture comprend typiquement une adresse d’écriture dans la mémoire 8 et les données à écrire dans la mémoire 8, ces données occupant une taille renseignée dans la requête en écriture ou déductible de celle-ci. L'unité de traitement 14 détermine, sur la base de la requête en écriture, la ou les unités mémoire 8a-8b de la mémoire 8 visée(s) par la requête, c’est-à-dire celles dont le contenu est mis à jour par l’écriture. Cette détermination peut être mis en oeuvre avant, pendant ou après l’écriture dans la mémoire 8. De façon analogue, une requête en lecture comprend typiquement une adresse de lecture dans la mémoire 8. L'unité de traitement 14 détermine, sur la base de la requête en lecture, la ou les unités mémoire 8a-8b de la mémoire 8 visée(s) par la requête, c’est-à-dire celles dont le contenu doit être lu. Cette détermination peut être mis en oeuvre avant, pendant ou après la lecture dans la mémoire 8. A l'étape 24, le registre de mode 12a-12e associé à chaque unité mémoire 8a-8e visée par la requête en écriture/lecture est mis à la valeur "1" par l'unité de traitement 14. A titre d'exemple, ce positionnement à la valeur "1" est mis en oeuvre une fois que l’écriture ou la lecture est réalisée. En revanche, les registres de mode 12a-12e des unités mémoires 8a-8e de la mémoire 8 qui ne sont pas concernées par la requête en écriture/lecture ne sont pas modifiés à l’étape 24. En outre, à l'étape 24, le compteur 18a-18e associé à chaque unité mémoire 8a-8e visée par la requête en écriture/lecture est remis à zéro. A titre d'exemple, cette remise à zéro est réalisée une fois que l’écriture ou la lecture est réalisée. En revanche, les compteurs 18a-18e associés aux unités mémoires 8a-8e de la mémoire 8 qui ne sont pas concernées par la requête en écriture/lecture ne sont pas remis à zéro à l’étape 24. A l'étape 26, l'unité de traitement 14 compare le contenu de chaque compteur 18a-18e à un seuil. Pour chaque unité de mémoire 8a-8e, si le contenu du compteur 18a-18e associé à l'unité de mémoire 8a-8e est supérieur au égal au seuil, le registre de mode 12a-12e associé à l'unité mémoire 8a-8e est mis à la valeur "0" par l'unité de traitement 14. Ceci entraîne l'ouverture de l'interrupteur SWa-SWe associé à l'unité mémoire 8a-8e. L'unité mémoire 8a-8e est alors mise dans le mode SLEEP. Si le contenu du compteur 18a-18e associé à l'unité de mémoire 8a-8e est inférieur au seuil, le registre de mode 12a-12e associé à l'unité mémoire n'est pas modifié par l'unité de traitement 14 à l'étape 26, et l'unité mémoire 8a-8e reste dans le mode RUN. Selon un mode de réalisation, l'étape 26 n'est mise en oeuvre que pour l'unité de mémoire 8a-8e dont le registre de mode 12a-12e associé est à la valeur "1". Selon un mode de réalisation, le seuil correspond à l'écoulement d'une durée supérieure à 1 ms, de préférence comprise entre 1 ms et 10 ms. La mode de réalisation de fonctionnement du contrôleur 10 permet de réduire de manière optimale la consommation d’énergie de la mémoire 8 lorsque celle-ci est dans le mode de fonctionnement SLEEP, et ce sans perte de données mémorisées. Le système 1 peut comprendre une pluralité de dispositifs de stockage 2 conformes à la description qui précède. Chacun de ces dispositifs 2 comprend une mémoire 8 et un contrôleur 10 pour contrôler spécifiquement cette mémoire 8. Autrement, il y a autant de contrôleurs 10 que de mémoires 8 dans le système 1. Lorsque le système 1 comprend plusieurs mémoires, ces mémoires peuvent être de tailles variables et/ou être utilisées à des fins différentes. Par exemple, le système 1 peut comprendre: une première mémoire dédiée au stockage de données d’exécution, notamment une pile d’exécution, une deuxième mémoire dédiée au stockage de données de sécurité, telles que des codes correcteurs d’erreurs, et une troisième mémoire constituant une extension de la première mémoire. Divers modes de réalisation et variantes ont été décrits. L’homme de l’art comprendra que certaines caractéristiques de ces divers modes de réalisation et variantes pourraient être combinées, et d’autres variantes apparaîtront à l’homme de l’art. En particulier, dans les modes de réalisation décrits précédemment, pour chaque unité mémoire 8a-8e de la mémoire 8, la matrice MEM de cellules mémoire de l'unité mémoire est alimentée par une première source vddma d'un potentiel de référence haut et le circuit périphérique PER de l'unité mémoire est alimentée par une deuxième source vddma d'un potentiel de référence haut. A titre de variante, la deuxième source vddm peut être confondue avec la première source vddma, le circuit périphérique PER de l'unité mémoire étant relié à la première source vddma par l'interrupteur programmable SWa. Enfin, la mise en oeuvre pratique des modes de réalisation et variantes décrits est à la portée de l’homme du métier à partir des indications fonctionnelles données ci-dessus. Système (1) comprenant une mémoire (8), la mémoire (8) comprenant une pluralité d’unités mémoires (8a, 8b, 8c, 8d, 8e) accessibles en écriture et en lecture, chaque unité mémoire comprenant une matrice (MEM) de cellules mémoire et un circuit périphérique (PER) d'accès auxdites cellules mémoire, chaque unité mémoire étant configurable dans un premier ou un deuxième mode de fonctionnement, la matrice de cellules mémoire étant configurée, dans le premier et le deuxième modes de fonctionnement, pour retenir des données jusqu’à une mise hors tension ultérieure de l’unité mémoire, le circuit périphérique étant alimenté dans le premier mode de fonctionnement et n'étant pas alimenté dans le deuxième mode de fonctionnement, le système comprenant en outre un contrôleur (10) configuré pour configurer dans le deuxième mode de fonctionnement toute unité mémoire de la mémoire n’ayant subi aucun accès en écriture ou en lecture pendant une durée déterminée. Système selon la revendication 1, dans lequel le contrôleur (10) est configuré pour configurer dans le premier mode de fonctionnement toute unité mémoire (8a, 8b, 8c, 8d, 8e) de la mémoire (8) pour laquelle un accès en écriture ou en lecture est réalisé. Système selon la revendication 1 ou 2, dans lequel, pour chaque unité mémoire (8a, 8b, 8c, 8d, 8e), le circuit périphérique (PER) de l'unité mémoire est alimenté par une source (vddm) d'un potentiel de référence haut par l'intermédiaire d'un interrupteur (SWa, SWb, SWc, SWd, SWe) commandable, le contrôleur (10) étant configuré pour commander la fermeture de l'interrupteur commandable lorsque l'unité mémoire est dans le premier mode de fonctionnement et pour commander l'ouverture de l'interrupteur commandable lorsque l'unité mémoire est dans le deuxième mode de fonctionnement. Système selon l’une quelconque des revendications 1 à 3, dans lequel le contrôleur (10) comprend, pour chaque unité mémoire (8a, 8b, 8c, 8d, 8e), un registre (12a, 12b, 12c, 12d, 12e) et dans lequel le contrôleur (10) comprend une unité de traitement (14) configurée pour stocker une première valeur dans le registre lorsque l'unité mémoire correspondante est dans le premier mode de fonctionnement ou une deuxième valeur dans le registre lorsque l'unité mémoire correspondante est dans le deuxième mode de fonctionnement. Système selon la revendication 4, dans lequel le contrôleur (10) comprend un compteur (18a, 18b, 18c, 18d, 18e) pour chaque unité mémoire (8a, 8b, 8c, 8d, 8e), chaque compteur étant incrémenté à chaque impulsion d'un signal d'horloge (CLK), l'unité de traitement (14) étant configurée pour réinitialiser le compteur lorsqu'un accès en lecture ou en écriture à l'unité mémoire correspondante est réalisé. Système selon la revendication 5, dans lequel, pour chaque unité mémoire (8a, 8b, 8c, 8d, 8e), l'unité de traitement (14) est configurée pour stocker la deuxième valeur dans le registre (12a, 12b, 12c, 12d, 12e) correspondant lorsque le compteur (18a, 18b, 18c, 18d, 18e) correspondant dépasse un seuil. Système selon l’une quelconque des revendications 1 à 6, dans lequel la mémoire est une mémoire volatile, par exemple une mémoire RAM. Système selon l’une quelconque des revendications 1 à 7, du type système sur puce. Procédé de contrôle d’une mémoire (8), comprenant une pluralité d’unités mémoires (8a, 8b, 8c, 8d, 8e) accessibles en écriture et en lecture, chaque unité mémoire comprenant une matrice (MEM) de cellules mémoire et un circuit périphérique (PER) d'accès auxdites cellules mémoire, la matrice de cellules mémoire étant configurée, dans le premier et le deuxième modes de fonctionnement, pour retenir des données jusqu’à une mise hors tension ultérieure de l’unité mémoire, le circuit périphérique étant alimenté dans le premier mode de fonctionnement et n'étant pas alimenté dans le deuxième mode de fonctionnement, le procédé comprenant la configuration dans le deuxième mode de fonctionnement de toute unité mémoire de la mémoire n’ayant subi aucun accès en écriture ou en lecture au-delà d'une durée déterminée. Procédé selon la revendication 9, comprenant la configuration dans le premier mode de fonctionnement de toute unité mémoire (8a, 8b, 8c, 8d, 8e) de la mémoire (8) pour laquelle un accès en écriture ou en lecture est réalisé.