Brevet FR2980905A1 — publié le 20130405

La présente invention appartient au domaine des calculateurs électroniques, et concerne plus particulièrement un procédé d'effacement d'informations mémorisées dans une mémoire réinscriptible non volatile, un support de mémorisation d'informations, ainsi qu'un calculateur électronique comportant un tel support de mémorisation. La présente invention trouve une application préférée, bien que nullement limitative, dans le cas de calculateurs de véhicules automobiles. Les calculateurs électroniques de véhicules automobiles se présentent de manière connue sous la forme d'un microcontrôleur comportant, outre un ou plusieurs microprocesseurs, des mémoires électroniques (flash, EEPROM [« Electrically-Erasable Programmable Read-Only Memory »], RAM [« Random Access Memory »], etc.), des périphériques d'interface, etc. Dans des mémoires non volatiles du calculateur sont mémorisés des programmes d'ordinateur, ou « logiciels », constitués d'un ensemble d'instructions de code de programme à exécuter par un microprocesseur afin de réaliser les différentes tâches dudit calculateur. Généralement, trois principaux types de logiciels sont mémorisés dans des mémoires non volatiles du calculateur : - un logiciel d'amorçage, à exécuter notamment au démarrage du calculateur électronique pour initialiser celui-ci, connu dans la littérature anglo-saxonne sous le nom de « Boot Software », - un logiciel applicatif, à exécuter pour réaliser les tâches spécifiques du calculateur électronique, connu dans la littérature anglo-saxonne sous le nom de « Application Software », - un logiciel de reprogrammation permettant de modifier tout ou partie des informations (notamment les logiciels et/ou les données de calibration) mémorisées dans des mémoires réinscriptibles non volatiles du calculateur électronique, connu dans la littérature anglo-saxonne sous le nom de « Loader Software ». Les logiciels d'amorçage et de reprogrammation peuvent être également un même logiciel, connu alors sous le nom de « Boot Loader ». De nos jours, certains calculateurs électroniques de véhicules automobiles sont équipés de mémoires réinscriptibles non volatiles du type « mémoire flash ». De manière connue, une mémoire flash est généralement organisée en plusieurs segments sur lesquels des opérations peuvent s'effectuer en parallèle. Chaque segment est lui-même organisé en plusieurs secteurs, un secteur correspondant à la plus petite unité de mémoire pouvant faire l'objet d'une opération d'effacement. En outre, chaque secteur est généralement organisé en plusieurs pages, une page correspondant à la plus petite unité de mémoire pouvant faire l'objet d'une opération d'écriture. Pour effectuer une reprogrammation d'une mémoire flash, il faut en principe effacer le contenu des secteurs des pages dans lesquelles de nouvelles informations 5 doivent être écrites, puis écrire lesdites nouvelles informations dans les pages prévues. Lorsque le contenu d'un secteur est effacé, il n'est plus possible de récupérer les informations qui étaient auparavant mémorisées dans ce secteur. On comprend donc que les opérations d'effacement doivent être effectuées avec précaution, afin d'assurer que le contenu d'un ou plusieurs secteurs ne soit pas effacé par mégarde. 10 La figure 1 représente schématiquement l'organisation d'une mémoire flash comportant deux secteurs Sa et Sb dont les adresses mémoire physiques sont entrelacées. En effet, on constate que les deux secteurs Sa et Sb se décomposent en plusieurs éléments. Les éléments desdits secteurs Sa et Sb sont agencés de sorte que la 15 mémoire flash comporte tout d'abord le premier élément du secteur Sa, puis le premier élément du secteur Sb, puis le second élément du secteur Sa, puis le second élément du secteur Sb, etc. Traditionnellement, les requêtes d'effacement indiquent l'adresse mémoire physique du début de la zone mémoire à effacer, ainsi que la taille de la zone mémoire à 20 effacer à partir de cette adresse mémoire physique. On comprend qu'une telle approche mise en oeuvre pour effacer le contenu du secteur Sa entrainerait un risque d'effacer également le contenu du secteur Sb, du fait que ces secteurs sont entrelacés. La présente invention vise à proposer une solution qui permette de diminuer 25 les risques d'effacement par erreur de secteurs, dans le cas d'une mémoire réinscriptible non volatile dont au moins deux secteurs comportent des adresses mémoire physiques entrelacées. La présente invention vise également à proposer une solution qui permette, dans certains cas, de faciliter la parallélisation des opérations d'effacement et par 30 conséquent diminuer la durée d'effacement de la mémoire réinscriptible non volatile dont le contenu doit être effacé. En outre, la présente invention vise à proposer une solution qui permette d'avoir un module esclave, qui interagit directement avec la mémoire réinscriptible non volatile et doit par conséquent en connaître l'organisation et le type, offrant une interface à 35 un module maître, qui lui envoie des requêtes d'effacement, qui soit la même quel que soit l'organisation et le type de la mémoire réinscriptible non volatile dont le contenu doit être effacé. Selon un premier aspect, l'invention concerne un procédé d'effacement d'informations mémorisées dans une mémoire réinscriptible non volatile d'un calculateur électronique, dans lequel un module maître envoie des requêtes d'effacement à un module esclave dudit calculateur électronique, ladite mémoire réinscriptible non volatile étant organisée en secteurs correspondant à la plus petite unité mémoire pouvant faire l'objet d'une opération d'effacement, au moins deux secteurs comportant des adresses mémoire physiques entrelacées. En outre, le procédé d'effacement comporte les étapes préalables suivantes : - détermination d'un espace d'adressage mémoire virtuel associé à la mémoire réinscriptible non volatile, dans lequel chaque secteur s'étend sur une plage spécifique d'adresses mémoire virtuelles consécutives, - établissement d'une première fonction de correspondance permettant de déterminer, pour chaque plage d'adresses mémoires virtuelles de l'espace d'adressage mémoire virtuel, le ou les secteurs associés à une plage d'adresses mémoire virtuelles, Ensuite, le procédé d'effacement comporte, pour chaque requête d'effacement reçue par le module esclave indiquant une plage d'adresses mémoire virtuelles, une étape de détermination, d'après la première fonction de correspondance et de la plage d'adresses mémoires virtuelles indiquée, du ou des secteurs dont le contenu doit être effacé par le module esclave. Suivant des modes particuliers de mise en oeuvre, le procédé d'effacement comporte l'une ou plusieurs des caractéristiques suivantes, prises isolément ou suivant toutes les combinaisons techniquement possibles. De préférence, la mémoire réinscriptible non volatile comporte plusieurs segments, lesdits segments étant tels que des opérations d'effacement sur un segment peuvent être effectuées simultanément à des opérations d'effacement sur un autre segment, chaque segment se décomposant en plusieurs secteurs et au moins deux segments comportant des adresses mémoire physiques entrelacées. Avantageusement, chaque requête d'effacement envoyée par le module maître est envoyée en indiquant une plage d'adresses mémoire virtuelles ne correspondant qu'à un seul segment de la mémoire réinscriptible non volatile. De préférence, deux requêtes d'effacement consécutives envoyées par le module maître indiquent respectivement des plages d'adresses mémoire virtuelles correspondant à des segments différents de la mémoire réinscriptible non volatile. De préférence, la plage d'adresses mémoire virtuelles est sans recouvrement avec la plage d'adresses mémoire physiques réinscriptibles de la mémoire réinscriptible non volatile, et le procédé d'effacement comporte une étape de détection d'utilisation d'une plage d'adresses mémoire virtuelles, l'étape de détermination de secteur n'étant exécutée que si une plage d'adresses mémoire virtuelles a été détectée. De préférence, lorsque plusieurs composants logiciels sont mémorisés dans la mémoire réinscriptible non volatile, le procédé d'effacement comporte : - une étape préalable d'établissement d'une seconde fonction de correspondance permettant de déterminer, pour chaque composant logiciel pouvant être effacé, la ou les plages d'adresses mémoire virtuelles associées à un composant logiciel, - une étape d'envoi, par un outil de reprogrammation connecté au calculateur électronique, d'une requête d'effacement d'un composant logiciel au module maître, - une étape de conversion, par le module maître et d'après la seconde fonction de correspondance, de la requête d'effacement de composant logiciel en requête d'effacement de plage d'adresses mémoire virtuelles. Selon un second aspect, l'invention concerne un support de mémorisation d'informations d'un calculateur électronique, mémorisant un module esclave adapté à effectuer des opérations d'effacement du contenu d'adresses mémoire physiques d'une mémoire réinscriptible non volatile organisée en secteurs correspondant à la plus petite unité mémoire pouvant faire l'objet d'une opération d'effacement. En outre, le support de mémorisation mémorise une première fonction de correspondance permettant de déterminer, pour chaque plage d'adresses mémoires virtuelles d'un espace d'adressage mémoire virtuel prédéfini, le ou les secteurs associés à une plage d'adresses mémoire virtuelles, et le module esclave comporte des instructions qui, lorsqu'elles sont exécutées par ledit calculateur électronique, déterminent, à partir de la première fonction de correspondance et d'une plage d'adresses mémoire virtuelle indiquée dans une requête d'effacement reçue par ledit module esclave, le ou les secteurs dont le contenu doit être effacé. Suivant des modes particuliers de réalisation, le support de mémorisation comporte l'une ou plusieurs des caractéristiques suivantes, prises isolément ou suivant toutes les combinaisons techniquement possibles. De préférence, le support de mémorisation mémorise un module maître configuré pour envoyer des requêtes d'effacement au module esclave, et une seconde fonction de correspondance permettant de déterminer, pour chaque composant logiciel mémorisé dans la mémoire réinscriptible non volatile, la ou les plages d'adresses mémoire virtuelles associées à un composant logiciel. En outre, le module maître comporte des instructions qui, lorsqu'elles sont exécutées par le calculateur électronique, convertissent, d'après la seconde fonction de correspondance, une requête d'effacement de composant logiciel reçue par ledit module maître en une requête d'effacement de plage d'adresses mémoire virtuelles. De préférence, la plage d'adresses mémoire virtuelles est sans recouvrement avec la plage d'adresses mémoire physiques réinscriptibles de la mémoire réinscriptible non volatile, et le module esclave est configuré pour n'exécuter les instructions de détermination de secteur d'après la première fonction de correspondance que si une plage d'adresses mémoire virtuelles a été détectée. Selon un troisième aspect, l'invention concerne un calculateur électronique comporte un support de mémorisation d'informations selon l'un quelconque des modes de réalisation de l'invention. L'invention sera mieux comprise à la lecture de la description suivante, donnée à titre d'exemple nullement limitatif, et faite en se référant aux figures qui représentent : - Figure 1 : déjà citée, une représentation schématique de deux secteurs entrelacés d'une mémoire flash, - Figure 2 : une représentation schématique d'un calculateur électronique de véhicule automobile, - Figures 3a et 3b : un exemple illustrant l'élaboration d'un espace d'adressage virtuel selon l'invention, - Figure 4 : un diagramme représentant les principales étapes d'un mode préféré de mise en oeuvre d'un procédé d'effacement selon l'invention, - Figure 5 : un diagramme représentant les principales étapes d'une variante préférée du procédé d'effacement de la figure 4. La figure 2 représente de façon très schématique un calculateur 10 25 électronique de véhicule automobile. De manière plus générale, il est à noter que l'invention est applicable à tout type de calculateur électronique devant être reprogrammé au moyen d'un outil 20 de reprogrammation externe. De manière connue, le calculateur 10 électronique comporte un 30 microprocesseur 101 relié à des mémoires électroniques 102, 103, 104 par un bus de données 105. Le calculateur 10 électronique comporte une mémoire réinscriptible non volatile 104, dans laquelle sont mémorisées des informations pouvant être reprogrammées. Ces informations peuvent être des instructions de code de programme, 35 dites « logiciels », à exécuter pour effectuer les différentes tâches affectées audit calculateur électronique, et/ou des données utilisées par lesdits différents logiciels, telles que des données de calibration. Le calculateur 10 électronique comporte également une mémoire non volatile 103 dans laquelle est mémorisé un logiciel de reprogrammation qui, lorsqu'il est exécuté par le microprocesseur 101, permet de reprogrammer le contenu de la mémoire réinscriptible non volatile 102. La reprogrammation de la mémoire réinscriptible non volatile 102 comprend en principe l'effacement d'une zone mémoire de ladite mémoire réinscriptible non volatile, puis l'écriture de nouvelles informations dans cette zone mémoire. Dans la suite de l'exposé, on s'intéresse principalement aux opérations d'effacement, les opérations d'écriture sortant du cadre de la présente invention. Suivant d'autres modes de réalisation du calculateur 10 électronique, la mémoire réinscriptible non volatile 102 et la mémoire non volatile 103 sont confondues, le logiciel de reprogrammation étant alors mis en oeuvre pour reprogrammer le contenu de la mémoire électronique dans laquelle il est lui-même mémorisé. Le calculateur 10 électronique utilise également la mémoire volatile 104 (mémoire dite « RAM », acronyme anglais de « Random Access Memory » désignant une mémoire à accès direct), dans laquelle des informations sont copiées temporairement lors du fonctionnement du calculateur 10 électronique, en vue d'être exécutées par le microprocesseur 101.La mémoire réinscriptible non volatile 102 est du type organisé en plusieurs secteurs. La mémoire réinscriptible non volatile 102 comporte au moins deux secteurs entrelacés. Dans la suite de la description, on se place de manière non limitative dans le cas où la mémoire réinscriptible non volatile 102 est une mémoire flash. La présente invention concerne un procédé 50 (cf. Figures 4 et 5) d'effacement d'informations mémorisées dans la mémoire flash 102, dont la mise en 25 oeuvre est assurée notamment, dans le présent exemple, par : - un module maître Mm, pouvant être intégré dans le logiciel de reprogrammation ou dans un outil 20 de reprogrammation externe, - un module esclave Me intégré dans le logiciel de reprogrammation. Le module maître Mm et le module esclave Me sont des logiciels mémorisés 30 par exemple dans la mémoire non volatile 103, comportant des instructions de code de programme destinées à être exécutées par le microprocesseur 101 du calculateur 10 électronique. Dans son principe, le procédé 50 d'effacement repose sur l'élaboration d'un espace d'adressage mémoire virtuel, associant une adresse mémoire virtuelle spécifique 35 à chaque adresse mémoire physique de la mémoire flash. Les adresses mémoires virtuelles sont associées aux adresses mémoire physiques de sorte que, dans l'espace d'adressage mémoire virtuel, chaque secteur de la mémoire flash 102 s'étend sur une plage spécifique d'adresses mémoire virtuelles consécutives. Lorsque deux secteurs sont entrelacés, c'est-à-dire lorsque ces secteurs comportent des adresses mémoire physiques entrelacées, il n'existe pas de plage 5 d'adresses mémoire physiques consécutives telle que : - tous les éléments d'un de ces secteurs sont compris dans cette plage d'adresses mémoire physiques consécutives, - aucun élément d'un autre secteur n'est compris dans cette plage d'adresses mémoire physiques consécutives. 10 Dans l'espace d'adressage mémoire virtuel, il existe au contraire, par construction, une plage spécifique d'adresses mémoire virtuelles consécutives pour chaque secteur de la mémoire flash 102 telle que : - tous les éléments de ce secteur sont compris dans cette plage d'adresses mémoire virtuelles consécutives, 15 - aucun élément d'un autre secteur n'est compris dans cette plage d'adresses mémoire virtuelles consécutives. On comprend donc qu'il est possible, dans l'espace d'adressage mémoire virtuel, d'identifier de manière non ambigüe un secteur dont le contenu doit être effacé par une plage d'adresses mémoire virtuelles consécutives. En outre, l'utilisation de l'espace 20 d'adressage mémoire virtuel permet d'émettre des requêtes d'effacement en supposant que les secteurs de la mémoire flash 102 ne sont pas entrelacés. A cet effet le procédé 50 d'effacement d'informations mémorisées dans la mémoire flash 102 comporte les étapes préalables suivantes : - 500 : détermination d'un espace d'adressage mémoire virtuel dans lequel chaque 25 secteur s'étend sur une plage spécifique d'adresses mémoire virtuelles consécutives, - 501 : établissement d'une première fonction de correspondance permettant de déterminer, pour chaque plage d'adresses mémoire virtuelles de l'espace d'adressage mémoire virtuel, le ou les secteurs associés à une plage d'adresses 30 mémoire virtuelles donnée. Pour effacer le contenu d'un ou de plusieurs secteurs, le module maître Mm enverra au module esclave Me des requêtes d'effacement se référant à des plages d'adresses mémoire virtuelles de la mémoire flash 102. Le procédé 50 d'effacement comporte alors, pour chaque requête 35 d'effacement reçue indiquant une plage d'adresses mémoire virtuelles, une étape 522 de détermination du ou des secteurs dont le contenu doit être effacé. Au cours de cette étape, le module esclave Me utilise la première fonction de correspondance, préalablement mémorisée par exemple dans la mémoire non volatile 103, pour déterminer le ou les secteurs associés à la plage d'adresses mémoire virtuelles indiquée dans la requête d'effacement reçue. Dans un mode particulier de mise en oeuvre, l'espace d'adressage mémoire 5 virtuel est tel que chaque segment de la mémoire flash 102 s'étend sur une plage spécifique d'adresses mémoire virtuelles consécutives. Tel que décrit précédemment, les segments d'une mémoire flash 102 sont tels que des opérations d'effacement effectuées sur un segment peuvent être effectuées simultanément à des opérations d'effacement sur un autre segment de la mémoire 10 flash 102. Avantageusement, le module maître Mm est configuré de sorte que chaque requête d'effacement qu'il émet indique une ou éventuellement plusieurs plages d'adresses mémoire virtuelles qui correspondent toutes à un même segment de la mémoire flash 102. En d'autres termes, chaque requête d'effacement émise par le 15 module maître Mm ne vise qu'un segment de la mémoire flash 102. En outre, le module maître Mm est configuré de sorte que, lorsque que des opérations d'effacement doivent être effectuées sur au moins deux segments de la mémoire flash 102, des requêtes d'effacement envoyées consécutivement par le module maître Mm visent deux segments différents. 20 De telles dispositions permettent de paralléliser les opérations d'effacement relatives à deux requêtes d'effacement consécutives, puisque lesdites requêtes d'effacement consécutives visent deux segments différents. La durée d'effacement sera avantageusement réduite du fait que de nombreuses opérations d'effacement pourront être effectuées sensiblement simultanément là où, selon l'art antérieur, ces opérations 25 d'effacement étaient effectuées les unes à la suite des autres car effectuées d'abord pour tout un premier segment, puis pour tout un second segment, etc. De préférence, les adresses mémoire virtuelles n'ont pas de signification physique pour la mémoire flash 102. En d'autres termes, la plage d'adresses mémoire virtuelles ne présente pas de recouvrement avec la plage d'adresses mémoire physiques 30 réinscriptibles de la mémoire flash 102. Ainsi, une adresse mémoire virtuelle, si elle est interprétée comme étant une adresse mémoire physique de la mémoire flash 102, ne correspond pas à une adresse mémoire à laquelle des informations peuvent être écrites. L'utilisation d'une plage d'adresses mémoire virtuelles distincte de la plage d'adresses mémoire physiques réinscriptibles de la mémoire flash 102 présente 35 l'avantage que, au niveau du module esclave Me, il sera possible de détecter si une plage d'adresses mémoire virtuelles est utilisée ou non, et par conséquent si la première fonction de correspondance doit être utilisée ou non pour déterminer le ou les secteurs dont le contenu doit être effacé. Par exemple, si la mémoire flash 102 comporte également des secteurs non entrelacés, l'effacement de ces secteurs peut éventuellement se faire en envoyant des 5 requêtes d'effacement indiquant directement les plages d'adresses mémoire physiques de ces secteurs. Les figures 3a et 3b représentent un exemple de détermination d'espace d'adressage mémoire virtuel associé à une mémoire flash 102. La figure 3a représente schématiquement deux segments de la mémoire 10 flash 102, désignés respectivement par S1 et S2. Le segment S1 comporte un secteur Sa et le segment S2 comporte un secteur Sb. Les secteurs Sa et Sb sont en outre entrelacés. De manière non limitative, on considère que les secteurs Sa et Sb sont chacun de taille mémoire 64 octets. Tel qu'illustré par la figure 3a, chaque secteur Sa, Sb se décompose en 15 quatre éléments de taille mémoire 16 octets (16 o). L'adresse mémoire physique 0x00000000 correspond au premier élément du premier secteur Sa, l'adresse mémoire physique 0x00000010 correspond au premier élément du second secteur Sb, l'adresse mémoire physique 0x00000020 correspond au second élément du premier secteur Sa, l'adresse mémoire physique 0x00000030 correspond au second élément du 20 second secteur Sb, etc. La figure 3b représente schématiquement un exemple d'espace d'adressage mémoire virtuel pouvant être associé à la mémoire flash 102. Dans cet exemple, la plage d'adresses mémoire virtuelles, associée à la plage d'adresses mémoire physique 0x00000000 à Ox0000007F, est comprise entre l'adresse 25 mémoire virtuelle OxA0000000 et l'adresse mémoire virtuelle OxA000007F. Cette plage d'adresses mémoire virtuelles ne présente préférentiellement pas de recouvrement avec la plage d'adresses mémoire physique réinscriptibles de la mémoire flash 102, afin de pouvoir être facilement détectée au niveau du module esclave Me. Dans l'exemple illustré par la figure 3b : 30 - l'adresse mémoire virtuelle OxA0000000 est associée à l'adresse mémoire physique 0x00000000, soit au premier élément du premier secteur Sa, - l'adresse mémoire virtuelle OxA0000010 est associée à l'adresse mémoire physique 0x00000020, soit au second élément du premier secteur Sa, - l'adresse mémoire virtuelle OxA0000020 est associée à l'adresse mémoire 35 physique 0x00000040, soit au troisième élément du premier secteur Sa, - l'adresse mémoire virtuelle OxA0000030 est associée à l'adresse mémoire physique 0x00000060, soit au quatrième élément du premier secteur Sa. Ainsi les adresses mémoire virtuelles de la plage d'adresses mémoire virtuelles s'étendant de 0xA0000000 à 0xA000003F (adresse mémoire virtuelle de début OxA0000000 et taille mémoire 64 octets) identifient chacune des adresses mémoire physiques dudit premier secteur Sa. On comprend donc qu'une requête d'effacement de 5 la plage d'adresses mémoire virtuelles OxA0000000 à OxA000003F peut être interprétée sans ambiguïté comme visant à effacer uniquement le contenu du premier secteur Sa. Dans ce cas, le module esclave Me efface le contenu des éléments de taille 16 octets d'adresses mémoire physiques 0x00000000, 0x00000020, 0x00000040, et 0x00000060. De manière analogue : 10 - l'adresse mémoire virtuelle OxA0000040 est associée à l'adresse mémoire physique 0x00000010, soit au premier élément du second secteur Sb, - l'adresse mémoire virtuelle OxA0000050 est associée à l'adresse mémoire physique 0x00000030, soit au second élément du second secteur Sb, - l'adresse mémoire virtuelle OxA0000060 est associée à l'adresse mémoire 15 physique 0x00000050, soit au troisième élément du second secteur Sb, - l'adresse mémoire virtuelle OxA0000070 est associée à l'adresse mémoire physique 0x00000070, soit au quatrième élément du second secteur Sb. Ainsi les adresses mémoire virtuelles de la plage d'adresses mémoire virtuelles s'étendant de OxA0000040 à OxA000007F (adresse mémoire virtuelle de 20 début OxA0000040 et taille mémoire 64 octets) identifient chacune des adresses mémoire physiques du second secteur Sb. On comprend donc qu'une requête d'effacement de la plage d'adresses mémoire virtuelles OxA0000040 à OxA000007F peut être interprétée sans ambiguïté comme visant à effacer uniquement le contenu du second secteur Sb. Dans ce cas, le module esclave Me efface le contenu des éléments de taille 16 octets 25 d'adresses mémoire physiques 0x00000010, 0x00000030, 0x00000050 et 0x00000070. Pour effacer le contenu à la fois du premier secteur Sa et du second secteur Sb, une première requête d'effacement pourra indiquer la plage d'adresses mémoire virtuelles OxA0000000 à OxA000003F tandis qu'une seconde requête d'effacement pourra indiquer la plage d'adresses mémoire virtuelles OxA0000040 30 à OxA000007F. Ces deux requêtes d'effacement visant respectivement le premier segment S1 et le second segment S2, les opérations d'effacement correspondantes pourront être effectuées en parallèle. Il est à noter que, dans l'exemple illustré par les figures 3a et 3b, si les opérations d'effacement ne doivent pas nécessairement être effectuées en parallèle, rien 35 n'exclut, pour effacer le contenu du premier secteur Sa et du second secteur Sb, d'envoyer une seule requête d'effacement indiquant la plage d'adresses mémoire virtuelles OxA0000000 à OxA000007F. La première fonction de correspondance qui sera utilisée par le module esclave Me peut par exemple être mémorisée sous la forme d'une table de correspondance qui peut alors s'exprimer comme suit : Plage d'adresses Secteur à mémoire virtuelles effacer OxA0000000 à 0xA000003F Sa OxA0000040 à OxA000007F Sb etc. etc. On comprend que d'autres formats sont possibles pour la première table de correspondance, et qu'un choix particulier de format ne constitue qu'une variante de mise en oeuvre du procédé 50 d'effacement. La figure 4 représente schématiquement les principales étapes d'un mode 10 préféré de mise en oeuvre du procédé 50 d'effacement. Les étapes 500, 501 préalables du procédé 50 d'effacement sont représentées dans la partie supérieure de la figure 4. Pour effacer le contenu d'un ou de plusieurs secteurs de la mémoire flash 102, le procédé 50 d'effacement comporte plusieurs étapes. Les étapes 15 représentées dans la partie gauche de la figure 4 sont exécutées par le module maître Mm, tandis que les étapes représentées dans la partie droite de la figure 4 sont exécutées par le module esclave Me. Le procédé 50 d'effacement comporte tout d'abord une étape 512 d'envoi, par le module maître Mm, d'une requête d'effacement. La requête d'effacement indique une 20 ou plusieurs plages d'adresses mémoire virtuelles. Le procédé 50 d'effacement comporte ensuite une étape 520 de réception, par le module esclave Me, de la requête d'effacement. De préférence, le module esclave Me exécute ensuite une étape 521 de détection d'utilisation de plage d'adresse mémoire virtuelle. 25 La requête d'effacement ayant été envoyée en indiquant plage d'adresses mémoire virtuelles, le module esclave Me détecte (référence 521a sur la figure 4) que la première fonction de correspondance doit être utilisée pour déterminer le ou les secteurs dont le contenu doit être effacé. Le procédé 50 d'effacement comporte ensuite l'étape 522 de détermination du 30 ou des secteurs associés à chacune des plages d'adresses mémoire virtuelles indiquées dans la requête d'effacement, d'après la première fonction de correspondance. Le procédé 50 de reprogrammation comporte ensuite une étape 523 d'effacement du contenu du ou des secteurs déterminés d'après la première fonction de correspondance. De préférence, si la plage d'adresses mémoire virtuelles indiquée est erronée en ce qu'elle n'englobe pas un ou plusieurs secteurs complets, le module esclave Me pourra le détecter d'après la première fonction de correspondance et rejeter la requête d'effacement (éventuellement en le notifiant au module maître Mm). Cette étape de détermination si la plage d'adresses mémoire virtuelles est correcte et, le cas échéant, cette étape de rejet de la requête d'effacement ne sont pas représentées sur les figures. Si la requête d'effacement avait été envoyée par le module maître en indiquant une plage d'adresses mémoire physiques, l'étape 521 de détection aurait déterminé que la plage d'adresses mémoire utilisée n'était pas une plage d'adresses mémoire virtuelles (référence 521b sur la figure 4), conduisant directement à l'exécution de l'étape 523 d'effacement du contenu du ou des secteurs associés à la plage d'adresses mémoire physiques indiquée (par exemple dans le cas de secteurs non entrelacés). Suite à l'envoi d'une requête d'effacement, le procédé 50 d'effacement comporte une étape 513, exécutée par le module maître Mm, de détermination si d'autres requêtes d'effacement doivent être envoyées. Si aucune autre requête d'effacement ne doit être envoyée (référence 513a sur la figure 4), l'exécution du procédé 50 d'effacement prend fin. Si d'autres requêtes d'effacement doivent être envoyées (référence 513b sur la figure 4), l'étape 512 d'envoi est à nouveau exécutée pour l'envoi de la requête d'effacement suivante. Les étapes suivantes du procédé, côté module esclave Me, sont 25 alors à nouveau exécutées pour la nouvelle requête d'effacement. Il est à noter que le module esclave Me est intégré dans le calculateur 10 électronique. Le module maître Mm peut être soit intégré dans le calculateur 10 électronique, soit intégré dans un outil 20 de reprogrammation externe au calculateur 10 électronique et connecté à celui-ci par l'intermédiaire d'un bus de communication (CAN, 30 Ethernet, etc.). La figure 5 représente schématiquement les principales étapes d'une variante préférée de mise en oeuvre du procédé 50 d'effacement de la figure 4, dans le cas où un outil 20 de reprogrammation externe envoie des requêtes d'effacement au module maître Mm intégré dans le calculateur 10 électronique. 35 Dans cette variante de mise en oeuvre, on considère que la mémoire flash 102 mémorise plusieurs composants logiciels qui peuvent éventuellement être effacés, et l'outil 20 de reprogrammation envoie des requêtes d'effacement indiquant des composants logiciels à effacer. Ceci est avantageux car, de la sorte, l'outil 20 de reprogrammation n'a besoin de connaître que les différents composants logiciels qui peuvent être effacés, et n'a 5 besoin de connaître ni l'espace d'adressage mémoire virtuel ni l'organisation des secteurs de la mémoire flash 102. A cet effet, outre toutes les étapes décrites en référence à la figure 4, le procédé 50 d'effacement illustré par la figure 5 comporte une étape 502 préalable d'établissement d'une seconde fonction de correspondance permettant de déterminer, 10 pour chaque composant logiciel pouvant être effacé, la ou les plages d'adresses virtuelles associées à un composant logiciel donné. Le procédé 50 d'effacement comporte également une étape 530 d'envoi, par l'outil 20 de reprogrammation, d'une requête d'effacement d'un composant logiciel au module maître Mm. 15 Le procédé 50 d'effacement comporte également une étape 510 de réception, par le module maître Mm, de la requête d'effacement envoyée par l'outil 20 de reprogrammation. Le procédé 50 d'effacement comporte ensuite une étape 511 de conversion, par le module maître Mm et d'après la seconde fonction de correspondance, de la requête 20 d'effacement du composant logiciel en une requête d'effacement de plage d'adresses mémoire virtuelles associée à ce composant logiciel, qui est ensuite envoyée au module esclave Me au cours de l'étape 512 d'envoi. Il est à noter que, au cours de l'étape 511 de conversion, le module maître Mm peut convertir la requête d'effacement de composant logiciel en une ou 25 plusieurs requêtes d'effacement indiquant chacune une ou plusieurs plages d'adresses mémoire virtuelles. La présente invention concerne également un support de mémorisation d'informations, en l'occurrence la mémoire non volatile 103, dans lequel est mémorisé un logiciel de reprogrammation comportant un module esclave Me adapté à mettre en oeuvre 30 des étapes du procédé 50 d'effacement. Ainsi le module esclave Me comporte des instructions de code de programme qui, lorsqu'elles sont exécutées par le microprocesseur 101, mettent en oeuvre notamment les étapes 520 de réception, 522 de détermination de secteur à effacer et 523 d'effacement. Le cas échéant, le module esclave Me comporte également des instructions 35 dont l'exécution permet de mettre en oeuvre l'étape 521 de détection. Le cas échéant, le logiciel de reprogrammation, mémorisé dans le support de mémorisation, comporte également un module maître Mm adapté à mettre en oeuvre des étapes du procédé 50 d'effacement. Ainsi le module maître Mm comporte des instructions de code de programme qui, lorsqu'elles sont exécutées par le microprocesseur 101, mettent en oeuvre les étapes 512 d'envoi de requête d'effacement et 513 de détermination si d'autres requêtes d'effacement doivent être envoyées. Le cas échéant, le module maître Mm comporte également des instructions dont l'exécution permet de mettre en oeuvre les étapes 510 de réception et 511 de conversion. Le support de mémorisation mémorise également la première fonction de correspondance et, le cas échéant, la seconde fonction de correspondance. La présente invention concerne également un calculateur 10 électronique de véhicule automobile comportant un support de mémorisation tel que décrit ci-avant. De manière plus générale, la portée de la présente invention ne se limite pas 15 aux modes de mise en oeuvre et de réalisation décrits ci-dessus à titre d'exemples non limitatifs, mais s'étend au contraire à toutes les modifications à la portée de l'homme de l'art. Notamment, on comprend que d'autres formats sont possibles pour chacune des première et seconde fonctions de correspondance qu'une table de correspondance, 20 et qu'un choix particulier de format ne constitue qu'une variante de mise en oeuvre du procédé 50 d'effacement. La première fonction de correspondance peut notamment se présenter sous la forme d'instructions de code de programme à exécuter pour déterminer le ou les secteurs associés à une plage d'adresses mémoire virtuelles indiquée dans une requête d'effacement. De même, la seconde fonction de correspondance peut se 25 présenter sous la forme d'instructions de code de programme à exécuter pour déterminer la ou les plages d'adresses mémoire virtuelles associées à un composant logiciel indiqué dans une requête d'effacement. La description ci-avant illustre clairement que par ses différentes caractéristiques et leurs avantages, la présente invention atteint les objectifs qu'elle s'était 30 fixés. En particulier, du fait de l'utilisation d'un espace d'adressage mémoire virtuel dans lequel les secteurs de la mémoire flash 102 ne sont pas entrelacés, les secteurs à effacer peuvent être identifiés de manière non ambigüe, limitant les risques d'effacer un ou plusieurs secteurs par erreur. REVENDICATIONS1. Procédé (50) d'effacement d'informations mémorisées dans une mémoire réinscriptible non volatile (102) d'un calculateur (10) électronique, dans lequel un module maître (Mm) envoie des requêtes d'effacement à un module esclave (Me) dudit calculateur (10) électronique, ladite mémoire réinscriptible non volatile (102) étant organisée en secteurs (Sa, Sb) correspondant à la plus petite unité mémoire pouvant faire l'objet d'une opération d'effacement, au moins deux secteurs comportant des adresses mémoire physiques entrelacées, caractérisé en ce que ledit procédé comporte les étapes préalables suivantes : - (500) : détermination d'un espace d'adressage mémoire virtuel associé à la mémoire réinscriptible non volatile (102), dans lequel chaque secteur s'étend sur une plage spécifique d'adresses mémoire virtuelles consécutives, - (501) : établissement d'une première fonction de correspondance permettant de déterminer, pour chaque plage d'adresses mémoires virtuelles de l'espace d'adressage mémoire virtuel, le ou les secteurs associés à une plage d'adresses mémoire virtuelles, et en ce que le procédé (50) d'effacement comporte, pour chaque requête d'effacement reçue par le module esclave (Me) indiquant une plage d'adresses mémoire virtuelles, une étape (522) de détermination, d'après la première fonction de correspondance et de la plage d'adresses mémoires virtuelles indiquée, du ou des secteurs dont le contenu doit être effacé par le module esclave (Me). 2. Procédé (50) selon la revendication 1, caractérisé en ce que - la mémoire réinscriptible non volatile comporte plusieurs segments (51, S2), chaque segment se décomposant en plusieurs secteurs et au moins deux segments comportant des adresses mémoire physiques entrelacées, - chaque requête d'effacement envoyée par le module maître (Mm) est envoyée en indiquant une plage d'adresses mémoire virtuelles ne correspondant qu'à un seul segment (S1, S2) de la mémoire réinscriptible non volatile (102). 3. Procédé (50) selon la revendication 2, caractérisé en ce que deux requêtes d'effacement consécutives envoyées par le module maître (Mm) indiquent respectivement 30 des plages d'adresses mémoire virtuelles correspondant à des segments différents de la mémoire réinscriptible non volatile (102). 4. Procédé (50) selon l'une quelconque des revendications précédentes, caractérisé en ce que la plage d'adresses mémoire virtuelles est sans recouvrementavec la plage d'adresses mémoire physiques réinscriptibles de la mémoire réinscriptible non volatile (102), et en ce que le procédé comporte une étape (521) de détection d'utilisation d'une plage d'adresses mémoire virtuelles, l'étape (522) de détermination de secteur n'étant exécutée que si une plage d'adresses mémoire virtuelles a été détectée. 5. Procédé (50) selon l'une quelconque des revendications précédentes, caractérisé en ce que, plusieurs composants logiciels étant mémorisés dans la mémoire réinscriptible non volatile (102), ledit procédé comporte : - une étape (502) préalable d'établissement d'une seconde fonction de correspondance permettant de déterminer, pour chaque composant logiciel pouvant être effacé, la ou les plages d'adresses mémoire virtuelles associées à un composant logiciel, - une étape (530) d'envoi, par un outil (20) de reprogrammation connecté au calculateur électronique, d'une requête d'effacement d'un composant logiciel au module maître (Mm), - une étape (511) de conversion, par le module maître (Mm) et d'après la seconde fonction de correspondance, de la requête d'effacement de composant logiciel en requête d'effacement de plage d'adresses mémoire virtuelles. 6. Support (103) de mémorisation d'informations d'un calculateur (10) électronique, mémorisant un module esclave (Me) adapté à effectuer des opérations d'effacement du contenu d'adresses mémoire physiques d'une mémoire réinscriptible non volatile (102) organisée en secteurs correspondant à la plus petite unité mémoire pouvant faire l'objet d'une opération d'effacement, caractérisé en ce qu'il mémorise une première fonction de correspondance permettant de déterminer, pour chaque plage d'adresses mémoires virtuelles d'un espace d'adressage mémoire virtuel prédéfini, le ou les secteurs associés à une plage d'adresses mémoire virtuelles, le module esclave (Me) comportant des instructions qui, lorsqu'elles sont exécutées par ledit calculateur (10) électronique, déterminent, à partir de la première fonction de correspondance et d'une plage d'adresses mémoire virtuelle indiquée dans une requête d'effacement reçue par ledit module esclave, le ou les secteurs dont le contenu doit être effacé. 7. Support (103) de mémorisation selon la revendication 6, caractérisé en ce qu'il mémorise : - un module maître (Mm) configuré pour envoyer des requêtes d'effacement au module esclave (Me),- une seconde fonction de correspondance permettant de déterminer, pour chaque composant logiciel mémorisé dans la mémoire réinscriptible non volatile, la ou les plages d'adresses mémoire virtuelles associées à un composant logiciel, et en ce que le module maître (Mm) comporte des instructions qui, lorsqu'elles sont 5 exécutées par le calculateur électronique, convertissent, d'après la seconde fonction de correspondance, une requête d'effacement de composant logiciel reçue par ledit module maître en une requête d'effacement de plage d'adresses mémoire virtuelles. 8. Support (103) de mémorisation selon l'une quelconque des revendications 6 à 7, caractérisé en ce que la plage d'adresses mémoire virtuelles est sans recouvrement 10 avec la plage d'adresses mémoire physiques réinscriptibles de la mémoire réinscriptible non volatile, et en ce que le module esclave (Me) est configuré pour n'exécuter les instructions de détermination de secteur d'après la première fonction de correspondance que si une plage d'adresses mémoire virtuelles a été détectée. 9. Calculateur (10) électronique, caractérisé en ce qu'il comporte un 15 support (103) de mémorisation d'informations selon l'une quelconque des revendications 6 à 8.