FR2965949A1 - Procede de sauvegarde optimisee de donnees dans la memoire d'un calculateur equipant un vehicule automobile - Google Patents

Procede de sauvegarde optimisee de donnees dans la memoire d'un calculateur equipant un vehicule automobile Download PDF

Info

Publication number
FR2965949A1
FR2965949A1 FR1101151A FR1101151A FR2965949A1 FR 2965949 A1 FR2965949 A1 FR 2965949A1 FR 1101151 A FR1101151 A FR 1101151A FR 1101151 A FR1101151 A FR 1101151A FR 2965949 A1 FR2965949 A1 FR 2965949A1
Authority
FR
France
Prior art keywords
data
memory
space
storage
engine
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
FR1101151A
Other languages
English (en)
Inventor
Yannis Rosso
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Continental Automotive GmbH
Continental Automotive France SAS
Original Assignee
Continental Automotive GmbH
Continental Automotive France SAS
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Continental Automotive GmbH, Continental Automotive France SAS filed Critical Continental Automotive GmbH
Priority to FR1101151A priority Critical patent/FR2965949A1/fr
Publication of FR2965949A1 publication Critical patent/FR2965949A1/fr
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07CTIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
    • G07C5/00Registering or indicating the working of vehicles
    • G07C5/08Registering or indicating performance data other than driving, working, idle, or waiting time, with or without registering driving, working, idle or waiting time
    • G07C5/0841Registering performance data
    • G07C5/085Registering performance data using electronic data carriers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7211Wear leveling

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Combined Controls Of Internal Combustion Engines (AREA)

Abstract

Pour un dispositif de contrôle moteur équipant un véhicule automobile et doté d'une zone mémoire destinée à stocker les valeurs de paramètres nécessaires au suivi de l'état du moteur équipant ledit véhicule automobile, procédé de sauvegarde en mémoire de données enregistrées : • lors d'un cycle de fonctionnement du moteur, • à la fin d'un cycle de fonctionnement du moteur, caractérisé en ce que les deux types de données sont enregistrés consécutivement les uns aux autres, chronologiquement, et sans espace libre entre deux enregistrements consécutifs dans la même zone mémoire destinée à stocker les valeurs de paramètres nécessaires au suivi de l'état du moteur.

Description

