Brevet FR3077399A1 — publié le 20190802

Dispositif et procédé pour éviter l'obsolescence des calculateurs à logiciel téléchargeable utilisant une mémoire à durée de rétention limitée [0001] L'invention s'intéresse à un dispositif et un procédé pour éviter l'obsolescence des calculateurs à logiciel téléchargeable utilisant une mémoire à durée de rétention limitée. [0002] En particulier, l'invention concerne un dispositif et un procédé pour éviter l'obsolescence d'un calculateur en recopiant systématiquement le logiciel boot à chaque téléchargement de mise à jour. ÉTAT DE LA TECHNIQUE ANTÉRIEURE [0003] Les appareils électroniques contiennent des données informatiques qui sont stockées dans des mémoires. Ces mémoires ont généralement une durée limitée de rétention de l'information. En d'autres termes, l'information mémorisée devient illisible au bout d'un certain temps car elle s'efface d'elle-même, y compris en l'absence d'utilisation et de mise sous tension de l'appareil. C'est le cas, par exemple, des appareils utilisant une mémoire de type flash telle que les clefs USB, les ordinateurs avec mémoire de type SSD, les calculateurs de véhicules automobiles ; ... [0004] La mémoire flash est aujourd'hui largement utilisée dans les équipements électroniques car elle permet de télécharger facilement et rapidement un logiciel. Grâce à cette mémoire flash, les erreurs du logiciel peuvent être corrigées tardivement dans la conception et même ultérieurement pendant son utilisation, ce qui n'était pas possible autrefois lorsque le logiciel était gravé de façon permanente dans le semi-conducteur sous une forme dépendant des processeurs spécifiques à chaque équipement. [0005] Lorsque des données informatiques deviennent illisibles, parce que leur durée de rétention est dépassée, l'équipement tombe en panne. Un dépannage peut se faire en procédant au rechargement des données informatiques, si cela a été prévu à la conception et si celles-ci sont disponibles sur un autre support. Dans tous les cas, il y a risque de perte des données informatiques. 2 [0006] La durée de rétention peut aller de quelques années pour les clefs USB à une vingtaine d'années pour le boîtier électronique d'un véhicule automobile. Dans le cas d'une mémoire Flash, la durée de rétention est déterminée pour chaque donnée à partir de la date de son écriture. Une panne survient donc systématiquement un 5 certain moment après expiration de la durée de rétention garantie par le fabricant de la mémoire, que l'équipement soit sous tension ou non. Toutefois, à chaque rechargement de données, leur lecture est à nouveau possible pendant au moins la durée de rétention. [0007] La prévision de la date de survenance d'une panne est difficile du fait que 10 la durée de rétention effective des informations n'est pas toujours connue de l'utilisateur. En effet, cette durée peut dépendre des conditions d'utilisation, par exemple, du nombre d'utilisations déjà effectuées, de la température d'utilisation...etc. De plus, dans certains équipements, les données peuvent être rechargées par lots et en différents instants, par exemple, lors de l'utilisation d'une 15 clef USB, ce qui rend difficile la prévision de la date de panne. Par ailleurs, une panne peut se produire sans que celle-ci soit détectée immédiatement, en particulier, si elle survient sur une zone de données qui n'est pas souvent ou pas encore utilisée. [0008] On considère qu'il y a obsolescence lorsque la panne se produit et lorsqu'il n'est plus possible pour l'utilisateur de procéder au rechargement des données 20 informatiques perdues. Cette situation résulte du fait que le rechargement des données nécessite la mise en oeuvre d'un logiciel de communication et d'un logiciel de rechargement embarqués qui se sont eux-mêmes effacés et sont devenus illisibles parce qu'ils étaient eux-aussi chargés dans une mémoire flash. [0009] En cas d'obsolescence, il est théoriquement possible de recharger les 25 données en accédant directement aux broches physiques des composants électroniques, grâce à un outillage spécifique utilisé par des opérateurs spécialisés. Mais, des dispositifs de cyber-sécurité peuvent empêcher ou interdire complètement ce rechargement, afin d'éviter le piratage des logiciels. [0010] Il existe déjà des procédés, tels que celui décrit dans le W0201721606, qui est destiné au téléchargement de requêtes d'écriture de données logicielles dans au 3 moins une mémoire d'au moins un calculateur embarqué dans un véhicule. Les requêtes sont transmises aux calculateurs en trames initiales dans un premier réseau et après conversion en trames modifiées dans un second réseau à multiplexage temporel et à bande passante divisée en plusieurs canaux de communication 5 attribués chacun à un calculateur. Les trames initiales sont segmentées en trames modifiées contenant chacune un nombre d'octets inférieur ou égal à un nombre maximal admissible par le second réseau. Quand le téléchargement d'un calculateur est terminé ou lorsque des canaux sont libres, ces canaux sont ré-attribués à au moins l'un des calculateurs restants pour l'envoi de trames modifiées en plus de celles 10 reçues par son canal attribué et recomposition dans le calculateur restant par regroupement des trames modifiées et écriture en mémoire des données. [0011] Le DE102015211540 décrit un procédé de programmation d'un calculateur de véhicule automobile qui comprend les étapes suivantes : écriture d'un premier module logiciel dans le calculateur par le biais d'une première interface; 15 blocage de la première interface du calculateur; écriture d'une clé, par le biais d'une seconde interface, dans une zone de mémoire sécurisée du calculateur; écriture d'un logiciel de véhicule chiffré dans le calculateur par le biais de la seconde interface ; déchiffrement du logiciel de véhicule chiffré par le premier module logiciel à l'aide de la clé écrite ; enregistrement du logiciel de véhicule déchiffré dans une zone de 20 mémoire du calculateur; et installation d'une protection en lecture pour la zone de mémoire du logiciel de véhicule déchiffré. [0012] Le FR2971349 décrit un procédé de reprogrammation d'un calculateur par modification du contenu d'une mémoire réinscriptible non volatile dudit calculateur au moyen d'un logiciel de reprogrammation mémorisé dans la mémoire 25 réinscriptible non volatile. [0013] Le FR2875920 décrit un procédé de mise en oeuvre d'au moins un logiciel téléchargé dans un calculateur électronique embarqué à bord d'un véhicule automobile, du type comportant des moyens de stockage de logiciels de commande de son fonctionnement, se présentant sous la forme de mémoires non volatiles de 30 type EEPROM et volatiles de type RAM, à l'aide d'un outil de téléchargement extérieur au véhicule, est caractérisé en ce qu'au moins un logiciel est téléchargé par l'outil 4 extérieur en mémoire RAM du calculateur et exécuté par le calculateur à partir de cette mémoire RAM. [0014] Cependant, aucun des procédés et/ou dispositifs décrits dans ces documents antérieurs ne permet d'éviter l'obsolescence des calculateurs embarqués 5 à logiciel téléchargeable utilisant une mémoire à durée limitée de rétention. [0015] En outre, on ne dispose pas aujourd'hui de moyens qui permettraient de gérer le calendrier de rechargement du logiciel-boot avant son effacement. [0016] Ainsi, dans le domaine automobile, cette opération n'est pas prévue dans les opérations habituelles de maintenance. Dans ces conditions, il faudrait effectuer 10 cette opération avant l'expiration de la durée de rétention de la mémoire qui contient le logiciel-boot, mais il serait abusif et préjudiciable d'effectuer cette opération trop souvent car une mémoire-non-volatile possède un nombre limité d'écritures autorisées qui, en cas de dépassement, deviennent inutilisables EXPOSÉ DE L'INVENTION 15 [0017] La présente invention a pour but de résoudre les problèmes techniques posés par l'art antérieur en proposant un dispositif et un procédé permettant d'éviter l'obsolescence des calculateurs embarqués utilisant de la mémoire ayant une durée de rétention limitée, notamment pour pérenniser leur logiciel de démarrage qui n'est pas rechargeable pour raison de cyber-sécurité. 20 [0018] En particulier, l'invention met en oeuvre automatiquement le dispositif à chaque téléchargement de logiciel d'application dans le calculateur de façon à rester compatible avec la technologie mémoire dudit calculateur sans nécessiter d'outillage ni d'opération spécifiques. [0019] Ce but est atteint, selon l'invention, au moyen d'un Dispositif pour éviter 25 l'obsolescence d'un calculateur comprenant un processeur pourvu ; - d'un logiciel de boot-physique inscrit dans une mémoire permanente comprenant une zone de mémoire programmable une seule fois et, 5 - d'un logiciel-boot stocké dans une zone de logiciel-boot d'une mémoire non-volatile temporaire comprenant, en outre, une zone de logiciel-opérationnel et une zone libre de taille au moins égale à la taille de la zone de logiciel-boot, caractérisé en ce qu'il comprend, dans la zone de logiciel-boot, un logiciel de recopie systématique du 5 logiciel-boot activé à chaque téléchargement externe pour l'installation de la mise à jour du logiciel-opérationnel. [0020] Selon une variante du dispositif de l'invention, la mémoire non-volatile- temporaire est choisi parmi les mémoires Flash NOR et Flash NAND. [0021] Selon une caractéristique avantageuse, le logiciel-boot est chargé en deux 10 exemplaires, respectivement, dans la zone de logiciel-boot et dans la zone libre à des fins de « robustification ». [0022] Selon une autre caractéristique avantageuse, le dispositif comprend un logiciel complémentaire du logiciel boot-physique chargé dans la zone de mémoire permanente et destiné à vérifier l'intégrité du logiciel-boot. 15 [0023] De préférence, le logiciel complémentaire du logiciel boot-physique est chargé dans la zone de mémoire programmable une seule fois. [0024] Un autre objet de l'invention est un procédé pour la mise en oeuvre du dispositif tel que défini ci-dessus, caractérisé en ce que, lors de l'installation de la mise à jour du logiciel-opérationnel, on efface la zone libre de la mémoire non-volatile 20 temporaire et on y copie le contenu de la zone de logiciel-boot, on active le logiciel de recopie systématique du logiciel-boot à partir de sa copie dans la zone libre, puis on efface la zone de logiciel-boot et on la recharge avec le contenu de la zone libre et on effectue l'installation de la mise à jour du logiciel-opérationnel. [0025] Selon une caractéristique avantageuse du procédé, préalablement à 25 l'installation de la mise à jour du logiciel-opérationnel, on vérifie l'intégrité du logiciel-boot dans la zone au moyen du logiciel complémentaire du logiciel bootphysique chargé dans la zone de mémoire permanente. 6 [0026] Le cas échéant, si le logiciel-boot est intègre et lisible dans la zone du logiciel-boot, on effectue l'installation de la mise à jour du logiciel-opérationnel à partir de cette zone. [0027] En revanche, si le logiciel-boot est corrompu, on vérifie l'intégrité du 5 logiciel-boot dans la zone libre au moyen du logiciel complémentaire du logiciel boot- physique puis on effectue l'installation de la mise à jour du logiciel-opérationnel à partir de cette dernière zone. [0028] Le dispositif et le procédé de l'invention permettent d'éviter l'obsolescence d'un calculateur dont le logiciel est rechargeable comme le sont tous 10 les calculateurs embarqués dans les véhicules automobiles. [0029] Le dispositif de l'invention est compatible avec le matériel informatique déjà existant (calculateurs et processeurs) et permet d'éviter la perte partielle de données ou de programme et améliore ainsi la sécurité, en particulier, si cette perte survient en situation de conduite autonome. 15 [0030] Le procédé de l'invention est effectué intégralement à l'intérieur du calculateur et de façon automatique et est donc utilisable par tout acteur de maintenance, sans nécessiter l'apport d'informations de la part du constructeur. [0031] Le procédé de l'invention permet, en outre, de « robustifier » le processus de démarrage des calculateurs. 20 BRÈVE DESCRIPTION DES FIGURES [0032] D'autres caractéristiques et avantages de l'invention ressortiront à la lecture de la description qui va suivre, en référence à la figure annexée et détaillée ci-après. La figure 1 est une vue schématique de la structure d'un calculateur. 25 DESCRIPTION DÉTAILLÉE DE MODES DE REALISATION [0033] Naturellement, les modes de réalisation illustrés, notamment, par la figure présentée ci-dessus et décrits ci-après ne sont donnés qu'à titre d'exemples non 7 limitatif. Il est explicitement prévu que l'on puisse combiner entre eux ces différents modes pour en proposer d'autres. [0034] Un calculateur désigne, dans le contexte de l'invention, un équipement ou un appareil et, plus généralement, tout objet qui contient des données mémorisées et 5 qui effectue un traitement ou des lectures et écritures de ces données. [0035] Un processeur est un composant du calculateur qui permet d'effectuer des traitements de données, c'est-à-dire, au moins l'acquisition, le stockage et la restitution ou l'utilisation de tout ou partie des données informatiques mémorisées dans le calculateur. Pour fonctionner, le processeur met en oeuvre un programme 10 informatique ou logiciel ; ce logiciel étant lui-même composé d'instructions et de données. [0036] Le domaine de l'invention couvre tout type de calculateur et de processeur, quelles que soient les technologies utilisées (électricité, électronique, optique, ...). Un exemple de technologie actuellement utilisée pour réaliser des 15 processeurs consiste à transporter et stocker des électrons en utilisant notamment un semi-conducteur à base de silicium, des motifs avec des transistors agencés en CMOS et des interconnexions de ces motifs en cuivre ou aluminium. [0037] Une mémoire permanente est une mémoire dans laquelle les données sont inscrites sans date limite de conservation. Les mémoires électroniques permanentes 20 sont des mémoires programmées une seule fois, soit lors de la fabrication du processeur par des interconnexions entre les transistors (dépendant du masque de fabrication du semi-conducteur), soit par le fabricant de calculateur (mémoire de type OTP - « One Time Programmable »). [0038] Une mémoire volatile est une mémoire de travail qui ne conserve pas 25 durablement ses données. Ces données sont alors effacées, par exemple, après une coupure de l'alimentation du calculateur. Ainsi, les mémoires de type RAM sont des mémoires volatiles présentes dans tous les calculateurs. [0039] Une mémoire non-volatile est une mémoire qui conserve les données en toutes circonstances. 8 [0040] Une mémoire-non-volatile-temporaire (dénommée NVT par la suite) est une mémoire-non-volatile qui perd ses données au bout d'un certain temps, qu'elle soit en fonctionnement ou hors alimentation et quelle que soit sa technologie. C'est le cas, par exemple, d'une mémoire en technologie dite Flash, quelle que soit la 5 technologie en Flash NOR ou en Flash NAND. Dans une mémoire Flash, chaque donnée est constituée d'un ensemble d'électrons maintenus dans une zone par une barrière de potentiels générés par des semi-conducteurs. Régulièrement, des électrons sont perdus par effet quantique de sorte que l'information stockée se perd au bout de plusieurs mois ou de plusieurs années selon le type et la conception de la 10 mémoire NVT. [0041] Le temps-rétention d'une mémoire est la durée à partir de laquelle une information stockée dans cette mémoire s'efface d'elle-même et devient illisible, par exemple, selon le processus de perte d'électrons décrit ci-dessous pour les mémoires NVT de type Flash. 15 [0042] Un oubli est caractérisé si une donnée est devenue illisible totalement ou partiellement et si cette altération dépasse les capacités de correction intrinsèques à la mémoire en cause (code redondant cyclique CRC ...), notamment lorsque la durée de rétention est dépassée et que la donnée s'est effacée d'elle-même. [0043] Le logiciel-opérationnel est l'ensemble des instructions et données qui 20 permettent l'exécution des fonctions du calculateur après démarrage. [0044] Le boot est l'ensemble des instructions et données qui servent pour la première mise en service ou la montée de version du logiciel du calculateur, puis à son démarrage après sa mise sous tension ou sa réinitialisation. [0045] Le boot-physique est la partie du boot qui est réalisée selon un procédé 25 permettant de stocker des instructions et données de façon pérenne, mais non modifiable après fabrication. Par exemple, les instructions et données sont gravées dans le semi-conducteur lors de la fabrication du composant électronique. Le bootphysique est la première partie du boot qui est mise en oeuvre au moment du démarrage du processeur. 9 [0046] Le logiciel-boot est une partie du boot qui peut être chargée dans une mémoire non volatile du processeur au moment de la fabrication du calculateur, grâce à des outils spécifiques. Le logiciel-boot succède au boot-physique lors du démarrage du calculateur. 5 [0047] Le logiciel-boot-installation est une partie du logiciel-boot qui permet d'installer le logiciel-opérationnel dans la mémoire NVT d'un calculateur, par une opération de téléchargement depuis l'extérieur du calculateur. [0048] Le logiciel-boot-initialisation est une partie du logiciel-boot qui permet d'initialiser le processeur et de charger dans sa mémoire le début du logiciel-10 opérationnel. [0049] Le boot-sécurisé est un processus de cyber-sécurité qui permet au boot de fonctionner selon une chaîne de vérification à partir du boot physique en incluant notamment les opérations de vérification du logiciel-boot avant son utilisation, le contrôle des opérations d'installation et de mise à jour du logiciel-opérationnel et la 15 vérification de l'intégrité de celui-ci avant son démarrage. Le boot-sécurisé empêche tout rechargement du logiciel-boot afin d'éviter le piratage du calculateur, ce piratage consistant à recharger le logiciel-boot avec un logiciel-boot inhibant le processus de boot-sécurisé. [0050] Comme illustré par la figure 1, un calculateur (C) comprend un processeur 20 (P) et optionnellement une mémoire-non-volatile-temporaire (C.NVT). Le détail du contenu de la mémoire-non-volatile-temporaire ainsi que divers autres éléments du calculateur (P) ne seront pas décrits car ils ne concernent pas l'invention. [0051] Le processeur (P) comprend notamment une mémoire permanente (P.MP), une mémoire-non-volatile-temporaire (P.NVT) et une mémoire-volatile (P.V). 25 [0052] La mémoire permanente (P.MP) contient éventuellement une zone programmable une seule fois (P.OTP) qui, si elle existe, sera utilisée par l'invention. La mémoire permanente (P.MP) contient d'autres zones de données qui sont sans rapport avec la présente invention et qui ne seront donc pas décrits ici. 10 [0053] La mémoire non-volatile-temporaire du processeur (P.NVT) comprend une zone de logiciel-boot (P.LB), une zone de logiciel-opérationnel (P.LO) et une zone libre (P.LB bis) de taille au moins égale à la zone (P.LB) ainsi que d'autres zones de données qui sont sans rapport avec l'invention. 5 [0054] Chaque zone mentionnée peut elle-même comprendre plusieurs parties, dont le détail n'est pas utile pour l'invention. [0055] Le plus souvent le calculateur utilise un processeur standard du commerce apte à satisfaire les besoins de différents domaines d'application. Dans ce but, le processeur possède un logiciel de boot-physique inscrit en mémoire permanente 10 (P.MP). En effet, un même processeur peut être utilisé, par exemple, pour l'automobile ou pour le ferroviaire. En conséquence, les spécificités de téléchargement des logiciels et de démarrage du calculateur propres aux standards du domaine considéré, sont prises en charge par un logiciel-boot qui est stocké en mémoire-non-volatile-temporaire (P.NVT) dans une zone dédiée au logiciel-boot 15 (P.LB). [0056] Le chargement initial du logiciel-boot dans un calculateur est généralement effectué au moment de sa fabrication, grâce à l'utilisation du bootphysique et d'un outillage spécifique permettant d'accéder aux broches du processeur. Ultérieurement, le logiciel-boot pourrait être rechargé avec ces mêmes 20 moyens spécifiques en accédant toujours aux broches du processeur. Mais, en général, pour éviter une faille de cyber-sécurité, cette possibilité peut être définitivement inhibée de façon à ne plus autoriser le rechargement du logiciel-boot. [0057] Il y a obsolescence du calculateur C après expiration de la durée de rétention de sa mémoire non-volatile-temporaire (C.NVT) ou dans la mémoire non- 25 volatile-temporaire (P.NVT) du processeur P, suite à un oubli d'au moins une partie des données informatiques stockées dans cette mémoire et lorsque cet oubli concerne aussi tout ou partie du logiciel-boot en mémoire (P.LB) de sorte qu'il devient impossible de recharger les données oubliées. 11 [0058] De manière connue, le processeur P met en oeuvre, lors de son démarrage, un processus de boot ou, de préférence, un processus de boot-sécurisé qui assure la cyber-sécurité. Le logiciel-boot met en oeuvre, notamment, la fonction logiciel-bootinitialisation qui permet d'initialiser le processeur P, et, sur demande externe, la 5 fonction logiciel-boot-installation pour l'installation ou la mise à jour du logiciel- opérationnel. [0059] Lors de l'installation du logiciel-opérationnel ou de sa mise à jour, la zone de boot n'est pas modifiée. En effet, pour des raisons de sécurité, le calculateur C est conçu pour qu'il ne soit pas possible de remettre facilement à jour, par 10 téléchargement, la zone mémoire logiciel-boot (P.LB). Lorsque cela est néanmoins possible, cette opération reste une mesure exceptionnelle qui nécessite des opérations spécifiques sous contrôle du fabricant du calculateur. [0060] Dans le contexte décrit ci-dessus, le dispositif et le procédé de l'invention sont destinés à éviter l'obsolescence du calculateur C. 15 [0061] L'invention consiste, notamment, à inclure, dans la zone mémoire de logiciel-boot (P.LB), un nouveau logiciel dénommé « logiciel-boot-recopie-boot ». Cette intégration est faite au moment de la conception du logiciel-boot et le logiciel est chargé dans le processeur P avec le logiciel-boot, en utilisant une méthode et des outils connus par ailleurs. Ainsi, l'invention ne nécessite pas de processeur spécifique. 20 [0062] L'invention nécessite de réserver dans la mémoire-non-volatile (P.NVT) du processeur P, une zone de taille au moins égale à la taille de la mémoire de logicielboot (P.LB). Cette nouvelle zone est dénommée (P.LB bis) comme illustré par la figure 1. [0063] Selon une variante, l'invention propose aussi une option dite de 25 « Robustification », qui est installée dans une zone de la mémoire permanente (P.MP). D'un point de vue structurel, et si l'on souhaite utiliser un processeur standard déjà existant, il conviendra d'inscrire l'option de « Robustification » après la fabrication du processeur P, lors de la fabrication du calculateur C, par exemple, dans une zone du type OTP, inscriptible une seule fois. Cette zone sera dénommée (P.OTP). 12 [0064] L'option de « Robustification » pourrait aussi être intégrée dans la mémoire permanente du processeur (P.MP) dès sa fabrication, en particulier, si la zone (P.OTP) n'existe pas. Cette variante permet d'obtenir un processeur P spécifique qui inclus l'option de « Robustification » de l'invention dès le départ et qui est en soi 5 un nouveau processeur. [0065] Pour éviter l'obsolescence du calculateur C, l'invention propose d'intégrer dans le processeur P, un logiciel de recopie systématique du logiciel-boot à chaque fois que le logiciel-opérationnel est mis à jour par téléchargement externe. Ce logiciel dénommé « logiciel-boot-copie-boot », permet d'éviter l'obsolescence si le logiciel- 10 opérationnel est mis à jour avant la fin de la durée de rétention de la mémoire non- volatile-temporaire (P.NVT) du processeur P. [0066] L'invention est activée lorsqu'il est fait appel au logiciel-boot-installation. Dans ce cas, le logiciel logiciel-boot effectue l'installation du logiciel téléchargé et active, de façon concomitante, le logiciel-boot-copie-boot. Toutefois, l'invention 15 prévoit que ces deux opérations puissent être effectuées dans n'importe quel ordre. De préférence et comme indiqué, dans l'exemple, du tableau 1, le logiciel-boot-copieboot sera activé avant le logiciel-boot-installation afin de s'assurer que l'invention a bien été mise en oeuvre une fois la phase d'installation terminée. [0067] Ainsi, l'obsolescence est évitée s'il a été fait au moins une opération de 20 maintenance pour recharger le logiciel-opérationnel avant le terme de la durée de rétention de la mémoire-non-volatile-temporaire (C.NVT) du calculateur C, cette opération consistant à installer une version incrémentale du logiciel-opérationnel dans le calculateur, mais qui peut être identique à la version déjà installée précédemment. 25 [0068] L'invention conduit aussi à systématiser les opérations de rechargement du logiciel-opérationnel, qui n'étaient pas toujours effectuées et qui sont pourtant nécessaires, avant le terme de la durée de rétention de la mémoire-non-volatile afin d'éviter une panne du calculateur. 13 [0069] Plus généralement, l'invention consiste donc à recharger avec un contenu identique la totalité des zones de la mémoire-non-volatile-temporaire (C.NVT) du calculateur C, y compris la zone mémoire (P.LB) de logiciel-boot qui, auparavant, n'était pas rechargée. 5 [0070] L'un des avantages de l'invention est d'être compatible avec une cyber- sécurité renforcée à un très haut niveau car la fonction « logiciel-boot-recopie-boot » s'effectue entièrement en interne du calculateur. [0071] Comme mentionné précédemment, l'invention met en oeuvre, de façon préférentielle mais non obligatoire, une fonction « Robustification » du processus de 10 boot. La fonction de « Robustification » va consister à gérer un deuxième exemplaire du logiciel-boot afin de maintenir un bon fonctionnement en cas de dégradation de ce logiciel-boot. Une telle dégradation pourrait survenir, par exemple, en cas de coupure d'alimentation pendant le rechargement du logiciel-boot. [0072] Un des problèmes techniques posés par l'art antérieur et que l'invention 15 permet de résoudre, réside dans le fait que l'on ne disposait pas de moyens permettant de gérer le calendrier de rechargement du logiciel-boot avant son oubli. Ainsi, dans le domaine automobile, par exemple, cette opération n'est pas prévue dans les opérations habituelles de maintenance. [0073] Or, il est impératif d'effectuer cette opération avant la fin de la durée de 20 rétention de la mémoire qui contient le logiciel-boot. Mais, il serait néanmoins abusif d'effectuer cette opération trop souvent car une mémoire-non-volatile a un nombre maximum d'écritures autorisées et, en cas de dépassement, elle devient inutilisable. [0074] Le détail du processus de rechargement du logiciel-boot dans la mémoire- non-volatile (NVT) varie selon les caractéristiques de cette mémoire qui nécessitent 25 un ensemble d'opérations plus complexes qu'une simple écriture. Par exemple, on peut se trouver confronté à une technologie de mémoire du type Flash NOR ou Flash NAND. 14 [0075] La mémoire de type Flash NOR est largement utilisée dans les calculateurs automobiles, notamment, parce qu'elle a une plus longue durée de rétention des informations que la mémoire Flash NAND. [0076] La mémoire Flash NAND est plutôt utilisée, quant à elle, pour des clefs USB 5 parce qu'elle est plus compacte, mais elle a une durée de rétention généralement plus courte que la mémoire de type Flash NOR. [0077] Les processeurs utilisés dans le domaine automobile, par exemple les processeurs pour contrôle moteur de type « Infineon Aurix », utilisent de la mémoire Flash NOR qui est organisée en différentes zones. Or, il est connu qu'avant de pouvoir 10 recharger des données dans une zone qui contient déjà des données, il est nécessaire d'effacer totalement l'ensemble des données de cette zone. [0078] L'exemple d'implémentation de l'invention présentée dans le tableau 1, prend en compte cette caractéristique spécifique des mémoires Flash NOR. [0079] L'avantage de l'invention est de tenir compte du fait que le nombre 15 d'écriture d'un logiciel dans une mémoire-non-volatile d'un processeur (P.NVT) est limité avant l'usure de cette mémoire. Par exemple, pour l'automobile une mémoire flash de type NOR d'un processeur permet, aujourd'hui, d'effectuer de l'ordre de 1000 rechargements du logiciel. [0080] D'autres avantages de l'invention sont décrits ci-après : 20 [0081] Ainsi, en associant une opération de rechargement du logiciel-boot au rechargement du logiciel-opérationnel d'un calculateur automobile, il est possible de bénéficier du calendrier de maintenance d'un véhicule pour faire cette opération en temps utile. [0082] Il n'est pas nécessaire d'effectuer le rechargement du logiciel-boot de 25 façon plus fréquente que celui du rechargement du logiciel-opérationnel du calculateur, ce qui assure une compatibilité de l'invention avec le nombre maximum de réécriture en mémoire-non-volatile. 15 [0083] Le tableau 1 illustre un exemple de mise en oeuvre du procédé de l'invention, appliqué au domaine automobile au moment du rechargement du logiciel-opérationnel avec la recopie du logiciel-boot à partir de la zone (P.LB). 5 [0084] De préférence, mais de façon non obligatoire et lorsque cela est possible selon la définition du processeur choisi pour le calculateur, l'invention met en oeuvre un processus de « Robustification » du logiciel-boot. [0085] Ce processus de « Robustification » est utile, notamment, en cas de coupure d'alimentation pendant le rechargement logiciel-boot en mémoire (P.LB) lors 10 de l'étape 2 du processus présenté sur le tableau 1. En effet, il y a un risque que le logiciel-boot contenu dans (P.LB) soit déjà effacé mais pas encore rechargé au moment de la coupure d'alimentation, ce qui ne permettrait plus un redémarrage du calculateur [0086] Afin de parer à cette éventualité, l'invention propose deux étapes 15 supplémentaires lors de la fabrication du calculateur : d'une part, de charger le logiciel-boot à l'identique en deux endroits, respectivement, en (P.LB) et en (P.LB bis) et, d'autre part, d'ajouter un logiciel complémentaire au logiciel boot-physique dénommé « boot-physique-choix-logiciel-boot ». 1. Effacer la zone (P.LB bis) et copier l'ensemble de la zone (P.LB) dans la zone (P.LB bis) Poursuivre la fonction logiciel-boot-copie-boot à partir de sa copie en (P.LB bis) 1 2. Effacer la zone (P.LB) et Recharger la zone (P.LB) avec le contenu de la zone (P.LB bis) i. 3. Effectuer la fonction logiciel-boot-installation à partir de (P.LB) 16 [0087] Le « boot-physique-choix-logiciel-boot » pourra par exemple être chargé dans une zone de mémoire permanente programmable une seule fois (P.OTP) qui est disponible dans certains processeurs existants. Une autre possibilité est d'inclure dès la fabrication du processeur la fonction « boot-physique-choix-logiciel-boot » dans la 5 fonction boot-physique. [0088] Le logiciel « boot-physique-choix-logiciel-boot » effectue un traitement en complément du traitement effectué par le logiciel boot-physique, comme présenté dans le tableau 2, afin d'utiliser un logiciel-boot non corrompu, soit en zone mémoire (P.LB), soit en zone mémoire (P.LB bis). Dans chacun de ces deux cas, le logiciel-boot 10 va travailler, respectivement, en zone mémoire (P.LB) ou en zone mémoire (P.LB bis) et en cas de rechargement du logiciel-opérationnel, la fonction logiciel-boot-copieboot, sera mise en oeuvre respectivement selon le processus décrit dans le tableau 1 ou le tableau 3. [0089] Tableau 2 - Complément de boot-physique pour sécurisation du processus 15 de logiciel-boot - Vérifie l'intégrité du logiciel-boot en zone mémoire (P.LB bis). S'il est intègre et lisible termine le boot-physique et poursuit en utilisant le logiciel-boot en (P.LB bis) et dans le cas d'un rechargement du logiciel-opérationnel, active le processus du Tableau 3 Le boot-physique comprend une fonction boot-physique-choix- logiciel-boot inscrite en mémoire permanent (P.OTP) ou (P.MP) qui effectue les opérations suivantes - Vérifie l'intégrité du logiciel-boot en zone mémoire (P.LB). S'il est intègre et lisible, termine le boot-physique et poursuit en utilisant le logiciel-boot en (P.LB) et dans le cas d'un rechargement du logiciel-opérationnel, active le processus du Tableau 1 17 [0090] Le Tableau 3 ci-dessous décrit le processus de rechargement du logiciel- boot, à partir de la zone mémoire (P.LB bis), en cas de corruption de la zone mémoire (P.LB). En cas de rechargement du logiciel-opérationnel effectuer d'abord les opérations suivantes de la fonction logiciel-boot-copie-boot, à partir de la zone (P.LB bis) + 1. Effacer la zone (P.LB) et copier l'ensemble de la zone (P.LB bis) dans la zone (P.LB) Poursuivre la fonction logiciel-boot-copie-boot à partir de sa copie en (P.LB) 1 2. Effacer la zone (P.LB bis) et Recharger la zone (P.LB bis) avec le contenu de la zone (P.LB) 1 3. Effectuer la fonction logiciel-boot-installation à partir de (P.LB REVENDICATIONS1. Dispositif pour éviter l'obsolescence d'un calculateur (C) comprenant un processeur (P) pourvu ; - d'un logiciel de boot-physique inscrit dans une mémoire permanente (P.MP) comprenant une zone de mémoire programmable une seule fois (P.OTP) et, - d'un logiciel-boot stocké dans une zone de logiciel-boot (P.LB) d'une mémoire non-volatile temporaire (P.NVT) comprenant, en outre, une zone de logiciel-opérationnel (P.LO) et une zone libre (P.LB bis) de taille au moins égale à la taille de la zone de logiciel-boot (P.LB), caractérisé en ce qu'il comprend, dans la zone de logiciel-boot (P.LB), un logiciel de recopie systématique du logiciel-boot (L.BRB) activé à chaque téléchargement externe pour l'installation de la mise à jour du logiciel-opérationnel. Dispositif selon la revendication 1, caractérisé en ce que la mémoire nonvolatile-temporaire est choisi parmi les mémoires Flash NOR et Flash NAND. Dispositif selon l'une des revendications précédentes, caractérisé en ce que le logiciel-boot est chargé en deux exemplaires, respectivement, dans la zone (P.LB) de logiciel-boot et dans la zone libre (P.LB bis) à des fins de robustification. Dispositif selon l'une des revendications précédentes, caractérisé en ce qu'il comprend un logiciel complémentaire du logiciel boot-physique chargé dans la zone de mémoire permanente (P.MP) et destiné à vérifier l'intégrité du logicielboot. Dispositif selon la revendication précédente, caractérisé en ce que le logiciel complémentaire du logiciel boot-physique est chargé dans la zone (P.OTP). Procédé pour la mise en oeuvre du dispositif selon l'une des revendications précédentes, caractérisé en ce que, lors de l'installation de la mise à jour du logiciel-opérationnel, on efface la zone libre (P.LB bis) de la mémoire non-volatile temporaire (P.NVT) et on y copie le contenu de la zone de logiciel-boot (P.LB), on active le logiciel de recopie systématique du logiciel-boot (L.BRB) à partir de sa copie dans la zone (P.LB bis), puis on efface la zone de logiciel-boot 10 152. 3. 20 4. 25 5. 6. 30 19 (P.LB) et on la recharge avec le contenu de la zone libre (P.LB bis) et on effectue l'installation de la mise à jour du logiciel-opérationnel. 7. Procédé selon la revendication précédente pour la mise en oeuvre du dispositif selon la revendication 4 ou 5, caractérisé en ce que, préalablement à 5 l'installation de la mise à jour du logiciel-opérationnel, on vérifie l'intégrité du logiciel-boot dans la zone (P.LB) au moyen du logiciel complémentaire du logiciel boot-physique chargé dans la zone de mémoire permanente (P.MP). 8. Procédé selon la revendication précédente, caractérisé en ce que, si le logicielboot est intègre et lisible en zone (P.LB), on effectue l'installation de la mise à jour du logiciel-opérationnel à partir de la zone (P.LB). 9. Procédé selon la revendication 7, caractérisé en ce que, si le logiciel-boot de la zone (P.LB) est corrompu, on vérifie l'intégrité du logiciel-boot dans la zone (P.LB bis) au moyen du logiciel complémentaire du logiciel boot-physique puis on effectue l'installation de la mise à jour du logiciel-opérationnel à partir de la zone (P.LB bis).