Brevet FR3161979A1 — publié le 20251107

Mémoire sécurisée La présente description concerne un dispositif électronique comprenant une mémoire (101), dans lequel : - des premières données (Data103) qui sont accessibles seulement par un premier module (103) sont stockées dans un premier groupe de colonnes de cellules mémoire de ladite mémoire (101) ; et - des deuxièmes données (Data104) qui sont accessibles seulement par un deuxième module (104), différent du premier module (103), sont stockées dans un deuxième groupe de colonnes de cellules mémoire de ladite mémoire (101), lesdits premier et deuxième groupes étant distincts. Figure pour l'abrégé : Fig. 1 Mémoire sécurisée La présente description concerne de façon générale des dispositifs et systèmes électroniques et leur sécurité. Plus précisément, la présente description concerne une façon sécurisée de stocker des données sensibles et non sensibles dans une même mémoire. De façon courante, de nombreux dispositifs et systèmes électroniques peuvent utiliser des données sensibles et des données non sensibles et, pour ce faire, peuvent parfois avoir besoin de les stocker dans des mémoires. Pour des raisons de sécurité, il est important de stocker séparément ces données sensibles et non sensibles. Il serait souhaitable de pouvoir améliorer, au moins partiellement, certains aspects du stockage de données sensibles et non sensibles dans un système électronique. Il existe un besoin d’une façon plus sécurisée de stocker des données sensibles et non sensibles. Il existe un besoin d’une façon plus sécurisée de stocker des données sensibles et non sensibles dans une même mémoire. Il existe un besoin d’une façon plus sécurisée de stocker des premières données qui soient accessibles seulement par un premier module et de deuxièmes données qui soient accessibles seulement par un deuxième module dans une même mémoire. Il existe un besoin d’un dispositif qui soit plus compact. Il existe un besoin d’un dispositif qui comprenne une seule mémoire au lieu de plusieurs mémoires. Un mode de réalisation pallie tout ou partie des désavantages de procédés connus de stockage de données dans un dispositif électronique. Un mode de réalisation pallie tout ou partie des désavantages des systèmes connus capables de stocker des données. Un mode de réalisation résout tout ou partie des inconvénients de procédés connus de stockage de données dans un dispositif électronique. Un mode de réalisation résout tout ou partie des inconvénients de dispositifs électroniques connus capables de stocker des données. Un mode de réalisation prévoit un dispositif électronique comprenant une mémoire, dans lequel : - des premières données qui sont accessibles seulement par un premier module sont stockées dans un premier groupe de colonnes de cellules mémoire de ladite mémoire ; et - des deuxièmes données qui sont accessibles seulement par un deuxième module, différent du premier module, sont stockées dans un deuxième groupe de colonnes de cellules mémoire de ladite mémoire, lesdits premier et deuxième groupes étant distincts. Un autre mode de réalisation prévoit un procédé de stockage, dans une mémoire d’un dispositif électronique, de premières données qui sont accessibles seulement par un premier module et de deuxièmes données qui sont accessibles seulement par un deuxième module, différent du premier module, dans lequel : - lesdites premières données sont stockées dans un premier groupe de colonnes de cellules mémoire de ladite mémoire, et - lesdites deuxièmes données sont stockées dans un deuxième groupe de colonnes de cellules mémoire de ladite mémoire, lesdits premier et deuxième groupes étant distincts. Selon un mode de réalisation, ledit premier module est capable uniquement d’accéder audit premier groupe de colonnes. Selon un mode de réalisation, ledit deuxième module est capable uniquement d’accéder audit deuxième groupe de colonnes. Selon un mode de réalisation, lesdites premières données sont des données sensibles et le premier module est un module sécurisé. Selon un mode de réalisation, lesdites deuxièmes données sont des données non sensibles et le deuxième module est un module non sécurisé. Selon un mode de réalisation, ledit dispositif comprend une interface logique capable de gérer le stockage desdites premières et deuxièmes données dans lesdits premier et deuxième groupes. Selon un mode de réalisation, au moins des troisièmes données qui sont accessibles uniquement par au moins un troisième module sont stockées dans au moins un troisième groupe de colonnes de cellules mémoire de ladite mémoire, lesdits premier, deuxième et troisième groupes étant distincts. Selon un mode de réalisation, ledit au moins un troisième module est seulement capable de communiquer avec ledit au moins un troisième groupe de colonnes. Selon un mode de réalisation, ladite mémoire est sélectionnée dans le groupe comprenant : une mémoire volatile, une mémoire non volatile, une mémoire vive, une mémoire morte, une mémoire flash, une mémoire à fusibles. Selon un mode de réalisation, ladite mémoire est une mémoire à fusibles. Selon un mode de réalisation, lesdits premier et deuxième groupes sont physiquement distincts. Selon un mode de réalisation, lesdits premier et deuxième groupes ont chacun leur propre système de câblage indépendant. Selon un mode de réalisation, il n’y a aucune connexion entre les systèmes de câblage indépendants. Un autre mode de réalisation prévoit une mémoire configurée pour être la mémoire d’un dispositif électronique tel que décrit précédemment. 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 FIG. 1 représente, sous forme de blocs, un mode de réalisation d’un dispositif électronique ; la FIG. 2 représente, sous forme de blocs, une mémoire du mode de réalisation de la FIG. 1 ; et la FIG. 3 représente, sous forme de blocs, un autre mode de réalisation d’un dispositif électronique. 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, 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. Dans la description qui suit, lorsque l'on fait référence à des qualificatifs de position absolue, tels que les termes "avant", "arrière", "haut", "bas", "gauche", "droite", etc., ou relative, tels que les termes "dessus", "dessous", "supérieur", "inférieur", etc., ou à des qualificatifs d'orientation, tels que les termes "horizontal", "vertical", etc., il est fait référence sauf précision contraire à l'orientation des figures. 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. Les modes de réalisation décrits précédemment concernent le stockage de données dans une mémoire d’un dispositif électronique et, plus particulièrement, le stockage de premières données accessibles uniquement par un premier module et de deuxièmes données accessibles uniquement par un deuxième module dans une même mémoire principale. Afin d’éviter que le deuxième module n’ai accès aux premières données et inversement, la mémoire principale est répartie en deux mémoires secondaires, chaque mémoire secondaire correspondant à un groupe de colonnes de cellules mémoire de la mémoire principale. Un tel mode de réalisation est décrit en relation avec les figures 1 et 2. Un autre mode de réalisation dans lequel la mémoire stocke des données de plus de deux (2) modules est décrit en relation avec la FIG. 3 . De plus, les modes de réalisation décrits précédemment sont particulièrement adaptés pour être utilisés dans tout type de domaines industriels dans lesquels le stockage de données est nécessaire. Plus particulièrement, de tels dispositif électronique et procédé de stockage peuvent être destinés à : - l’industrie automobile, par exemple dans le domaine de l’électrification de voitures ou le domaine de systèmes d’aide à la conduite avancé (ADAS) ; - le secteur industriel, par exemple dans le domaine de l’énergie verte, dans le domaine de l’électrification d’infrastructures, de l’Internet des objets (IoT) et de domiciles connectés, dans lesquels l’alimentation et la consommation d’énergie et l’échange de données sont un élément essentiel ; - l’industrie de l’électronique personnelle, par exemple dans le domaine du téléphone mobile et de l’Internet des objets (IoT) et dans le domaine des interfaces à haut débit ; et - l’industrie des équipements de communication, ordinateurs et périphériques, par exemple dans le domaine d’infrastructure et de centres de données et dans le domaine de satellites en orbite terrestre basse. De plus, les modes de réalisation décrits précédemment sont particulièrement adaptés à l’industrie automobile et au marché industriel. La FIG. 1 représente, schématiquement et sous forme de blocs, un mode de réalisation d’un dispositif électronique 100 (DEVICE). Selon un mode de réalisation, le dispositif électronique 100 comprend une mémoire 101 (MEM) capable de stocker des données. Selon un exemple, la mémoire 101 peut être d’un type quelconque de mémoire, par exemple une mémoire volatile, une mémoire non volatile, une mémoire vive, une mémoire morte, une mémoire flash. Selon un mode de réalisation préféré, la mémoire 101 est une mémoire à fusibles. Selon un exemple, le dispositif électronique 100 comprend en outre une interface logique 102 (LOGIC) associée à la mémoire 101. L’interface logique 102 peut fournir des données à, et recevoir des données provenant de, la mémoire 101 au moyen d’une connexion sécurisée. En d’autres termes, seule l’interface logique 102 peut fournir des données à, et recevoir des données provenant de, la mémoire 101. Selon un mode de réalisation, le dispositif électronique 100 comprend en outre deux modules 103 (SC) et 104 (Non SC) qui peuvent stocker des données dans la mémoire 101 par l’intermédiaire de l’interface logique 102. Plus particulièrement, les modules 103 et 104 sont totalement indépendants. Selon un mode de réalisation, le module 103 peut stocker et accéder à des données Data103 à l’intérieur de la mémoire 101 par l’intermédiaire de l’interface 102. Selon un mode de réalisation, le module 104 peut stocker et accéder à des données Data104 à l’intérieur de la mémoire 101 par l’intermédiaire de l’interface 102. Selon un mode de réalisation, les données Data103 et Data104 sont stockées dans deux parties différentes de la mémoire 101. Une première partie de la mémoire 101 est définie par un premier groupe de colonnes de cellules mémoire de la mémoire et qui est appelée dans la suite première mémoire secondaire. Une deuxième partie de la mémoire 101 est définie par un deuxième groupe de colonnes de cellules mémoire de la mémoire et qui est appelée dans la suite deuxième mémoire secondaire. Selon un mode de réalisation, les premier et deuxième groupes de colonnes sont distincts, c'est-à-dire qu’ils n’ont aucune colonne commune. Selon un mode de réalisation, les premier et deuxièmes groupes de colonnes peuvent être tous deux de la même taille, ce qui signifie qu’ils ont le même nombre de colonnes ou de taille différente, ce qui signifie qu’ils ont un nombre différent de colonnes. Selon un mode de réalisation, chaque groupe de colonnes peut comprendre des colonnes qui sont adjacentes, mais, selon une variante, chaque groupe de colonnes peut comprendre une ou plusieurs colonnes qui ne sont pas adjacentes. Selon un mode de réalisation, l’interface logique 102 comprend deux liaisons de communication qui peuvent fournir des données aux, et recevoir des données provenant des, module 103 et module 104. Plus particulièrement, l’interface logique 102 peut recevoir et transférer des données Data103 depuis et au module 103 par l’intermédiaire d’une première liaison de communication et peut recevoir et transférer des données Data104 depuis et au module 104 par l’intermédiaire d’une deuxième liaison de communication. Les modules 103 et 104 ont seulement la capacité de fournir des données à et de recevoir des données en provenance de l’interface logique 102. On décrira de façon plus détaillée en relation avec la FIG. 2 comment des données sont stockées dans la mémoire 101 par l’interface logique 102. Selon un mode de réalisation, un procédé de stockage dans une seule mémoire de deux jeux de données qui sont accessibles chacun par un seul module est le suivant. Le module 103 stocke des données Data103 dans le premier groupe de colonnes de ladite mémoire. Le module 104 stocke des données Data104 dans le premier groupe de colonnes de ladite mémoire. Ces opérations de stockage sont exécutées par l’intermédiaire de l’interface logique 102. Selon un mode de réalisation préféré, le module 103 peut être un module sécurisé, c'est-à-dire un module qui est capable de manipuler des données sensibles, et le module 104 peut être un module non sécurisé, c'est-à-dire un module qui n’est pas habilité à manipuler des données sensibles. Dans ce cas, l’interface logique 102 assure un stockage sécurisé de données sensibles et de données non sensibles dans la même mémoire. Un avantage de ce mode de réalisation est d’utiliser une seule mémoire au lieu de deux mémoires. Cela est en effet un avantage, car, dans certains cas, avoir deux mémoires prend plus de place sur une puce qu’en avoir une seule, en raison des nombreux circuits associés à chaque mémoire. Cela est particulièrement le cas lorsque la mémoire 101 est une mémoire à fusibles. Utiliser deux mémoires à fusibles prend en effet plus de place qu’utiliser une seule mémoire à fusibles ayant la même capacité de stockage que deux mémoires à fusibles, en raison des circuits associés aux mémoires à fusibles. La FIG. 2 représente, schématiquement et sous forme de blocs, un exemple de mémoire 200 du type de la mémoire 101 décrite en relation avec la FIG. 1 . Comme cela a été décrit précédemment, la mémoire 200 peut être un quelconque type de mémoire par exemple une mémoire volatile, une mémoire non volatile, une mémoire vive, une mémoire morte, une mémoire flash. Selon un mode de réalisation préféré, la mémoire 200 est une mémoire à fusibles. La mémoire 200 comprend des cellules mémoire qui sont agencées sous forme d’une matrice comprenant N lignes référencées WL0, WL1, …, WLN-1, N étant un nombre entier, et P colonnes, P étant un nombre entier. Comme cela a été décrit précédemment, la mémoire 200 est divisée en deux parties disjointes qui constituent deux mémoires secondaires. Une première partie de la mémoire 200 est définie par un premier groupe de colonnes COL201 de la mémoire 200 et peut être appelé, dans la suite, première mémoire secondaire. Une deuxième partie de la mémoire 200 est définie par un deuxième groupe de colonnes COL202 de la mémoire 200 et peut être appelé, dans la suite, deuxième mémoire secondaire. Le premier groupe de colonnes COL201 est utilisé pour stocker des données d’un premier module électronique et le deuxième groupe de colonnes COL202 est utilisé pour stocker des données d’un deuxième module électronique qui est différent du premier module électronique. On dit couramment qu’une ligne d’une mémoire stocke un mot de données. Dans le cas de la mémoire 200, on considère que chaque ligne WL0, WL1, …, WLN-1 stocke deux mots de données Word201-0, …, Word201-N-1, et Word202-0, …, Word202-N-1. Un premier mot de données Word201-0, …, Word201-N-1 est stocké dans le premier groupe de colonnes COL201 et le deuxième mot de données Word202-0, …, Word202-N-1 est stocké dans le deuxième groupe de colonnes COL202. Selon un mode de réalisation, le premier module a seulement accès au premier mot Word201-0, …, Word201-N-1 et le deuxième module a seulement accès au deuxième mot Word202-0, …, Word202-N-1. Selon un mode de réalisation, les deux mémoires secondaires de la mémoire 200 sont physiquement distincts dans la mémoire 200 afin d’éviter la fuite de données entre les deux mémoires secondaires. Selon un mode de réalisation, chaque mémoire secondaire peut avoir son propre système de câblage indépendant afin d’éviter la fuite de données, de sorte qu’il n’y ait aucun trajet de données câblé physique connectant les données du groupe de colonnes COL1 à quoique ce soit d’autre que le module 103 et qu’il n’y ait aucun trajet de données câblé physique connectant les données du groupe de colonnes COL2 à quoique ce soit d’autre que le module 104. En d’autres termes, il n’y a aucune connexion entre les systèmes de câblage indépendants. Selon un autre exemple, l’interface logique peut également avoir plusieurs systèmes de câblages indépendants pour chaque mémoire secondaire. Selon un exemple, une interface logique, du type de l’interface logique 102 décrite en relation avec la FIG. 2 , peut gérer le stockage de données dans la mémoire 200. Lorsque les données provenant d’un premier module sont reçues par l’interface logique, elle peut stocker et accéder à ces données dans la partie correcte de la mémoire. La FIG. 3 représente, schématiquement sous forme de blocs, un autre mode de réalisation d’un dispositif électronique 300 (DEVICE). Le dispositif électronique 300 est similaire au dispositif électronique 100 décrit en relation avec la FIG. 1 . Les éléments et caractéristiques communs aux dispositifs 100 et 300 ne sont pas détaillés de nouveau ici. Seules les différences entre les dispositifs 100 et 300 sont mis en évidence. Plus précisément, de façon similaire au dispositif 100, le dispositif 300 comprend : - une mémoire 301 du type de la mémoire 101 ; et - une interface logique 302 du type de l’interface logique 102. Par ailleurs, le dispositif 300 comprend plus de deux modules électroniques capables de stocker des données dans la mémoire 301 par l’intermédiaire de l’interface logique 302. Plus particulièrement, le dispositif 300 comprend K modules électroniques 303-1 (Agent 1), 303-2 (Agent 2), …, 303-K (Agent K), K étant un nombre entier supérieur à deux. Selon un mode de réalisation, les modules 303-1 à 303-K sont totalement indépendants les uns des autres. Selon un mode de réalisation, chaque module 303-k, k étant un nombre entier compris entre 1 et K, peut stocker et accéder à des données Data303-k dans la mémoire 301 par l’intermédiaire de l’interface 302. Selon un mode de réalisation, dans ce cas, les données Data303-1, data Data303-2, …, et Data303-K sont stockées dans K parties différentes de la mémoire 301. Chaque partie de la mémoire est définie par un groupe de colonnes de cellules mémoire. Selon un mode de réalisation, tous les K groupes de colonnes sont distincts, c'est-à-dire qu’ils n’ont aucune colonne commune. Selon un mode de réalisation, tous les groupes de colonnes peuvent être de la même taille, c'est-à-dire qu’ils ont un même nombre de colonnes, ou des tailles différentes, c'est-à-dire qu’ils ont un nombre différent de colonnes. Selon un mode de réalisation, chaque groupe de colonnes peut comprendre des colonnes qui sont adjacentes, mais, selon une variante, chaque groupe de colonnes peut avoir une ou plusieurs colonnes qui ne sont pas adjacentes. Selon un mode de réalisation, l’interface logique 302 comprend K liaisons de communication qui peuvent fournir des données aux, et recevoir des données depuis les, modules 303-1 à 303-K. Les modules 303-1 à 303-K ont seulement la capacité de fournir des données à, et de recevoir des données provenant de, l’interface logique 302. Divers modes de réalisation et variantes ont été décrits. La personne du métier comprendra que certaines caractéristiques de ces divers modes de réalisation et variantes pourraient être combinées, et d’autres variantes apparaîtront à la personne du métier. Enfin, la mise en oeuvre pratique des modes de réalisation et variantes décrits est à la portée de la personne du métier à partir des indications fonctionnelles données ci-dessus. Dispositif électronique comprenant une mémoire (101 ; 200 ; 301), dans lequel : - des premières données (Data103, Data303-k) qui sont accessibles seulement par un premier module (103 ; 303-k) sont stockées dans un premier groupe (COL201) de colonnes de cellules mémoire de ladite mémoire (101 ; 200 ; 301) ; et - des deuxièmes données (Data104, Data303-k) qui sont accessibles seulement par un deuxième module (104 ; 303-k), différent du premier module (103 ; 303-k), sont stockées dans un deuxième groupe (COL202) de colonnes de cellules mémoire de ladite mémoire (101 ; 200 ; 301), lesdits premier et deuxième groupes (COL1 ; COL2) étant distincts. Dispositif selon la revendication 1, dans lequel ledit premier module (103 ; 303-k) est capable uniquement d’accéder audit premier groupe (COL201) de colonnes. Dispositif selon la revendication 1 ou 2, dans lequel ledit deuxième module (104 ; 303-k) est capable uniquement d’accéder audit deuxième groupe de colonnes (COL202). Dispositif selon la revendication 1 à 3, dans lequel lesdites premières données (Data103, Data303-k) sont des données sensibles et le premier module (103 ; 303-k) est un module sécurisé. Dispositif selon l’une quelconque des revendications 1 à 4, dans lequel lesdites deuxièmes données (Data104, Data303-k) sont des données non sensibles et le deuxième module (104 ; 303-k) est un module non sécurisé. Dispositif selon l’une quelconque des revendications 1 à 5, dans lequel ledit dispositif comprend une interface logique (102) capable de gérer le stockage desdites premières et deuxièmes données dans lesdits premier et deuxième groupes. Dispositif selon l’une quelconque des revendications 1 à 6, dans lequel au moins des troisièmes données (Data303-k) qui sont accessibles uniquement par au moins un troisième module (303-k) sont stockées dans au moins un troisième groupe de colonnes de cellules mémoire de ladite mémoire (301), lesdits premier, deuxième et troisième groupes étant distincts. Dispositif selon la revendication 7, dans lequel ledit au moins un troisième module (303-k) est seulement capable de communiquer avec ledit au moins un troisième groupe de colonnes. Dispositif selon l’une quelconque des revendications 1 à 8, dans lequel ladite mémoire (101 ; 200 ; 301) est sélectionnée dans le groupe comprenant : une mémoire volatile, une mémoire non volatile, une mémoire vive, une mémoire morte, une mémoire flash, une mémoire à fusibles. Dispositif selon la revendication 9, dans lequel dans lequel ladite mémoire (101 ; 200 ; 301) est une mémoire à fusibles. Dispositif selon l’une quelconque des revendications 1 à 10, dans lequel lesdits premier et deuxième groupes (COL1 ; COL2) sont physiquement distincts. Dispositif selon la revendication 11, dans lequel, lesdits premier et deuxième groupes (COL1 ; COL2) ont chacun leur propre système de câblage indépendant. Dispositif selon la revendication 12, dans lequel il n’y a aucune connexion entre les systèmes de câblage indépendants. Mémoire configurée pour être la mémoire d’un dispositif électronique selon l’une quelconque des revendications 1 à 13. Procédé de stockage, dans une mémoire d’un dispositif électronique, de premières données (Data103, Data303-k) qui sont accessibles seulement par un premier module (103 ; 303-k) et de deuxièmes données (Data104, Data303-k) qui sont accessibles seulement par un deuxième module (104 ; 303-k), différent du premier module (103 ; 303-k), dans lequel : - lesdites premières données sont stockées dans un premier groupe (COL201) de colonnes de cellules mémoire de ladite mémoire (101 ; 200 ; 301), et - lesdites deuxièmes données sont stockées dans un deuxième groupe (COL202) de colonnes de cellules mémoire de ladite mémoire (101 ; 200 ; 301), lesdits premier et deuxième groupes (COL1 ; COL2) étant distincts.