La présente invention a pour objet un procédé de sauvegarde de données dans la mémoire d'un calculateur équipant un véhicule automobile. Plus précisément, le calculateur est celui exerçant le contrôle du moteur dudit véhicule automobile. Un véhicule automobile actuel est équipé d'un dispositif de contrôle moteur, nommé calculateur ou E.C.U. (abréviation anglaise pour « Electronic Control Unit », c'est à dire « unité de contrôle électronique ») qui gère l'ensemble des paramètres nécessaires au bon fonctionnement du moteur. Ce moteur peut-être un moteur à combustion interne, mais non nécessairement, puisqu'un moteur électrique possède également un tel dispositif de contrôle moteur.
En se basant sur les informations remontées au niveau du dispositif de contrôle moteur par l'ensemble des capteurs équipant le moteur, ledit dispositif de contrôle moteur est apte à en déduire les paramètres à modifier et les actionneurs mettre en oeuvre pour atteindre le point de fonctionnement conforme à la demande du conducteur du véhicule.
Comme le dispositif de contrôle moteur assure la surveillance permanente du moteur du véhicule, ceci lui permet d'établir et de garder en mémoire un historique de l'état du véhicule. Cet état est très utile à plus d'un titre, notamment pour s'adapter au vieillissement dudit moteur et ainsi adapter le mode de gestion du contrôle moteur au vieillissement constaté, ou bien afin de permettre des diagnostics rapides de pannes survenues, ou bien encore de prévoir des interventions à titre préventif. A cet effet, le dispositif de contrôle moteur stocke en mémoire un certain nombre de données. Ces mémorisations de données sont de deux types : - Les mémorisations survenant au cours du fonctionnement du moteur, c'est à dire entre la mise du contact et la coupure du contact. On trouve dans cette catégorie de données un certain nombre de grandeurs qui sont amenées à varier souvent et/ou qui doivent être mémorisées afin de rendre compte du fonctionnement du moteur en temps réel. On peut citer par exemple les données de contexte de conduite relatives à des fonctions de régulation de vitesse, la gestion du code du dispositif de verrouillage du calculateur afin de le protéger de toute tentative d'effraction ou bien encore la détection de défaut survenant au relais d'alimentation principale... Ces mémorisations se faisant au cours du fonctionnement du moteur sont souvent appelées mémorisations de données écrites « à la volée » et on utilise le mot « FLY » (contraction de l'expression anglaise « saved on the fly »). Il est important de pouvoir mémoriser rapidement ce genre de données car leur enregistrement ne doit pas trop perturber le fonctionnement des programmes en cours d'exécution. - Les mémorisations survenant en fin de fonctionnement du moteur, lorsque le conducteur coupe le contact. A cet instant, il est également important de sauvegarder un état clair du moteur en vue d'un redémarrage optimal qui sera permis par une restitution fidèle de l'état du moteur au moment de son arrêt. Ainsi, lorsque le conducteur coupe le contact, le dispositif de contrôle moteur mémorise l'état d'une série de paramètres avant de se couper. On citera pour mémoire la mémorisation des défauts détectés par le calculateur ou tous les adaptatifs amenés au contrôle des composants (adaptatif de la pompe haute pression, équilibrage des cylindres...). Cette phase d'arrêt de fonctionnement au cours de laquelle le dispositif de contrôle moteur n'est pas coupé et procède à différentes actions (alors que le conducteur a pourtant coupé le contact) est communément appelée « Power Latch » dans le jargon technique et l'abréviation PWL y est associée. Cette phase peut durer de nombreuses minutes (le temps des sauvegardes et de la réalisation des actions à mener, telle que refroidir le moteur au moyen de ventilateurs embarqués sur un moteur à combustion interne). Afin de mémoriser ces deux types de données, il est habituellement réservé des zones mémoires de taille fixe dans l'espace mémoire global du dispositif de contrôle moteur. La taille de ces zones est définie a priori, très en amont dans le développement de la conception du dispositif de contrôle moteur, et est systématiquement sur dimensionnée afin de ne pas créer de problème. En outre, des zones mémoires sont allouées à chaque type de données ; les données écrites « à la volée » sont toutes inscrites dans une même zone mémoire et les données de fin de fonctionnement (coupure du contact) sont toutes inscrites dans une autre zone mémoire. La figure 1 montre une chronologie de remplissage de mémoires fonctionnant sur ce principe. Dans l'exemple donné, la zone de stockage des données 30 est subdivisée en deux grandes zones : - une zone PWL destinée à stocker les informations enregistrées lors de la coupure du contact. Cette zone est ici subdivisée en trois parties égales M1, M2 et M3 permettant ainsi trois sauvegardes. - une zone FLY destinée à stocker les informations enregistrées « à la volée » 35 lors du fonctionnement du moteur. Les figures 1 a à 1f illustrent le mode de remplissage des zones mémoires.
Au premier démarrage, les informations enregistrées « à la volée » du premier cycle de fonctionnement sont sauvegardées dans la zone FLY (cf. figure 1 a). Pour faciliter la compréhension du procédé, il a été retenu dans le présent exemple l'enregistrement de trois paramètres (A, B, C) surveillés et sauvegardés « à la volée » dont les indices (Al, A2, A3...) sont incrémentés au cours du temps, au fur et à mesure des sauvegardes. Il est alors possible de déterminer quelle est la valeur la plus récente de chaque paramètre en en prenant l'indice le plus élevé. Dans l'exemple donné, seuls les paramètres A et B ont été enregistrés durant le premier cycle de fonctionnement et à la fin du premier cycle, les valeurs les plus récentes sont A2 et B1.
Lorsque le conducteur coupe le contact, les informations enregistrées à la coupure du contact sont sauvegardées dans la partie M1 de la zone PWL (cf. zone hachurée figure 1 b). Un deuxième démarrage a lieu ultérieurement et les informations enregistrées « à la volée » de ce deuxième cycle de fonctionnement sont stockées, consécutivement à celles du premier cycle de fonctionnement, dans la zone FLY (cf. figure l c), en incrémentant les indices appropriés. A la fin du deuxième cycle de fonctionnement, les valeurs les plus récentes des paramètres surveillés sont A2, B1 et C2. Une sauvegarde a alors lieu pour les informations enregistrées à la coupure du contact, dans la partie M2 de la zone PWL (cf. figure1d). Puis un troisième démarrage a lieu ultérieurement et les informations enregistrées « à la volée » de ce troisième cycle de fonctionnement sont stockées, consécutivement à celles du deuxième cycle de fonctionnement, dans la zone FLY (cf. figure1e), en incrémentant les indices appropriés. A la fin du troisième cycle de fonctionnement, les valeurs les plus récentes sont A3, B1 et C4. Une sauvegarde a alors lieu pour les informations enregistrées à la coupure du contact, dans la partie M3 de la zone PWL (cf. figure1f).
Comme on le voit à la figure 1, le fait de sur dimensionner les mémoires PWL amène à ne pas utiliser de façon optimale ces mémoires. Lorsqu'on sait que ces mémoires sont très souvent de type « Flash » avec une durée de vie limitée par le nombre d'effacements qu'elles subissent, il est essentiel d'optimiser leur remplissage de façon à procéder à l'effacement des données le moins souvent possible. C'est un problème constaté sur les procédés de l'état de l'art que la présente invention se propose de résoudre. Il peut se produire des cas de figure où les données enregistrées « à la volée » sont très nombreuses sur un cycle de fonctionnement et la zone de mémoire FLY sera alors saturée avant la zone PWL II est alors nécessaire, selon les procédés de l'état de l'art, de procéder à un basculement d'un ensemble de zones mémoires FLY et PWL vers un second ensemble de zones de mémoire FLY' et PWL' (cf. figure 2). Il est ainsi possible de continuer d'enregistrer les données mais au prix d'un gâchis de zones mémoires conséquent. Le basculement est néanmoins réalisé comme suit - les valeurs les plus récentes des données enregistrées « à la volée » (ici A6, B2 et C4) sont recopiées dans FLY', Les valeurs enregistrées lors de la dernière coupure de contact sont enregistrées dans M1' de PWL', L'ensemble PWL et FLY peut ensuite être effacé afin d'offrir une nouvelle zone mémoire vierge. Comme on le voit à la figure 2, les zones M2 et M3 (dont la gestion des mémoires occupées est déjà peu optimisée du fait du sur dimensionnement énoncé plus haut) sont, dans ce cas de figure, complètement vides. La carence d'optimisation de gestion des mémoires est ici encore plus flagrante avec les procédés de l'état de l'art. La situation inverse de celle décrite à la figure 2 peut tout également se présenter, c'est à dire que la zone PWL peut être saturée alors que la zone FLY ne l'est pas. Le même protocole de basculement de l'ensemble PWL et FLY vers un ensemble PWL' et FLY' est alors appliqué. Dans ce cas de figure également l'optimisation des mémoires n'est pas satisfaisante. Un des objectifs de la présente invention est donc d'éliminer ces lacunes.
Un autre problème majeur des procédés de l'art antérieur réside dans la problématique des temps de mémorisation. Il est en effet important d'assurer que la mémorisation des données enregistrées « à la volée » ne prenne pas beaucoup de temps (typiquement, moins de 30 ms) afin de ne pas risquer de perturber d'autres tâches en cours de traitement au sein du dispositif de contrôle moteur. Ceci permet également de permettre que l'inscription en mémoire de ces données puisse aisément s'intercaler entre deux tâches. De préférence, il faut que ces inscriptions puissent être traitées comme des tâches normales, sans devoir s'entourer de requêtes strictes et contraignantes pour le dispositif de contrôle moteur. Malheureusement, compte tenu des cas de figure énoncés plus haut où un nombre conséquent d'actions est à mener en plus de la seule inscription en mémoire (vérification, transfert, copie, effacements...) ce délai restreint n'est pas atteignable. L'art antérieur propose de procéder à ces tâches en utilisant des mécanismes microcontrôleurs spécifiques (tel qu'une interdiction faite aux autres tâches d'effacer les mémoires). Or ces mécanismes sont parfois susceptibles d'erreurs et sont jugés peu fiables par les experts. Il est donc nécessaire de s'en dispenser autant que faire ce peut. C'est également un des objectifs de la présente invention que de proposer un procédé permettant de se dispenser de tels mécanismes microcontrôleurs spécifiques.
Enfin, un risque important est celui du défaut d'alimentation survenant au cours du fonctionnement du dispositif de contrôle moteur. Un tel phénomène peut être lié à une batterie faible ou partiellement déchargée ou bien des faux contacts liés à de mauvaises connexions. Ceci se produit bien plus souvent qu'il ne semble au prime abord et il est nécessaire de traiter ce cas de figure. Lors de la survenue d'un tel défaut d'alimentation, le dispositif procède à une réinitialisation. Cette réinitialisation est fortement perturbée si les données à mémoriser sont perdues ou partiellement endommagées. Il peut même se produire que la réinitialisation se produise alors que les mémoires étaient en cours d'effacement (il a 90 été vu plus haut que les dispositifs de l'art antérieur nécessitent de nombreux effacements et copies). Dans un tel cas de figure, le dispositif de contrôle moteur sera incapable de déterminer quelle zone mémoire doit être prise en compte pour la réinitialisation et il fonctionnera sur un mode par défaut, en ayant perdu tout ou partie de l'historique mémorisé jusqu'alors. 15 Cet également un des objectifs de la présente invention que de restreindre ce danger. Compte tenu des limitations des procédés de l'art antérieur énoncées plus haut et des objectifs présentés, l'invention propose, pour un dispositif de contrôle moteur équipant un véhicule automobile et doté d'une zone mémoire destinée à 20 stocker les valeurs de paramètres nécessaires au suivi de l'état du moteur équipant ledit véhicule automobile, un procédé de sauvegarde en mémoire de données enregistrées lors d'un cycle de fonctionnement du moteur et à la fin d'un cycle de fonctionnement du moteur qui est remarquable en ce que les deux types de données sont enregistrés consécutivement les uns aux autres, chronologiquement, et sans 25 espace libre entre deux enregistrements consécutifs dans la même zone mémoire destinée à stocker les valeurs de paramètres nécessaires au suivi de l'état du moteur. Il est ainsi garanti une gestion optimale de l'espace mémoire. Avantageusement, il existe au moins deux espaces de mémoire de stockage, un espace de mémoire de stockage étant utilisé et les au moins un autres 30 étant en attente d'utilisation, chacun étant défini par son emplacement et sa taille, un basculement de l'espace de mémoire de stockage utilisé vers un des au moins un autre espace de mémoire de stockage en attente d'utilisation ayant lieu lorsque l'espace de mémoire de stockage utilisé est saturé. Avantageusement encore, il existe deux espaces de mémoire de stockage, 35 et le basculement comporte les étapes suivantes : i. sauvegarde des données dans l'espace de mémoire de stockage utilisé jusqu'à sa saturation, ü. sauvegarde des données dans l'espace de mémoire de stockage en attente d'utilisation dès la saturation de l'espace de mémoire de stockage utilisé, réaffectation de l'espace de mémoire de stockage utilisé qui devient celui en attente d'utilisation et de l'espace de mémoire de stockage en attente d'utilisation qui devient celui utilisé, iv. sauvegarde des données dans l'espace de mémoire de stockage utilisé jusqu'à l'atteinte d'un seuil de saturation S, v réalisation d'un état des espaces de mémoire de stockage utilisé et en attente d'utilisation, vi, sauvegarde des données actualisées dans l'espace de mémoire de stockage utilisé, vii. effacement de l'espace de mémoire de stockage en attente d'utilisation. Selon un mode de réalisation, l'étape v. est réalisée en recopiant dans l'espace de mémoire de stockage utilisé les données les données qui se trouvent dans l'espace de mémoire de stockage en attente d'utilisation et qui n'ont fait l'objet d'aucune sauvegarde dans l'espace de mémoire de stockage utilisé. Selon une autre caractéristique de l'invention, l'effacement de l'espace de mémoire de stockage en attente d'utilisation de l'étape vii. est effectué à la fin du cycle de fonctionnement du moteur.
Avantageusement, le seuil de saturation S est supérieur à 50% de la taille de l'espace de mémoire de stockage utilisé. L'invention trouve des applications très avantageuses en ce qu'elle permet de diminuer la taille mémoire nécessaire au stockage des données. Elle permet également de simplifier et sécuriser le basculement d'une zone mémoire à une autre lorsque la première est saturée. Par ailleurs, elle autorise des enregistrements très rapides qui sont alors peu susceptibles de perturber ou d'être perturbés par d'autres tâches en cours au sein du calculateur. Enfin, elle limite les risques de pertes de données dues à des coupures d'alimentation électrique. L'invention sera mieux comprise à la lecture de la description qui va suivre. 30 Celle-ci est purement illustrative et doit être lue en regard des dessins annexés sur lesquels : - la figure 1 (déjà détaillée) montre une chronologie (1a à 1f) de remplissage des zones mémoires d'un dispositif de contrôle moteur selon l'art antérieur, - la figure 2 (déjà détaillée) illustre le procédé de recopie des données d'une 35 première zone mémoire dite « saturée » vers une seconde zone mémoire vierge conformément à l'art antérieur, la figure 3 est une illustration comparative de l'état de remplissage d'une zone mémoire, selon l'art antérieur (3a) et conformément à l'invention (3b). Dans la description, les mêmes références numériques désignent d'une figure à l'autre des éléments identiques ou fonctionnellement semblables.
Dans la description, on prête des actions à des appareils ou à des programmes, cela signifie que ces actions sont exécutées par un microprocesseur de cet appareil ou de l'appareil comportant le programme, ledit microprocesseur étant alors commandé par des codes instructions enregistrés dans une mémoire de l'appareil. Ces codes instructions permettent de mettre en ceuvre les moyens de 90 l'appareil et donc de réaliser l'action entreprise. La figure 3 est une illustration comparative de l'état d'occupation d'une zone mémoire de sauvegarde de données selon un procédé de l'art antérieur (sur la partie gauche 3a de la figure) et selon le procédé conforme à l'invention (sur la partie droite 3b de la figure). Pour une même quantité de mémoires, il est donné un exemple 95 du stockage de vingt sauvegardes de données mémorisées « à la volée » et de quatre séries de données mémorisées à la coupure du contact. En ce qui concerne le mode d'enregistrement conforme au procédé de l'art antérieur, il a été décrit précédemment et ne sera pas détaillé plus avant ici. Il est à noter que, selon le procédé de l'art antérieur, la zone mémoire représentée à la 20 figure 3a est saturée (par saturation de la zone PWL) et qu'il y a lieu de procéder au basculement vers une autre zone de mémoire (non représentée) comme décrit précédemment. Nous allons maintenant décrire le procédé de stockage selon l'invention à l'appui de la figure 3b. Il n'y a pas ici de zone réservée MAIL ou FLY. 25 Au premier démarrage, les informations enregistrées « à la volée » lors du premier cycle de fonctionnement sont sauvegardées dans la zone mémoire 11. En gardant le même principe de nomenclature que signalé précédemment, il a été retenu dans le présent exemple l'enregistrement de trois paramètres surveillés (A, B, C) dont les indices (Al, A2, A3...) sont incrémentés au cours du temps. Dans l'exemple donné, 30 seuls les paramètres A et B ont été enregistrés durant le premier cycle de fonctionnement et à la fin du premier cycle, les valeurs les plus récentes sont A2 et B1. Lorsque le conducteur coupe le contact, les informations enregistrées à la coupure du contact sont sauvegardées (zone hachurée 12) immédiatement à la suite des trois valeurs déjà stockées. Aucune perte de place mémoire n'est constatée. 35 Un deuxième démarrage a lieu ultérieurement et les informations enregistrées « à la volée » lors de ce deuxième cycle de fonctionnement sont stockées, consécutivement à celles du premier cycle de fonctionnement, dans la même 29.65949 8 zone mémoire, en incrémentant les indices appropriés. A la fin du deuxième cycle de fonctionnement, les valeurs les plus récentes sont A4, B2 et C3 et sont présentes dans la zone 21. Une sauvegarde (zone hachurée 22) a alors lieu pour les informations enregistrées à la coupure du contact, toujours dans la même zone mémoire. Puis un 5 troisième démarrage a lieu ultérieurement et les informations enregistrées « à la volée » de ce troisième cycle de fonctionnement sont stockées, consécutivement à celles du deuxième cycle de fonctionnement, dans la zone mémoire, en incrémentant les indices appropriés. A la fin du troisième cycle de fonctionnement, les valeurs les plus récentes sont A5, B2 et C6 et sont présentes dans la zone 31. Une sauvegarde (zone hachurée 32) a alors lieu pour les informations enregistrées à la coupure du contact, toujours dans la même zone mémoire. Puis un quatrième démarrage a lieu ultérieurement et les informations enregistrées « à la volée » de ce quatrième cycle de fonctionnement sont stockées, consécutivement à celles du troisième cycle de fonctionnement, dans la zone mémoire, en incrémentant les indices appropriés. A la fin du quatrième cycle de fonctionnement, les valeurs les plus récentes sont A8, B4 et C9 et sont présentes dans la zone 41. Une sauvegarde (zone hachurée 42) a alors lieu pour les informations enregistrées à la coupure du contact, toujours dans la même zone mémoire. Lorsque débute un cycle de fonctionnement, le dispositif de contrôle moteur restaure l'état avant l'arrêt. En se rapportant à la figure 3b, la restauration des données se passe de la manière suivante pour le cinquième cycle de fonctionnement : - La zone de mémoire est lue, de manière à trouver le dernier enregistrement (en partant de la fin de la zone de mémoire par exemple). Ce dernier enregistrement 42 est du type « information enregistrée à la coupure du contact ». Ce dernier enregistrement 42 comporte la valeur des paramètres à sauvegarder, la nature du type d'enregistrement (soit des données enregistrées « à la volée », soit des données enregistrées à la coupure du contact dans notre exemple), l'identifiant du ou des paramètres (utile pour les données enregistrées « à la volée ») ainsi que la taille mémoire occupée par l'enregistrement 42. - Il est procédé à la lecture de ce dernier enregistrement 42 de type enregistré à la coupure du contact. Il y a encore lieu ensuite de restaurer les données enregistrées « à la volée ». - La taille du dernier enregistrement 42 étant connu, le dispositif de contrôle moteur peut immédiatement déterminer la position de la prochaine zone mémoire à lire, en l'occurrence la donnée enregistrée « à la volée » relative au paramètre A8. Cet enregistrement relatif au paramètre A8 comporte, comme expliqué précédemment, la valeur du paramètre à sauvegarder, la nature du type d'enregistrement (une donnée enregistrée « à la volée » dans notre cas présent), l'identifiant du paramètre (dans notre cas l'identifiant associé au paramètre A8) ainsi que la taille mémoire occupée par l'enregistrement du paramètre A8. - Il est alors' procédé à la lecture de la valeur sauvegardée pour le paramètre A8. - Le dispositif de contrôle moteur garde en mémoire que le paramètre A8 a été restauré. - La taille de l'enregistrement relatif au paramètre A8 étant connue, le dispositif sait où aller lire l'enregistrement suivant (dans notre exemple C9). Comme il s'agit ici du paramètre C9, le dispositif de contrôle moteur le retient (puisque jusque là il n'a restauré que le paramètre A8). - II est alors procédé à la lecture de la valeur sauvegardée pour le paramètre C9. - Le dispositif de contrôle moteur garde en mémoire que les paramètres A8 et C9 ont été restaurés. - Le prochain enregistrement est relatif à C8. Dans ce cas, le dispositif de contrôle moteur sait qu'il n'y a pas lieu de tenir compte de cet enregistrement relatif à une valeur périmée du paramètre C. - La restauration se poursuit ainsi jusqu'à ce que le dispositif de contrôle moteur parvienne à l'enregistrement relatif au paramètre B4 (dans notre exemple de la figure 3b). A partir de cet instant, le dispositif de contrôle moteur sait qu'il a reconstitué l'ensemble des paramètres A, B et C dans leur indice le plus récent ainsi que l'ensemble des valeurs stockées dans l'enregistrement 42 des données stockées à la coupure du contact. - La restauration est alors terminée et le dispositif de contrôle moteur peut alors fonctionner avec une connaissance de l'état dans lequel le moteur s'est arrêté.
Le procédé de mémorisation conforme à l'invention permet de ne générer un basculement d'une zone mémoire saturée vers une autre zone mémoire que lorsque la première zone mémoire est réellement pleine. Ceci présente comme premier avantage que les zones mémoires sont utilisées au maximum de leurs capacités et que les effacements, qui sur ce type de mémoires limitent la durée de vie desdites mémoires, sont moins nombreux pour une même quantité d'informations mémorisées. La durée de vie des mémoires en est donc grandement allongée. En outre, ceci présente un deuxième avantage qui est la nature du déclenchement du basculement d'une zone mémoire vers une autre. L'art antérieur nécessite de déterminer quelle est le type de la zone de mémoire qui vient à saturation. En fonction de ce type de zone mémoire (données mémorisées « à la volée » dans la zone FLY ou données mémorisées à la coupure du contact mémorisées dans la zone PWR), deux traitements distincts devront être mis en oeuvre. Ces traitements nécessitent du temps et de l'espace mémoire dans le dispositif de contrôle moteur afin de les exécuter correctement. A l'inverse, un procédé conforme à l'invention présente un basculement d'une zone mémoire saturée vers une zone mémoire vierge sur un seul type d'élément déclencheur et selon un traitement unique. Ceci permet alors une optimisation des ressources microélectroniques du dispositif de contrôle moteur. Un exemple de mode de réalisation du basculement d'une zone mémoire saturée vers une autre zone mémoire vierge conforme à l'invention est détaillé ci dessous. Dans son principe, le basculement est très simple, puisque dès que la première zone mémoire est saturée le stockage est réalisé dans la deuxième zone. Le dispositif de contrôle moteur est averti de ce basculement. Lorsqu'un seuil de saturation S est atteint dans la deuxième zone mémoire, un état des mémoires est réalisé. Compte tenu de la taille des zones mémoire utilisées, la présence de données stockées à la coupure du contact est certaine pour peu que la valeur du seuil de saturation S soit choisie au delà de 50%. Deux cas de figure se présentent par contre pour les données stockées « à la volée » : - Soit l'ensemble des paramètres possèdent des valeurs stockées dans la deuxième zone de mémoire. Un effacement de la première zone de mémoire est alors planifié. - Soit certains paramètres possèdent des valeurs stockées dans la première zone mémoire (paramètres enregistrés « à la volée » n'évoluant pas souvent dans le temps et n'entraînant donc pas de sauvegarde fréquente). Le procédé selon l'invention prévoit alors, lors du prochain cycle de fonctionnement, de réaliser, après la restauration des données comme précédemment expliqué, de mémoriser dans la seconde mémoire les valeurs qui se trouvent dans la première zone. Un effacement de la première zone mémoire est alors planifié. Selon un mode de réalisation préféré de l'invention, le procédé comporte une étape d'effacement de la zone mémoire saturée uniquement lors de l'étape précédent la coupure du dispositif de contrôle moteur, une fois le contact coupé.
Durant cette phase «d'endormissement », la tension disponible est surveillée et le risque d'événements venant générer des faux contacts ou des chutes de tension est moindre. En outre, le dispositif de contrôle moteur n'a plus à superviser le fonctionnement du moteur et peut se consacrer rapidement et efficacement aux effacements et sauvegardes. Tout ceci permet de mieux maîtriser les risques de pertes d'information et, pour le moins, de garantir la détection d'un incident survenu. Il se peut cependant que la zone mémoire soit saturée par les données à stocker « à la volée » au cours d'un cycle de fonctionnement particulièrement long par exemple. Dans un tel cas de figure, il est tout à fait possible de planifier un effacement lors du cycle de fonctionnement ou bien de stocker temporairement, en attendant la fin du cycle de fonctionnement, les données dans une autre mémoire, telle par exemple une mémoire RAM.
Dans une variante, il est tout à fait possible d'utiliser plus de deux zones mémoires sans pour autant sortir de la portée de la présente invention. Dans les revendications, le terme « comporter » n'exclut pas d'autres éléments ou d'autres étapes. L'article indéfini' « un » n'exclut pas un pluriel. Les différentes caractéristiques présentées et/ou revendiquées peuvent être avantageusement combinées. Leur présence, dans la description ou dans des revendications dépendantes différentes, n'exclue pas cette possibilité. Les signes de référence ne sauraient être compris comme limitant la portée de l'invention. -

