Brevet FR2898703A1 — publié le 20070921

La présente invention concerne de manière générale les systèmes de traitement d'informations et, plus particulièrement, la mise à jour du système d'entrée/sortie de base d'un système de traitement d'informations. Du fait de la valeur et de l'utilisation croissantes des informations, les personnes et les entreprises cherchent des moyens supplémentaires pour traiter et mémoriser les informations. L'un des choix mis à la disposition des utilisateurs concerne les systèmes de traitement d'infor- mations. Un système de traitement d'informations (IHS) de manière générale traite, compile, mémorise et/ou communique des informations ou des données à des fins commerciales, personnelles ou autres, offrant ainsi aux utilisateurs la possibilité d'exploiter la valeur des informa- tions. Du fait que les besoins et impératifs en technologie et en traitement d'informations varient entre utilisateurs différents ou applications différentes, les systèmes de traitement d'informations peuvent également varier en fonction du type d'informations qui sont trai- tées, de la manière dont les informations sont traitées, de la quantité d'informations qui sont traitées, mémorisées, ou communiquées, et du degré de rapidité et d'efficacité avec lequel les informations peuvent être traitées, mémorisées ou communiquées. Les variations des sys- tèmes de traitement d'informations permettent que les systèmes de traitement d'informations soient généraux ou configurés pour un utilisateur spécifique ou une utilisation spécifique telle que le traitement des transactions financières, les réservations de vol, le stockage de don- nées d'entreprise, ou les communications globales. De plus, les systèmes de traitement d'informations peuvent inclure une variété de composants matériels et logiciels qui peuvent être configurés pour traiter, mémoriser et communiquer des informations et peuvent inclure un ou plusieurs systèmes informatiques, systèmes de mémorisa- tion de données, et systèmes de gestion de réseau. Un système d'entrée/sortie de base (BIOS) est générale-ment un programme logiciel résidant en mémoire qui inclut des instructions requises pour commander des périphéri- ques informatiques tels que le clavier, l'écran d'affichage, les lecteurs de disque, les communications série, et d'autres fonctions sans s'appuyer sur un disque dur. Le système BIOS peut être désigné en tant que "micrologiciel" du fait qu'il est typiquement mémorisé dans une mé- moire non-volatile (NVM), par exemple une mémoire flash. Ceci garantit que le système BIOS va être disponible pour initialiser le système, même lorsqu'une défaillance de disque se produit. Le système BIOS inclut également typiquement un code CONFIGURATION et un programme d'autotest à la mise sous tension (POST), les deux sont bien connus par l'homme du métier. Le code CONFIGURATION permet à un utilisateur de configurer le système informatique d'une manière voulue, par exemple en spécifiant si certaines fonctions sont ac-tivées ou désactivées, et en spécifiant certaines préférences. La configuration du système informatique se rapporte généralement à un processus pour configurer, définir et/ou sélectionner des propriétés matérielles, logicielles, des paramètres ou des attributs du système. Le code POST teste et initialise plusieurs composants, lors-que le système est activé. Les codes CONFIGURATION et POST sont tous les deux typiquement mémorisés dans une mémoire NVM telle qu'une mémoire flash. Actuellement, des programmes logiciels d'application tels qu'un programme de mise à jour BIOS à distance (RBU) et/ou une interface de configuration à distance (RCI) sont disponibles pour mettre à jour le système BIOS soit localement ou à distance. Le Brevet des États-Unis suivant décrit plusieurs aspects de la mise à jour du sys- tème BIOS à distance ou localement : (1) Brevet des États-Unis 6 438 688 intitulé "Method And Computer For Locally And Remotely Updating A Basic Input Output System (BIOS) Utilizing One Update File". Cependant, la réalisation d'un changement ou d'une modi- fication dans le système BIOS peut devenir pénible du fait que le code BIOS a souvent besoin d'être modifié en fonction des limitations d'un jeu de puces particulier déployé dans le système IHS. Par exemple, il peut être nécessaire de modifier un code d'initialisation de mé- moire pour chaque jeu de puces supporté. Un code BIOS peut être inclus pour placer des circuits de mémoire en mode d'autorafraîchissement pendant l'initialisation. En outre, certains jeux de puces utilisés dans des conceptions de serveur peuvent initialiser une mémoire après une réinitialisation de bus interne, par exemple après une réinitialisation de bus PCI (interconnexion de composants périphériques). Par conséquent, il existe un besoin d'améliorer la mise à jour de la mémoire NVM d'un système IHS. En conséquence, il serait souhaitable d'assurer la mise à jour à distance ou localement du code BIOS d'une manière qui soit indépendante des limitations d'un jeu de puces, sans les inconvénients rencontrés dans les procédés antérieurs décrits ci-dessus. Le besoin mentionné ci-dessus est abordé par les enseignements de la présente invention, qui concerne la mise à jour d'une mémoire NVM d'un système IHS. Conformément à un mode de réalisation pour mettre à jour un code BIOS mémorisé dans une mémoire NVM incluse dans un système IHS, une pluralité de conditions permettant la mise à jour du système BIOS mémorisé dans la mémoire NVM depuis une mémoire du système IHS sont vérifiées. Le contenu de la mémoire est conservé en désactivant des interruptions et des bus maîtres capables de provoquer un changement du contenu de la mémoire. Le système BIOS mémorisé dans la mémoire NVM est mis à jour depuis la mémoire. Une inter-face utilisateur est fournie pour afficher l'état de la mise à jour de la mémoire NVM afin d'améliorer l'expérience de l'utilisateur. A la fin de la mise à jour, le système IHS est réinitialisé en permettant un redémarrage à froid, de manière à permettre que les changements apportés au système BIOS prennent effet. Plusieurs avantages sont obtenus conformément aux modes de réalisation illustratifs présentés ici. Les modes de réalisation fournissent de manière avantageuse une technique automatisée améliorée pour changer le contenu de la mémoire NVM d'une manière qui est indépendante d'un jeu de puces, et les limitations de celui-ci, étant utilisée dans le système IHS. Un programme d'application, lequel peut être exécuté localement dans le système IHS, et/ou peut être exécuté à un emplacement distant couplé au système IHS, est exécutable pour changer le contenu de la mémoire NVM sans avoir à modifier le code BIOS pour chaque jeu de puces spécifique. Les changements apportés au BIOS prennent effet après un événement de démarrage à froid du système IHS. Plus précisément, la présente invention a pour objet un procédé et un système pour mettre à jour une mémoire NVM non-volatile incluse dans un système IHS de traitement d'informations. Selon un premier aspect, le procédé de l'invention comporte les étapes consistant à : vérifier une pluralité de conditions permettant la mise à jour de la mémoire NVM depuis une mémoire du système IHS ; conserver le contenu de la mémoire ; mettre à jour la mémoire NVM (122) depuis la mémoire ; et réinitialiser le système IHS (100) en réponse à la mise à jour en autorisant un redémarrage à froid. Selon diverses caractéristiques subsidiaires avantageuses de l'invention : - la vérification de la pluralité de conditions inclut les étapes consistant à : vérifier un état de redémar- rage à chaud du système IHS ; vérifier un bit de de-mande de mise à jour établi dans une autre mémoire non-volatile ANVM du système IHS, le bit de demande de mise à jour étant indicatif d'une demande en cours pour mettre à jour la mémoire NVM depuis la mémoire ; et vérifier un état d'erreur de somme de contrôle de la mémoire ANVM ; û dans ce dernier cas, la vérification de l'état de redémarrage à chaud est exécutée en : lisant un emplacement prédéfini dans la mémoire ; et vérifiant une cor- respondance entre un contenu mémorisé dans l'emplace- ment prédéfini et des données prédéfinies ; - le procédé comporte en outre les étapes consistant à : délivrer une interface utilisateur, l'interface utilisateur étant délivrée avant la mise à jour ; et déli- vrer une sortie via l'interface utilisateur, la sortie étant indicative d'un état de fin de la mise à jour ; la fourniture de l'interface utilisateur inclut les étapes consistant à activer un dispositif d'affichage et activer une interruption vidéo ; û la conservation inclut les étapes consistant à : initialiser des interruptions capables d'interrompre la mise à jour ; désactiver les interruptions pour empêcher l'interruption de la mise à jour ; et désactiver un bus maître capable de changer le contenu de la mé- moire ; û la mise à jour de la mémoire NVM est indépendante d'un jeu de puces inclus dans le système IHS ; - le procédé comporte en outre l'étape consistant à : réinitialiser un processeur) du système IHS, la réini-35 tialisation du processeur entraînant la vérification de la pluralité de conditions ; û un programme d'application inclus dans le système IHS est exécutable pour délivrer une image mise à jour pour la mémoire NVM, mémoriser l'image mise à jour dans la mémoire et réinitialiser un processeur du sys- tème IHS pour lancer la mise à jour de la mémoire NVM. û dans ce dernier cas, l'image mise à jour peut inclure une configuration mise à jour du système IHS, et la mise à jour de la mémoire NVM peut inclure les étapes consistant à : valider l'intégrité de la mémoire ; dé-compresser l'image mise à jour dans la mémoire ; mémoriser l'image mise à jour dans la mémoire NVM ; établir un code de retour pour le programme d'application ; délivrer une sortie d'état de fin ; et réini- tialiser au moins une condition parmi la pluralité de conditions ; û le redémarrage à froid du système IHS permet que des mises à jour effectuées dans la mémoire NVM prennent effet. Selon un autre aspect, le procédé de l'invention comporte les étapes consistant à : exécuter un programme d'application d'un autre système IHS pour accéder au système IHS, l'exécution du programme d'application délivrant une image mise à jour de la mémoire NVM au système IHS ; mé-moriser l'image mise à jour dans une mémoire du système IHS ; et réinitialiser un processeur du système IHS pour lancer la mise à jour de la mémoire NVM. La mise à jour inclut les étapes consistant à : vérifier une pluralité de conditions permettant la mise à jour de la mémoire NVM depuis l'image mise à jour ; conserver l'image mise à jour mémorisée dans la mémoire ; mettre à jour la mémoire NVM depuis l'image mise à jour ; et réinitialiser le système IHS en réponse à la mise à jour en autorisant un redémarrage à froid. L'application peut recevoir un code de retour en prove- nance du système IHS indiquant une fin de la mise à jour de la mémoire NVM. La présente invention, ainsi qu'un mode préféré d'utili- sation et plusieurs buts et avantages de celle-ci, seront mieux compris à la lecture de la description qui va suivre, faite en référence aux dessins annexés sur les-quels : - la figure 1 représente un schéma fonctionnel d'un sys-tème IHS, conformément à un mode de réalisation, - la figure 2A est un ordinogramme représentant un procédé pour mettre à jour une mémoire NVM d'un système IHS, conformément à un mode de réalisation, - la figure 2B est un ordinogramme représentant des dé-15 tails supplémentaires de vérification d'une pluralité de conditions décrites en référence à la figure 2A, confor- mément à un mode de réalisation, - la figure 2C est un ordinogramme représentant des dé- tails supplémentaires de la conservation du contenu d'une 20 mémoire RAM décrit en référence à la figure 2A, conformé- ment à un mode de réalisation, - la figure 2D est un ordinogramme représentant des détails supplémentaires de mise à jour du contenu d'une mémoire NVM depuis une mémoire RAM qui est décrite en réfé-25 rence à la figure 2A, conformément à un mode de réalisa- tion, la figure 3 est un ordinogramme représentant un procédé pour mettre à jour un BIOS d'un système IHS, conformément à un mode de réalisation. 30 La fonctionnalité des divers circuits, dispositifs, car-tes, modules, blocs et/ou composants décrits ici peut être mise en oeuvre sous forme matérielle (incluant composants discrets, circuits intégrés et systèmes sur puce "SOC"), micrologicielle (incluant circuits intégrés spécifiques à une application et puces programmables) et/ou logicielle, ou une combinaison de celles-ci, en fonction des impératifs d'application. "Configuration" vise la configuration d'un dispositif et/ou d'un système et se rapporte à un processus pour établir, définir ou sélectionner des propriétés matériel-les et/ou logicielles, des paramètres ou des attributs du dispositif et/ou du système. Certains types de nouvelles technologies telles que "Plug-and-Play" peuvent automatiquement configurer le dispositif. Il peut être nécessaire de mettre à jour le code BIOS et/ou les données de configuration pour un système IHS afin d'améliorer la fonctionnalité et/ou réparer des défauts. Une technique bien connue pour délivrer les mises à jour localement ou à distance consiste à développer un code BIOS spécifique à un jeu de puces pour contourner les limitations du jeu de puces. Cependant, le développe-ment du BIOS spécifique à un jeu de puces augmente les coûts de développement et ajoute des retards à l'introduction de nouveaux produits. Ainsi, un besoin existe d'assurer la mise à jour du code BIOS indépendamment de la conception du jeu de puces. Conformément à un mode de réalisation pour mettre à jour un code BIOS mémorisé dans une mémoire NVM incluse dans un système IHS, une pluralité de conditions permettant la mise à jour du BIOS mémorisé dans la mémoire NVM depuis une mémoire du système IHS sont vérifiées. Le contenu de la mémoire est conservé en désactivant les interruptions et les bus maîtres capables de provoquer un changement du contenu de la mémoire. Le système BIOS mémorisé dans la mémoire NVM est mis à jour depuis la mémoire. Une inter-face utilisateur est fournie pour afficher l'état de la mise à jour de la mémoire NVM afin d'améliorer l'expérience de l'utilisateur. A la fin de la mise à jour, le système IHS est réinitialisé en autorisant un redémarrage à froid, permettant ainsi que les changements apportés au système BIOS prennent effet. Dans le but de cette description, un système IHS peut inclure tout dispositif ou ensemble de dispositifs opérationnels pour calculer, classer, traiter, transmettre, recevoir, récupérer, émettre, commuter, mémoriser, afficher, manifester, détecter, enregistrer, reproduire, gérer ou utiliser toute forme d'informations, d'intelligence ou de données à des fins commerciales, scientifiques, de commande ou autres. Par exemple, le système IHS peut être un ordinateur individuel, un dispositif de mémorisation de réseau, ou tout autre dispositif adapté et peut varier en taille, forme, performance, fonctionnalité et prix. Le système IHS peut inclure une mémoire à accès direct (RAM), une ou plusieurs ressources de traitement telles qu'une unité centrale de traitement (CPU) ou une logique de commande matérielle ou logicielle, une mémoire à lecture seule (ROM), et/ou d'autres types de mémoires non-volatiles. Des composants supplémentaires du système IHS peuvent inclure un ou plusieurs lecteurs de disque, un ou plusieurs ports réseau pour communiquer avec des dispositifs externes ainsi que divers dispositifs d'entrée et de sortie (E/S), tels qu'un clavier, une souris et un afficheur vidéo. Le système IHS peut également inclure un ou plusieurs bus opérationnels pour rece- voir/transmettre des communications entre les divers com- posants matériels. La figure 1 représente un schéma fonctionnel d'un système IHS 100 conformément à un mode de réalisation. Le système IHS 100 inclut un processeur 110, une mémoire à accès di- rect (RAM) 120 (appelée également mémoire principale), une mémoire NVM 122, un dispositif d'affichage 105, un clavier 125 et un contrôleur E/S 140 pour commander plu-sieurs autres dispositifs E/S chacun étant couplé à un bus 150. Par exemple, le contrôleur E/S 140 peut inclure un contrôleur de clavier, un contrôleur de curseur à ré- ticule et/ou le contrôleur E/S série. Il doit être compris que le terme "système de traitement d'informations" est destiné à englober tout dispositif quelconque ayant un processeur qui exécute des instructions depuis un sup- port de mémoire. Dans un mode particulier de réalisation, une autre mémoire non-volatile (ANVM) 160 ou supplémentaire, par exemple une mémoire CMOS à batterie de secours, est couplée au bus 150. La mémoire ANVM 160 est utilisée pour mémoriser des données de configuration IHS telles que des paramètres de disque dur, des dispositifs et des ports E/S, des paramètres de date et d'heure, des paramètres de sécurité de système, des options de lancement, des para-mètres de gestion d'énergie et d'autres similaires. Dans un mode particulier de réalisation, la mémoire ANVM 160 peut être intégrée dans un autre dispositif de mémoire inclus dans le système IHS 100 telle que la mémoire RAM 120. Dans un mode de réalisation particulier, une partie de la mémoire NVM 122 est utilisée pour mémoriser un sys- tème BIOS 180. Dans un mode de réalisation particulier, une partie de la RAM 120 est utilisée pour mémoriser un programme d'application 170. Le programme d'application 170 inclut une ou plusieurs instructions qui sont exécutables par le processeur 110 pour générer une nouvelle image pour le BIOS 180, et ainsi pour la mémoire NVM 122. Dans un mode de réalisation particulier, la nouvelle image est mémorisée par le programme d'application 170 dans la mémoire RAM 120 avant la mise à jour du BIOS 180 dans la mémoire NVM 122. Le programme d'application 170 peut être exécuté pour mettre à jour la mémoire NVM 122 localement ou peut être exécuté par un processus distant s'exécutant sur un autre système IHS (AIHS) (non représenté). Dans un mode de réalisation particulier, le système BIOS 35 180 inclut du code (également appelé instructions), qui est indépendant d'un jeu de puces utilisé dans le système IHS 100 et qui est exécutable pour mettre à jour la mémoire NVM 122 depuis l'image mémorisée dans la mémoire RAM 120. Des détails supplémentaires de la mise à jour de la mémoire NVM 122 depuis la RAM 120 sont décrits en référence à la figure 2. Le processeur 110 communique avec les composants système via le bus 150, qui inclut des données, des lignes d'adresse et de commande. Dans un mode de réalisation, le système IHS 100 peut inclure de multiples instances du bus 150. Dans un mode de réalisation en exemple, non décrit, tous les dispositifs représentés ne peuvent pas être directement couplés au bus 150. Les multiples instances du bus 150 peuvent être en conformité avec une ou plusieurs normes propriétaires et/ou une ou plusieurs normes industrielles telles que PCI, PCIe, Isa, USB, SMBus, et d'autres similaires. Un dispositif de communication 145, tel qu'une carte d'interface réseau et/ou un dispositif radio, peut être connecté au bus 150 pour per- mettre l'échange d'informations filaires et/ou sans fil entre le système IHS 100 et d'autres dispositifs/systèmes (non représentés) tels que le système AIHS. Dans un mode de réalisation particulier, le système IHS 100 peut inclure de multiples instances du processeur 100, par exem- ple dans un système multinoyau, multiprocesseur. Le processeur 110 est opérationnel pour exécuter les instructions de calcul et/ou des opérations du système IHS 100. Le support de mémoire, par exemple la mémoire RAM 120, mémorise de manière préférée des instructions (éga- lement appelées "programme logiciel") pour mettre en oeuvre plusieurs modes de réalisation d'un procédé conformé-ment à la présente description. Un système d'exploitation (OS) 122) du système IHS 100 est un type de programme logiciel qui commande l'exécution d'autres programmes logi- ciels, désignés en tant que programmes logiciels d'appli- cation, par exemple le programme d'application 170. Dans divers modes de réalisation, les instructions et/ou les programmes logiciels peuvent être mis en oeuvre de diverses manières, incluant des techniques basées sur des pro- cédures, des techniques basées sur des composants et/ou des techniques orientées objet, entre autres. Le système BIOS 180 est typiquement programmé dans un langage d'assemblage. Un logiciel peut également être implémenté en utilisant des objets C, XML, C++, une technologie Java et Microsoft.NET (dénominations incluant des marques déposées). Dans un mode de réalisation d'un exemple non décrit, le système IHS 100 est opérationnel dans une pluralité de modes opérationnels tels qu'un mode de démarrage, un mode inactif, un mode de durée d'exécution, un mode sécurisé et d'autres similaires. Le système IHS 100 peut être décrit comme étant opérationnel dans un mode de démarrage (ou d'amorçage) à chaud ou à froid lors de l'exécution du code BIOS tel que les codes CONFIGURATION et POST. Le système IHS 100 peut quitter le mode de démarrage lorsque l'exécution du code POST est terminée et la commande est transférée du système BIOS 180 vers le système d'exploitation (OS) 122 du système IHS 100. Le système IHS 100 peut être décrit comme fonctionnant en mode de durée d'exécution lorsque le système OS 122 est chargé et est opérationnel pour exécuter un ou plusieurs programmes d'application tels que le programme d'application 170. La figure 2A est un ordinogramme représentant un procédé pour mettre à jour une mémoire NVM d'un système IHS, conformément à un mode de réalisation. Dans un mode de réalisation particulier, la mémoire NVM est sensiblement identique à la mémoire NVM 122 et le système IHS est sensiblement identique au système IHS 100 décrit en référence à la figure 1. A l'étape 210, un programme d'application tel que le pro- gramme d'application 170 est exécuté pour générer une image mise à jour du système BIOS 180 mémorisé dans la mémoire NVM 122. Dans un mode de réalisation particulier, un processus distant et/ou un programme d'application s'exécutant sur un autre système IHS, tel qu'un serveur central, peuvent être exécutés pour générer l'image mise à jour. A l'étape 212, l'image mise à jour générée localement ou à distance est mémorisée dans la mémoire RAM 120 et un indicateur ou un bit de demande de mise à jour est établi dans la mémoire ANVM 160. L'établissement du bit de demande de mise à jour est indicatif d'une demande en cours pour mettre à jour la mémoire NVM 122. Par exemple, un programme RBU ou une interface RCI peut demander une mise à jour du système BIOS en établissant l'indica-teur de demande de mise à jour. A l'étape 214, une instruction d'initialisation de processeur telle que PROC INT est générée par le programme d'application 170 pour lancer la mise à jour de la mémoire NVM 122. Dans un mode de réalisation particulier, dans un système multi-processeur de multiples processeurs peuvent être réinitialisés par l'instruction d'initialisation de processeur. A l'étape 216, une pluralité de conditions sont vérifiées pour être valides et/ou établies préalablement à la mise à jour de la mémoire NVM 122 depuis l'image mise à jour. Des détails supplémentaires de la pluralité de tests vérifiés sont décrits en référence à la figure 2B. A l'étape 218, le contenu de la RAM 120 incluant l'image mise à jour est conservé et/ou protégé. Des détails supplémentaires de conservation du contenu de la RAM 120 sont décrits en référence à la figure 2C. A l'étape 220, la mémoire NVM 122 est mise à jour depuis l'image mise à jour mémorisée dans la mémoire RAM 120. A savoir, le contenu de l'image mise à jour mémorisée dans la RAM 120 est copié dans le système BIOS 180 mémorisé dans la mé- moire NVM 122. Des détails supplémentaires de la mise à jour de la mémoire NVM 122 depuis la RAM 120 sont décrits en référence à la figure 2D. A l'étape 222, le système IHS 120 est réinitialisé en autorisant un redémarrage à froid. Le redémarrage à froid charge l'image mise à jour du système BIOS 180, autorisant ainsi les changements inclus dans la mise à jour à prendre effet. Dans un mode de réalisation particulier, les étapes 216, 218, 220 et 222 sont capables d'être implémentées dans le système BIOS 180. La figure 2B est un ordinogramme représentant des détails supplémentaires de vérification d'une pluralité de conditions décrites en référence à la figure 216 de la figure 2A, conformément à un mode de réalisation. A l'étape 2162, un état de redémarrage à chaud du système IHS 100 est vérifié. Dans un mode de réalisation particulier, l'état de redémarrage à chaud peut être vérifié en lisant un emplacement de mémoire prédéfini, par exemple un emplacement particulier dans la RAM 120, et en déterminant si le contenu de l'emplacement de mémoire prédéfini cor- respond à des données prédéfinies telles qu'un motif binaire prédéfini. A l'étape 2164, un bit de demande de mise à jour établi est vérifié pour être établi à un état prédéfini tel qu'une logique "1". Le bit de demande de mise à jour établi est indicatif d'une demande en cours pour mettre à jour la mémoire NVM 122 depuis la RAM 120, comme ceci a été décrit en référence à l'étape 212 de la figure 2A. Dans un mode particulier de réalisation, le bit de demande de mise à jour établi est mémorisé dans la mémoire ANVM 160 par le programme d'application 170. A l'étape 2166, un état d'erreur de somme de contrôle de la mémoire ANVM 160 est vérifié pour être exempt d'erreur afin d'éliminer l'apparition d'une erreur de bit unique établissant accidentellement le bit de demande de mise à jour. La figure 2C est un ordinogramme représentant des détails supplémentaires de conservation du contenu de la RAM 120 décrite en référence à l'étape 218 de la figure 2A, conformément à un mode de réalisation. A l'étape 2182, des signaux d'interruption capables d'interrompre la mise à jour de la mémoire NVM 122 et/ou de la RAM 120 sont initialisés. Dans un mode de réalisation en exemple non décrit, l'initialisation peut inclure la réinitialisation d'un contrôleur d'interruption programmable 8259 (PIC), qui traite les demandes d'interruption (IRQ), et du ta- bleau de vecteurs d'interruption (IVT). A l'étape 2184, les interruptions sont désactivées pour empêcher ou éviter l'interruption de la mise à jour. A l'étape 2186, un dispositif de bus maître tel qu'un bus PCI maître et des interruptions matérielles sont désactivés. La figure 2D est un ordinogramme représentant des détails supplémentaires de la mise à jour du contenu de la mémoire NVM 122 depuis la RAM 120 décrite en référence à l'étape 220 de la figure 2A, conformément à un mode de réalisation. A l'étape 2201, une interface utilisateur est fournie pour améliorer l'expérience de l'utilisateur. Dans un mode de réalisation en exemple, non décrit, l'interface utilisateur est un afficheur tel que le dispositif d'affichage 105. L'interface utilisateur est réactivée et une interruption vidéo, par exemple INT10h, est restaurée à partir du dernier démarrage. A l'étape 2202, une sortie telle qu'un message de texte d'affichage est générée pour indiquer un état de la mise à jour de la mémoire NVM 122. A l'étape 2203, l'intégrité de l'image mise à jourmémorisée dans la RAM 120 est contrôlée, par exemple, en exécutant une erreur de somme de contrôle sur la mémoire RAM 120. A l'étape 2204, l'image mise à jour mémorisée dans la RAM 120 est décompressée. A l'étape 2205, l'image mise à jour mémorisée dans la RAM 120 est copiée pour mettre à jour le système BIOS 180 mémorisé dans la mémoire NVM 122. A l'étape 2206, un code de re- tour pour le programme d'application 170 est envoyé. Le code de retour indique si la mise à jour dans le BIOS 180 a été réalisée avec ou sans erreur. A l'étape 2207, une sortie d'état de fin est délivrée pour améliorer l'expé- rience de l'utilisateur. La sortie d'état de fin indique si la mise à jour dans le BIOS 180 a été réalisée avec ou sans erreur. A l'étape 2208, au moins une indication par-mi la pluralité d'indications décrites en référence à l'étape 216 de la figure 2A est réinitialisée. Dans un mode de réalisation particulier, l'ensemble de bits de demande de mise à jour est effacé ou établi à un état prédéfini tel qu'une logique "0". En référence aux figures 2A, 2B, 2C et 2D, plusieurs étapes décrites ci-dessus peuvent être ajoutées, omises, combinées, modifiées ou exécutées dans des ordres différents. Par exemple, dans un mode de réalisation particulier, en référence à la figure 2A, une étape additionnelle peut être ajoutée avant l'étape 210 pour fournir un système d'alimentation sans coupure (UPS) au système IHS 100. Le système UPS peut garantir de manière avantageuse la réalisation de la tâche de mise à jour du BIOS 180 dans l'éventualité d'une panne de courant pendant le processus de mise à jour NVM. La figure 3 est un ordinogramme représentant un procédé pour mettre à jour un BIOS d'un système IHS, conformément à un mode de réalisation. Dans un mode de réalisation particulier, le BIOS est sensiblement le même que le BIOS 180 et le système IHS est sensiblement le même que le système IHS 100 décrit en référence à la figure 1. A l'étape 302, un code pour le BIOS 180 mémorisé dans la mémoire NVM 122 est activé par un vecteur de réinitialisation de BIOS en réponse à une initialisation ou réinitialisation de processeur. Même si le processeur est ré-initialisé, de nombreux composants du système IHS 100 sont sensiblement dans le même état qu'avant la réinitia- lisation du processeur. Par exemple, un contenu de vecteurs d'interruption, de la RAM 120 et du chargement des gestionnaires de dispositif est sensiblement conservé avant et après la réinitialisation de processeur. A l'étape 304, le BIOS 180 s'exécute depuis la mémoire NVM 122. A l'étape 306, on détermine si le système IHS est dans un état de redémarrage à chaud. Dans un mode de réalisation particulier, l'étape 306 est sensiblement similaire à l'étape 2162 décrite en référence à la figure 2B. A l'étape 308, en réponse à la détermination que le système IHS est dans un état de redémarrage à chaud, on dé-termine si un programme RBU ou un RCI demande une mise à jour du BIOS, par exemple, en contrôlant un ensemble de bits de mise à jour dans la mémoire ANVM .160. Dans un mode de réalisation particulier, l'étape 308 est sensiblement similaire à l'étape 2164 décrite en référence à la figure 2B. A l'étape 310, en réponse à la détermination que le programme RBU ou le RCI demande la mise à jour, on détermine si un dispositif de mémoire mémorisant la demande a une somme de contrôle valide. A l'étape 312, en réponse à la détermination que le système IHS 100 n'est pas dans un état de redémarrage à chaud, ou qu'il n'y a pas de demande en cours pour la mise à jour du BIOS, ou qu'il y a une erreur de somme de contrôle, le BIOS continue avec la séquence POST traditionnelle, qui initialise la RAM 120 et est disponible pour charger le système OS 122. A l'étape 314, après avoir vérifié que le système IHS 100 est dans un état de redémarrage à chaud, et qu'il existe une demande en cours pour la mise à jour du BIOS, et qu'il n'y a pas d'erreur de somme de contrôle pour le dispositif de mémoire mémorisant l'indicateur de demande en cours, le BIOS transfère l'exécution de la mémoire NVM 122 vers le code BIOS déjà en double dans la RAM 120. Le code BIOS est déjà dans la RAM 120 du fait du redémarrage à chaud. Le BIOS configure également une pile de mémoire dans la RAM 120 pour exécuter des opérations supplémentaires. A l'étape 316, des vecteurs d'interruption et/ou des contrôleurs d'interruption sont réinitialisés. Dans un mode de réali-sation particulier, l'étape 316 est sensiblement la même que l'étape 2182 décrite en référence à la figure 2C. A l'étape 318, des interruptions matérielles et bus PCI maître sont désactivés. Dans un mode de réalisation particulier, l'étape 316 est sensiblement la même que les étapes combinées 2184 et 2186 décrites en référence à la figure 2C. A l'étape 320, un dispositif vidéo est réactivé et une interruption vidéo (INT 10h) est restaurée dans le gestionnaire depuis le dernier démarrage pour améliorer l'expérience de l'utilisateur. Dans un mode de réalisation particulier, l'étape 320 est sensiblement la même que l'étape 2201 décrite en référence à la figure 2D. A l'étape 322, un message de texte est affiché pour donner des informations concernant l'état de mise à jour et une somme de contrôle est exécutée sur la RAM 120 pour contrôler l'intégrité de l'image mise à jour mémorisée dans la RAM 120. Lors de la vérification de la somme de contrôle, le BIOS est mis à jour en copiant le contenu de la RAM 120 où l'image mise à jour est localisée dans la mémoire NVM 122. A l'étape 324, un autre message de texte est affiché indiquant un état de fin du BIOS. En outre, l'indicateur de mise à jour de demande est effacé indiquant qu'il n'y a pas de demande supplémentaire en cours pour mettre à jour le BIOS et un code de fin est envoyé à la tâche RBU ou RCI demandant la mise à jour. A l'étape 326, un redémarrage à froid est exécuté de manière à per-mettre le chargement du BIOS mis à jour depuis la mémoire NVM 122. Plusieurs étapes décrites ci-dessus peuvent être ajou- tées, omises, combinées, modifiées ou exécutées dans des ordres différents. Par exemple, une étape supplémentaire peut être ajoutée avant l'étape 310 pour fournir un système UPS au système IHS 100. Le système UPS peut garantir de manière avantageuse la réalisation de la tâche de mise à jour du BIOS 180 dans l'éventualité d'une panne de courant pendant le processus de mise à jour NVM. Bien que des modes de réalisation illustratifs aient été représentés et décrits, une large plage de modification, changement et substitution est envisagée dans la descrip- tion qui précède et dans certains exemples, certaines caractéristiques des modes de réalisation peuvent être utilisées sans une utilisation correspondante d'autres caractéristiques. REVENDICATIONS 1. Procédé pour mettre à jour une mémoire NVM non-volatile (122) incluse dans un système IHS de traitement d'informations (100), le procédé étant caractérisé en ce qu'il comporte les étapes consistant à : ù vérifier une pluralité de conditions permettant la mise à jour de la mémoire NVM (122) depuis une mémoire du système IHS {100), ù conserver le contenu de la mémoire, ù mettre à jour la mémoire NVM (122) depuis la mémoire, et ù réinitialiser le système IHS (100) en réponse à la mise à jour en autorisant un redémarrage à froid. 15 2. Procédé selon la revendication 1, caractérisé en ce que la vérification de la pluralité de conditions inclut les étapes consistant à : - vérifier un état de redémarrage à chaud du système IHS 20 (100), ù vérifier un bit de demande de mise à jour établi dans une autre mémoire non-volatile ANVM (160) du système IHS (100), le bit de demande de mise à jour étant in-dicatif d'une demande en cours pour mettre à jour la 25 mémoire NVM (122) depuis la mémoire, et ù vérifier un état d'erreur de somme de contrôle de la mémoire ANVM (160). 3. Procédé selon la revendication 2, caractérisé en ce 30 que la vérification de l'état de redémarrage à chaud est exécutée en : ù lisant un emplacement prédéfini dans la mémoire, et ù vérifiant une correspondance entre un contenu mémorisé dans l'emplacement prédéfini et des données prédéfi- 35 nies. 4. Procédé selon la revendication 1, caractérisé en ce qu'il comporte en outre les étapes consistant à : û délivrer une interface utilisateur, l'interface utilisateur étant délivrée avant la mise à jour, et û délivrer une sortie via l'interface utilisateur, la sortie étant indicative d'un état de fin de la mise à jour. 5. Procédé selon la revendication 4, caractérisé en ce que la fourniture de l'interface utilisateur inclut les étapes consistant à : û activer un dispositif d'affichage (105), et û activer une interruption vidéo. 6. Procédé selon la revendication 1, caractérisé en ce que la conservation inclut les étapes consistant à : initialiser des interruptions capables d'interrompre la mise à jour, désactiver les interruptions pour empêcher l'interrup- tion de la mise à jour, et û désactiver un bus maître capable de changer le contenu de la mémoire. 7. Procédé selon la revendication 1, caractérisé en ce que la mise à jour de la mémoire NVM (122) est indépendante d'un jeu de puces inclus dans le système IHS (100). 8. Procédé selon la revendication 1, caractérisé en ce qu'il comporte en outre l'étape consistant à : û réinitialiser un processeur (110) du système IHS {100), la réinitialisation du processeur entraînant la vérification de la pluralité de conditions. 9. Procédé selon la revendication 1, caractérisé en ce qu'un programme d'application (170) inclus dans le sys-tème IHS est exécutable pour : û délivrer une image mise à jour pour la mémoire NVM (122), û mémoriser l'image mise à jour dans la mémoire, et 5 û réinitialiser un processeur (110) du système IHS (100) pour lancer la mise à jour de la mémoire NVM (122). 10. Procédé selon la revendication 9, caractérisé en ce que l'image mise à jour inclut une configuration mise à 10 jour du système IHS (100). 11. Procédé selon la revendication 9, caractérisé en ce que la mise à jour de la mémoire NVM (122) inclut les étapes consistant à : 15 ù valider l'intégrité de la mémoire, - décompresser l'image mise à jour dans la mémoire, û mémoriser l'image mise à jour dans la mémoire NVM (122), ù établir un code de retour pour le programme d'applica-20 tion (170), délivrer une sortie d'état de fin, et û réinitialiser au moins une condition parmi la pluralité de conditions. 25 12. Procédé selon la revendication 1, caractérisé en ce que le redémarrage à froid du système IHS (100) permet que des mises à jour effectuées dans la mémoire NVM {122) prennent effet. 30 13. Système IHS (100) caractérisé en ce qu'il comporte : un processeur (110), û un bus (150) couplé au processeur (110), û une mémoire couplée au bus (150), û une mémoire NVM couplée au bus (150), et 35 û un système d'entrée/sortie de base (BIOS) (180) capa-ble de mettre à jour la mémoire NVM, le BIOS (180) incluant des instructions pour : û vérifier une pluralité de conditions permettant la mise à jour de la mémoire NVM (122) depuis la mémoire, û conserver le contenu de la mémoire, û mettre à jour la mémoire NVM (122) depuis la mémoire, û réinitialiser le processeur (110) en permettant un re-démarrage à froid. 14. Système selon la revendication 13, caractérisé en ce que les instructions sont en grande partie indépendantes d'un jeu de puces inclus dans le système IHS (100). 15. Système selon la revendication 13, caractérisé en ce que la pluralité de conditions incluent : û un état de redémarrage à chaud, û un bit de demande de mise à jour établi dans une mémoire ANVM (160) couplée au bus (150), le bit de de-mande de mise à jour étant indicatif d'une demande en cours pour mettre à jour la mémoire NVM (122) depuis la mémoire, et - un état d'erreur de somme de contrôle de la mémoire ANVM (160). 16. Système selon la revendication 15, caractérisé en ce que l'état de redémarrage à chaud est déterminé en lisant un emplacement prédéfini dans la mémoire et en déterminant si un contenu mémorisé à un emplacement prédéfini correspond à des données prédéfinies. 17. Système selon la revendication 13, caractérisé en ce qu'il comporte en outre : û une interface utilisateur couplée au bus (150), l'interface utilisateur étant délivrée avant la mise à jour, etù une sortie via l'interface utilisateur, la sortie étant indicative d'un état de fin de la mise à jour. 18. Système selon la revendication 14, caractérisé en ce qu'une réinitialisation du processeur (110) entraîne une exécution des instructions pour mettre à jour la mémoire NVM (122). 19. Procédé pour mettre à jour à distance une mémoire NVM 10 (122) d'un système IHS (100), le procédé étant caractéri- sé en ce qu'il comporte les étapes consistant à : ù exécuter un programme d'application {170) d'un autre système IHS pour accéder au système IHS (100), l'exé- cution du programme d'application (170) délivrant une 15 image mise à jour de la mémoire NVM (122) au système IHS (100), ù mémoriser l'image mise à jour dans une mémoire du système IHS (100), et ù réinitialiser un processeur (110) du système IHS (100) 20 pour lancer la mise à jour de la mémoire NVM (122), la mise à jour incluant les étapes consistant à : ù vérifier une pluralité de conditions permettant la mise à jour de la mémoire NVM (122) depuis l'image mise à jour, 25 ù conserver l'image mise à jour mémorisée dans la mé- moire, ù mettre à jour la mémoire NVM (122) depuis l'image mise à jour, ù réinitialiser le système IHS (100) en réponse à la 30 mise à jour en autorisant un redémarrage à froid. 20. Procédé selon la revendication 19, caractérisé en ce que l'application reçoit un code de retour en provenance du système IHS (100) indiquant une fin de la mise à jour 35 de la mémoire NVM (122).