Claims (6)

  1. REVENDICATIONS1. Pour un dispositif de contrôle moteur équipant un véhicule automobile et doté d'une zone mémoire destinée à stocker les valeurs de paramètres nécessaires au suivi de l'état du moteur équipant ledit véhicule automobile, procédé de sauvegarde en mémoire de données enregistrées - lors d'un cycle de fonctionnement du moteur, - à la fin d'un cycle de fonctionnement du moteur, caractérisé en ce que les deux types de données sont enregistrés consécutivement les uns aux autres, chronologiquement, et sans espace libre entre deux enregistrements consécutifs dans la même zone mémoire destinée à stocker les valeurs de paramètres 10 nécessaires au suivi de l'état du moteur.
  2. 2. Procédé selon la revendication 1, caractérisé en ce qu'il existe au moins deux espaces de mémoire de stockage, un espace de mémoire de stockage étant utilisé et les au moins un autres étant en attente d'utilisation, définis par leur emplacement et leur taille, un basculement de l'espace de mémoire de stockage utilisé vers un des au moins 15 un autre espace de mémoire de stockage en attente d'utilisation ayant lieu lorsque l'espace de mémoire de stockage utilisé est saturé.
  3. 3. Procédé selon la revendication 2, caractérisé en ce qu'il existe deux espaces de mémoire de stockage, et que le basculement comporte les étapes suivantes i. sauvegarde des données dans l'espace de mémoire de stockage utilisé jusqu'à 20 sa saturation, ii. sauvegarde des données dans l'espace de mémoire de stockage en attente d'utilisation dès la saturation de l'espace de mémoire de stockage utilisé, réaffectation de l'espace de mémoire de stockage utilisé qui devient celui en attente d'utilisation et de l'espace de mémoire de stockage en attente d'utilisation 25 qui devient celui utilisé, iv. sauvegarde des données dans l'espace de mémoire de stockage utilisé jusqu'à l'atteinte d'un seuil de saturation S, v. réalisation d'un état des espaces de mémoire de stockage utilisé et en attente d'utilisation, 30 vi. sauvegarde des données actualisées dans l'espace de mémoire de stockage utilisé, vii. effacement de l'espace de mémoire de stockage en attente d'utilisation.
  4. 4. Procédé selon la revendication 3, caractérisé en ce que l'étape v. est réalisée en recopiant dans l'espace de mémoire de stockage utilisé les données les données qui se trouvent dans l'espace de mémoire de stockage en attente d'utilisation et qui n'ont fait l'objet d'aucune sauvegarde dans l'espace de mémoire de stockage utilisé.
  5. 5. Procédé selon la revendication 4, caractérisé en ce que l'effacement de l'espace de mémoire de stockage en attente d'utilisation de l'étape vii. est effectué à la fin du cycle de fonctionnement du moteur.
  6. 6. Procédé selon la revendication 3, caractérisé en ce que le seuil de saturation S est supérieur à 500/0 de la taille de l'espace de mémoire de stockage utilisé.
FR1101151A 2011-04-14 2011-04-14 Procede de sauvegarde optimisee de donnees dans la memoire d'un calculateur equipant un vehicule automobile Pending FR2965949A1 (fr)

Priority Applications (1)

Application Number Priority Date Filing Date Title
FR1101151A FR2965949A1 (fr) 2011-04-14 2011-04-14 Procede de sauvegarde optimisee de donnees dans la memoire d'un calculateur equipant un vehicule automobile

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR1101151A FR2965949A1 (fr) 2011-04-14 2011-04-14 Procede de sauvegarde optimisee de donnees dans la memoire d'un calculateur equipant un vehicule automobile

Publications (1)

Publication Number Publication Date
FR2965949A1 true FR2965949A1 (fr) 2012-04-13

Family

ID=44549728

Family Applications (1)

Application Number Title Priority Date Filing Date
FR1101151A Pending FR2965949A1 (fr) 2011-04-14 2011-04-14 Procede de sauvegarde optimisee de donnees dans la memoire d'un calculateur equipant un vehicule automobile

Country Status (1)

Country Link
FR (1) FR2965949A1 (fr)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110059018A (zh) * 2019-04-02 2019-07-26 北京空间飞行器总体设计部 一种航天器的数据存储系统及访问方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5311430A (en) * 1991-10-11 1994-05-10 Nissan Motor Co., Ltd. Vehicle operation data recording apparatus
US20070168632A1 (en) * 2006-01-19 2007-07-19 Sigmatel, Inc. Non-volatile memory

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5311430A (en) * 1991-10-11 1994-05-10 Nissan Motor Co., Ltd. Vehicle operation data recording apparatus
US20070168632A1 (en) * 2006-01-19 2007-07-19 Sigmatel, Inc. Non-volatile memory

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110059018A (zh) * 2019-04-02 2019-07-26 北京空间飞行器总体设计部 一种航天器的数据存储系统及访问方法

Similar Documents

Publication Publication Date Title
EP3044679B1 (fr) Procédé de mise à jour d'un logiciel de démarrage d'un dispositif multiprocesseur
FR2722017A1 (fr) Systeme multiprocesseur
US7797285B1 (en) Method and apparatus for restoring backup data to a computer
WO2017036584A1 (fr) Procédé de détection d'une erreur non corrigible dans une mémoire non volatile d'un microcontrôleur
FR2901949A1 (fr) Procede de mise en veille d'un decodeur de television numerique et decodeur numerique a mode veille basse consommation
FR3072195B1 (fr) Procede de gestion d'un retour de produit pour analyse et produit correspondant
FR3006768A1 (fr) Procede de surveillance d'un organe fonctionnel d'un vehicule automobile
FR2762737A1 (fr) Procede pour changer de version de logiciel dans un systeme informatique comportant plusieurs stations, et systeme informatique pour la mise en oeuvre de ce procede
EP2498184A1 (fr) Dispositif pour l'amélioration de la tolérance aux fautes d'un processeur
FR2891502A1 (fr) Procede d'amelioration d'un diagnostic d'une eventuelle defaillance dans un vehicule
FR2884628A1 (fr) Procede de traitement d'interruptions non securisees par un processeur operant dans le mode securise, processeur associe.
FR2965949A1 (fr) Procede de sauvegarde optimisee de donnees dans la memoire d'un calculateur equipant un vehicule automobile
FR2923627A1 (fr) Procede de deverrouillage d'un calculateur de controle moteur.
CN111371642B (zh) 网卡故障检测方法、装置、设备及存储介质
FR2990782A1 (fr) Procede de gestion d'une execution de taches dans un systeme informatique
FR3055991A1 (fr) Procede de detection de defaillances
CN105938444B (zh) 一种基于数据双备份机制的系统状态备份和恢复方法
EP1603042A2 (fr) Procédé et système de vérification de l'atomicité de commandes exécutées par un microprocesseur
FR3010554A1 (fr) Procede de detection et de prevention de panne de composant de vehicule automobile
FR3055714A1 (fr) Procede de correction d'erreur dans une memoire flash
EP4312125A1 (fr) Prédiction d'une anomalie de ressource pour la programmation d'un point de sauvegarde
CN101866311A (zh) 一种利用外设的计算机系统监控与恢复方法
FR2503900A1 (fr) Dispositif de reprise pour installation de traitement de donnees
WO2021001168A1 (fr) Procede de test d'un dispositif de reinitialisation de calculateur
FR3079945A1 (fr) Procede de detection d’un risque de perte de donnees d’une memoire non volatile-temporaire dans un calculateur et de perennisation de ces donnees.