FR2933803A1 - Dispositif et procede de sauvegarde de donnees sur des supports de memoire non volatile, de type flash nand, destines a des calculateurs embarques - Google Patents

Dispositif et procede de sauvegarde de donnees sur des supports de memoire non volatile, de type flash nand, destines a des calculateurs embarques Download PDF

Info

Publication number
FR2933803A1
FR2933803A1 FR0803879A FR0803879A FR2933803A1 FR 2933803 A1 FR2933803 A1 FR 2933803A1 FR 0803879 A FR0803879 A FR 0803879A FR 0803879 A FR0803879 A FR 0803879A FR 2933803 A1 FR2933803 A1 FR 2933803A1
Authority
FR
France
Prior art keywords
flash memory
main block
dedicated
backup
sectors
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.)
Granted
Application number
FR0803879A
Other languages
English (en)
Other versions
FR2933803B1 (fr
Inventor
Mathieu Baig
Nicolas Charrier
Sebastien Tricot
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.)
Thales SA
Original Assignee
Thales SA
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 Thales SA filed Critical Thales SA
Priority to FR0803879A priority Critical patent/FR2933803B1/fr
Priority to US12/491,942 priority patent/US20100011157A1/en
Publication of FR2933803A1 publication Critical patent/FR2933803A1/fr
Application granted granted Critical
Publication of FR2933803B1 publication Critical patent/FR2933803B1/fr
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • G11C16/102External programming circuits, e.g. EPROM programmers; In-circuit programming or reprogramming; EPROM emulators
    • G11C16/105Circuits or methods for updating contents of nonvolatile memory, especially with 'security' features to ensure reliable replacement, i.e. preventing that old data is lost before new data is reliably written
    • 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

Abstract

La présente invention concerne un dispositif permettant de gérer un composant mémoire flash (FM) destiné à des calculateurs embarqués, notamment dans le domaine aéronautique. En particulier, l'invention rend possible l'utilisation de supports de mémoire de type flash NAND dans des domaines tels que l'aéronautique, grâce à son organisation et à sa gestion judicieuses des composants mémoires flash (FM). Elle permet d'une part d'optimiser et d'autre part de contrôler la durée de vie desdites mémoires flash (FM).

Description

Dispositif et procédé de sauvegarde de données sur des supports de mémoire non volatile, de type flash NAND, destinés à des calculateurs embarqués. La présente invention concerne un dispositif permettant de gérer un composant mémoire flash destiné à des calculateurs embarqués. Plus précisément, l'invention propose un dispositif et un proc:édé visant à sécuriser l'intégrité des données sauvegardés sur des supports de mémoire de type flash, et à optimiser la longévité de ces supports. En particulier, l'invention rend possible l'utilisation de supports de mémoire de type flash NAND dans des domaines tels que l'aéronautique, pour lesquels l'intégrité des données sauvegardées et la durée de vie des composants revêt une importance primordiale. Actuellement, dans le domaine de l'aéronautique, les systèmes de gestions de vol requièrent des capacités de stockage et de sauvegarde de données informatiques de plus en plus importantes. Ces besoins en termes de capacité de stockage ont ainsi été multipliés par mille, voire par un million, passant de quelques kilo-octets il y a quelques années à au moins un giga- octet aujourd'hui. Les données à sauvegarder peuvent aussi bien être des cartes géographiques ou aériennes de plus en plus détaillées, que des plans de vols ou des données critiques tels que l'altitude ou la vitesse de l'avion. Actuellement, les mémoires non volatiles éventuellement utilisées en aéronautique sont de type flash NOR. Les mémoires flash NOR possèdent un système d'adressage permettant un accès rapide et aléatoire à n'importe lequel de leurs secteurs disponibles. Leur avantage principal est de garantir à 100% l'intégrité des données sauvegardées. En revanche, el?es présentent des performances incompatibles des besoins actuels au niveau de la capacité de stockage et du débit en écriture. Ces mémoires flash NOR sont aujourd'hui concurrencées par les mémoires de type flash NAND. Les mémoires flash NAND présentent l'avantage de pouvoir afficher des capacités de stockage élevées à des coûts beaucoup plus faibles que les mémoires flash NOR. Le principal défaut des mémoires flash NAND réside dans le fait que l'intégrité des données stockées n'est pas garantie. C'est essentiellement pour cette raison que les mémoires flash NAND ne sont pas utilisées dans le domaine de l'aéronautique, en particulier pour la sauvegarde de données critiques. Un autre inconvénient des mémoires flash NAND provient du fait que leur interface n'autorise qu'un accès séquentiel aux données. II est par conséquent difficile de garantir la durée de vie de ce type de mémoire, les constructeurs de mémoires flash NAND ne garantissant qu'un nombre maximum de cycles d'effacement supportés par les différents secteurs de la mémoire. Pourtant, les mémoires flash NAND présentent aussi des performances très intéressantes et bien supérieures à celles des mémoires flash NOR au niveau des temps d'accès, du nombre de cycle d'effacements supporté, de la capacité de stockage et du débit en écriture. Leur utilisation, déjà massive pour des applications grand public , apparaît aujourd'hui nécessaire dans le domaine de l'aéronautique. Un but de l'invention est ainsi d'augmenter la fiabilité des mémoires flash NAND et de garantir leur pérennité.
La principale technique actuelle visant à améliorer la pérennité des mémoires flash NAND consiste à appliquer le principe de nivellement de l'usure des différents secteurs de la mémoire, technique connue sous la dénomination anglo-saxonne de wear leveling . En effet, une mémoire flash est constituée de secteurs ; par exemple, une mémoire flash d'un giga-octet comprend 8192 secteurs de 128 kilo-octets chacun. Lorsqu'une modification doit être effectuée dans un secteur, celui-ci est totalement effacé puis réécrit. Il s'agit donc ici d'homogénéiser le vieillissement des secteurs de la mémoire, c'est-à-dire de faire en sorte que l'on écrive systématiquement dans le secteur disponible ayant subi le moins de cycles d'effacement. De cette façon, tous les secteurs de la mémoire vieillissent au même rythme, ce qui permet d'optimiser la durée de vie de la mémoire flash NAND. Concernant l'intégrité des données sauvegardées, des codes correcteurs d'erreurs sont aujourd'hui mis au point. Leur principal défaut réside dans le fait qu'ils sont consommateurs d'espace mémoire et de temps de calcul.
Dans ce contexte, l'invention propose un dispositif et un procédé permettant la mise en oeuvre du principe de nivellement de l'usure des secteurs de composants mémoires flash ainsi que d'autres principes novateurs dans le but de sécuriser la sauvegarde sur mémoire flash NAND.
A cet effet, l'invention a pour objet un dispositif de sauvegarde de données sur un support de mémoire non volatile destiné à des calculateurs embarqués, notamment dans le domaine de l'avionique, ledit dispositif comportant : • un microcontrôleur, possédant une mémoire vive, • un composant mémoire flash, le composant mémoire flash comportant N secteurs décliés à la sauvegarde de fichiers et de messages, lesdits fichiers pointant vers lesdits messages, lesdits secteurs dédiés à la sauvegarde possédant une adresse et comprenant des secteurs dédiés à la sauvegarde défectueux et des secteurs dédiés à la sauvegarde intègres, lesdits secteurs dédiés à la sauvegarde intègres présentant un nombre de cycles d'effacement subis, caractérisé en ce que le composant mémoire flash comporte en outre un bloc principal comprenant : • une table des secteurs défectueux, pour lister les adresses des secteurs dédiés à la sauvegarde défectueux, • une table de nivellement de l'usure, pour lister le nombre de cycles d'effacement subis associé à chacun des secteurs dédiés à la sauvegarde intègres, • une table d'allocation, comprenant un ensemble de fichiers, chaque fichier pointant vers une table de messages qui lui est associée, ladite table de messages permettant de 1lister les adresses des secteurs dédiés à la sauvegarde contenant les données associées auxdits messages, • des moyens pour effacer et recréer ledit bloc principal à une 30 adresse différente à chaque modification d'au moins un secteur dédié à la sauvegarde.
Avantageusement, le composant mémoire flash présentant une durée de vie nominale, correspondant à la durée de vie envisagée dudit 35 composant mémoire flash, le composant mémoire flash présente une fréquence d'effacement correspondant à la durée moyenne entre deux cycles d'effacement d'un secteur dédié à la sauvegarde, calculée sur l'ensemble des secteurs dédiés à la sauvegarde intègres, ladite fréquence d'effacement devant être inférieure à une fréquence d'effacement maximale, dans le but de garantir la durée de vie nominale dudit composant mémoire flash. Dans un exemple de mise en oeuvre de l'invention, le composant mémoire flash présentant une durée de vie nominale comprise entre 20 ans et 30 ans, et possédant environ 8000 à 10000 secteurs dédiés à la mémoire, chaque secteur dédié à la sauvegarde présentant une garantie de fonctionnement jusqu'à environ 100000 cycles d'effacement, la fréquence d'effacement maximale est de l'ordre de 1 par seconde. Avantageusement, la somme des durées pendant lesquelles le composant mémoire flash est sous tension, appelée durée d'utilisation de la mémoire flash, est enregistrée dans le bloc principal, permettant de déterminer ladite fréquence d'effacement du composant mémoire flash.
Avantageusement, la fréquence d'effacement peut, sur de courtes 20 périodes, dépasser la fréquence d'effacement maximale. Avantageusement, le composant mémoire flash peut être de type flash NAND. Dans un exemple de mise en oeuvre de l'invention, le bloc 25 principal présente un espace mémoire réservé correspondant à un secteur dédié à la sauvegarde, la table des secteurs défectueux possède un espace mémoire réservé inférieur ou égal à environ 10/0 de l'espace mérnoire réservé audit bloc principal, la table de nivellement de l'usure possède un espace mémoire réservé compris entre 20% et 30% de l'espace mémoire réservé 30 audit bloc principal, la table d'allocation possède un espace mémoire réservé compris entre 30% et 40% de l'espace mémoire réservé audit bloc principal
Avantageusement, un procédé de gestion d'un dispositif de sauvegarde de données sur un support de mémoire non volatile selon 35 l'invention comporte les étapes suivantes : • lors du démarrage du composant mémoire flash : o la lecture de tous les secteurs dédiés à la sauvegarde et la localisation du bloc principal, dit ancien bloc principal, o le chargement, dans la mémoire vive du microcontrôleur, dudit ancien bloc principal comprenant la table des secteurs défectueux, la table de nivellement de l'usure et la table d'allocation, • lors de l'écriture d'un message sur le composant mémoire flash : o l'effacement du secteur dédié à la mémoire disponible présentant le plus petit nombre de cycles d'effacement subis, dit secteur le plus jeune, o l'écriture dudit message dans ledit secteur le plus jeune, o l'écriture d'un nouveau bloc principal, en appliquant les deux étapes d'effacement puis d'écriture décrites ci-dessus, o l'l'effacement de l'ancien bloc principal. 20 Avantageusement, la lecture de tous les secteurs dédiés à la sauvegarde dans le but de localiser le bloc principal conformément au procédé selon l'invention aboutissant dans un premier temps à la localisation de plusieurs possibles blocs principaux, le bloc principal présente un 25 identifiant associé à sa date de dernière modification, permettant d"identifier le bloc principal correct, c'est-à-dire le plus récent. Avantageusement, ledit dispositif disposant d'environ 10 millisecondes avant de cesser de fonctionner en cas de coupure d'alimentation électrique, lesdites 10 millisecondes permettent 30 l'enregistrement du bloc principal, ledit bloc principal comprenant une information traçant l'interruption d'une éventuelle opération en cours. Avantageusement, la gestion dudit composant mémoire flash est assurée par un logiciel présent sur ledit microcontrôleur. 10 15 35 D'autres caractéristiques et avantages de l'invention apparaîtront à l'aide de la description qui suit faite en regard des dessins annexés qui représentent : • la figure 1 : le schéma de principe de la gestion d'une mémoire flash par un microcontrôleur ; • la figure 2 : le schéma du principe d'organisation en fichiers et messages des données sur une mémoire flash ; • la figure 3: le schéma représentant le contenu d'un bloc principal dans le dispositif selon l'invention ; • la figure 4 : le schéma décrivant le procédé de gestion d'une mémoire flash NAND selon l'invention.
La figure 1 présente un schéma simple permettant de décrire le principe de gestion d'un composant mémoire flash FM dans un dispositif selon l'invention. Le dispositif selon l'invention NVM, assure une fonction mémoire, par l'intermédiaire de l'ensemble constitué de la matrice de stockage de la mémoire flash proprement dite, FM, et du microcontrôleur pC. La matrice de stockage de la mémoire flash FM est cornposée d'un ensemble de secteurs, dit secteurs d'effacement. Il n'est pas possible de modifier partiellement un secteur : pour modifier les données contenues dans un secteur, il faut effacer ledit secteur puis graver les données mises à jour. C'est cette opération d'effacement qui contribue au vieillissement du secteur, et donc de la mémoire flash FM. Le dispositif ici décrit s'intègre à un environnement comprenant un calculateur avionique. Des données acheminées via le bus B sont écrites sur la mémoire flash FM ou lues sur ladite mémoire flash FM. La gestion de la lecture et de l'écriture sur la mémoire flash FM est assurée par une couche logicielle présente sur le microcontrôleur pC. Cette couche d'abstraction matérielle permet de gérer les lectures, les écritures, ainsi que les effacements de secteurs de la mémoire flash FM. Pour cela, la gestion de la mémoire flash FM ne repose pas sur un adressage direct des clifférents secteurs de la mémoire flash FM, mais sur des identifiants logiques de fichiers et de messages.
La figure 2 illustre à ce propos l'organisation en fichiers et messages des données écrites sur la mémoire flash FM d'un dispositif selon l'invention. Les données gravées sur la mémoire flash FM s'organisent donc en fichiers LogO, Log1, Log2, LogN qui pointent chacun vers un ensemble de messages, respectivement Msgl-Msg2-Msg4-Msg6-Msgl3, MsgO-Msg7-Msg9, Msg8-MsglO-Msgll-Msg12, Msg3-Msg5. Il est possible de modifier un message à l'intérieur d'un fichier, par exemple le message Msg10 peut être remplacé par le message Msg15 dans le fichier Log2. Pour réaliser cette opération, on supprime dans un premier temps le message Msgl0, puis on engrave le message Msg15 au sein du fichier Log2.
La figure 3 représente le schéma de l'organisation de la mémoire flash FM dans un dispositif selon l'invention. Ce point constitue un élément clé de l'invention. L'organisation de la mémoire flash FM repose sur la création et la gestion d'un bloc principal MTB. Ce bloc principal MTB, que l'on peut également qualifier de bloc de démarrage, contient les données permettant l'optimisation de la gestion de la mémoire flash FM. Il est engravé dans un secteur de ladite mémoire flash FM. Un des fondements de l'invention consiste à mettre en oeuvre le principe déjà évoqué de nivellement de l'usure des différents secteurs de la mémoire flash FM. A cet effet, le bloc principal MTB comprend une table des secteurs défectueux BBT permettant de lister les adresses de l'ensemble des secteurs défectueux de la mémoire flash FM. Dans ces secteursä aucune donnée ne peut bien entendu être sauvegardée.
Le bloc principal MTB comporte par ailleurs une table de nivellement de l'usure WLT. Cette table WLT liste, pour chaque secteur valide, le nombre d'effacements qu'il a subis. Ce nombre d'effacements subis correspond au niveau d'usure, ou à l'âge, dudit secteur. Enfin, le bloc principal comprend une table d'allocation LMT listant les adresses logiques des fichiers contenus dans la mémoire flash FM. Ces fichiers pointent vers des messages, conformément à la description de la figure 2. A chaque accès à la mémoire flash FM en écriture ou en effacement, le bloc principal MTB est modifié. Etant sauvegardé sur un secteur de la mémoire flash FM, lui-même soumis au vieillissement dû aux effacements, le bloc principal doit être sauvegardé à une adresse différente à chaque fois qu'il est modifié. Partant de l'exploitation du bloc principal décrite ci-dessus, la gestion de la mémoire flash FM procède des étapes suivantes : • au démarrage du dispositif, le microcontrôleur p0 présenté en figure 1 et qui possède une mémoire vive, scanne l'ensemble de la mémoire flash FM, repère le bloc principal MTB et le charge dans sa mémoire vive. • lors de l'écriture de données dans la mémoire flash FM, le microcontrôleur consulte le bloc principal MTB : la lecture des tables des secteurs défectueux BBT, de nivellement de l'usure WLT et d'allocation LMT permet de déterminer le secteur valide et disponible ayant subi le moins d'effacements. C'est dans ce secteur que les données sont engravées.
Le schéma de la figure 4 va permettre de détailler le processus de gestion de la mémoire flash FM introduit ci-dessus. On peut préciser tout d'abord que la table des secteurs défectueux BBT est une liste chaînée de longueur variable comportant les adresses des secteurs défectueux qui ne doivent plus être utilisés. La taille maximale de cette table BBT correspond, en bits, au nombre total de secteurs de la mémoire, l'état initègre ou défectueux d'un secteur pouvant être codé sur un bit. Ensuite, la table de nivellement de l'usure WLT comprend, pour chaque secteur, le nombre d'effacements subis. II s'agit d'une liste chaînée de longueur invariable. Enfin, la table d'allocation LMT se traduit par une liste d'identifiants de fichiers Logo, Log1, Log2, Log3, Log4, avec des informations associées, telles que le nombre de messages et la liste des adresses des messages que chaque fichier contient. Par exemple, le fichier Logo contient ici les messages MsgO, Msgl, Msg2, Msg3, Msg4 et Msg5. Chaque message est associé à un certain nombre de caractéristiques, comme sa taille, et la liste des secteurs physiques qu'il occupe. Partant de la description de la figure 3, on peut expliciter la gestion de la mémoire flash FM dans le dispositif selon l'invention. Le bloc principal détecté au démarrage est chargé en mémoire vive du microcontrôleur pC ; on peut le qualifier d'ancien bloc principal OMTB. Des données, par exemple le fichier Logo comprenant les rnessages MsgO, Msg1, Msg2, Msg3, Msg4 et Msg5 sont écrites dans les secteurs disponibles ayant subis le moins d'effacements. Ensuite, le bloc principal est mis à jour et le nouveau bloc principal NMTB est engravé sur la mémoire flash FM à une adresse différente de celle de l'ancien bloc principal OMTB.
On peut noter par ailleurs qu'il existe un risque de détecter plusieurs blocs principaux au démarrage du dispositif, par exemple parce que l'ancien n'a pas été effacé après l'écriture du nouveau, ou parce qu'une coupure de courant est intervenue avant effacement de l'ancien bloc principal. Le bloc principal est donc avantageusement doté un motif d'identification. Ce motif, lié par exemple à la date de dernière modification dudit bloc, permet de déterminer le bloc principal correct.
Enfin, outre le fait de permettre d'optimiser la longévité de la mémoire flash FM du dispositif, l'invention permet également de contrôler ladite longévité. Pour ce faire, on peut enregistrer la durée d'utilisation de la mémoire flash FM, correspondant à la somme des périodes lors desquelles la mémoire flash est sous tension. Cette donnée peut être stockée au sein du bloc principal MTB. Cette valeur permet de calculer une fréquence d'effacement des secteurs de la mémoire flash FM, correspondant à la durée moyenne s'écoulant entre deux effacements d'un secteur, cette moyenne étant calculée sur l'ensemble des secteurs. Or, il est possible de déterminer une fréquence d'effacement 25 maximal à ne pas dépasser sous peine de risquer que la mémoire flash FM n'atteigne pas la longévité attendue. Prenons pour exemple le cas d'un dispositif comprenant une mémoire flash FM d'une capacité d'un giga-octet, composée de 8192 secteurs de 128 kilo-octets chacun. Considérant que le constructeur de la 30 mémoire flash garantit le fonctionnement des secteurs jusqu'à 100000 cycles d'effacement, alors, si l'on souhaite que la longévité du dispositif et de la mémoire flash en particulier corresponde à celle du calculateur avionique auquel il est intégré, soit classiquement 25 ans, la fréquence d'effacement maximal vaut : 25 x 365 x 24x 60 x 60 -1 effacement par seconde. Si cette 8192 x 100000 35 valeur moyenne est dépassée, il est très probable que la mémoire flash aura une durée de vie inférieure aux 25 ans souhaités. Il faut néanmoins noter que le dispositif peut parfaitement tolérer un dépassement ponctuel de la fréquence d'effacement maximale lors de l'écriture de données en rafale sur la mémoire flash FM. Cela entraîne un état de surcharge de la mémoire flash FM pendant un temps court, mais la fréquence d'effacement peut être diminuée ensuite, afin de se ramener dans des conditions d'utilisation nominales.
Concernant la taille du bloc principal MTB, en se basant sur l'exemple d'application décrit ci-dessus et sur le premier paragraphe de la description de la figure 4, on obtient les valeurs suivantes : la 1:able des secteurs défectueux BBT requiert 8192 bits, soit 1024 octets ; la table de nivellement de l'usure WLT requiert un espace réservé de 32768 octets, soit , pour chaque secteur, 4 octets comprenant 17 bits permettant de coder le nombre de cycles d'effacement subis et 13 bits permettant de coder l'adresse dudit secteur. La taille de la table d'allocation LMT est a priori variable. Elle est de fait limitée par la taille d'un secteur, le bloc principal MTB ne devant nécessiter qu'un seul secteur. On peut réserver 40960 octets pour la table d'allocation LMT. Les octets encore disponibles dans le secteur du bloc principal MTB peuvent servir à stocker le motif identifiant ledit bloc principal MTB et le durée d'utilisation de la mémoire ou encore la fréquence d'effacements.
En résumé, l'invention présente deux avantages majeurs : par son organisation et sa gestion judicieuses de composants mémoires flash, elle permet d'une part d'optimiser et d'autre part de contrôler la durée de vie desdits composants mémoires flash. Elle permet également de sécuriser la sauvegarde de données sur ce type de mémoire non volatile, en particulier sur les mémoires flash de type flash NAND, rendant possible leur utilisation dans le cadre de calculateurs avioniques.

Claims (11)

  1. REVENDICATIONS1. Dispositif de sauvegarde de données sur un support de mémoire non volatile destiné à des calculateurs embarqués, notamment dans le domaine de l'avionique, ledit dispositif comportant : • un microcontrôleur (,uC), possédant une mémoire vive, • un composant mémoire flash (FM), le composant mémoire flash (FM) comportant N secteurs dédiés à la sauvegarde de fichiers (Logo, Log1, Log3, Log4) et de messages (MsgO, Msg1, Msg2, Msg3, Msg4, Msg5), lesdits fichiers pointant vers lesdits messages, lesdits secteurs dédiés à la sauvegarde possédant une adresse et comprenant des secteurs dédiés à la sauvegarde défectueux et des secteurs dédiés à la sauvegarde intègres, lesdits secteurs dédiés à la sauvegarde intègres présentant un nombre de cycles d'effacement subis, caractérisé en ce que le composant mémoire flash (FM) comporte en outre un bloc principal (MTB) comprenant : • une table des secteurs défectueux (BBT), pour lister les adresses des secteurs dédiés à la sauvegarde défectueux, • une table de nivellement de l'usure (WLT), pour lister le nombre de cycles d'effacements subis associé à chacun des secteurs dédiés à la sauvegarde intègres, • une table d'allocation (LMT), comprenant un ensemble de fichiers (Logo, Log1, Log2, Log3, Log4), chaque fichier pointant vers une table de messages (MsgO, Msgl , Msg2, Msg3, Msg4, Msg5) qui lui est associée, ladite table de messages permettant de lister les adresses des secteurs dédiés à la sauvegarde contenant les données associés auxdits messages, • des moyens pour effacer et recréer ledit bloc principal (MTB) à une adresse différente à chaque modification d'au moins un secteur dédié à la sauvegarde.
  2. 2. Dispositif selon la revendication 1, le composant mémoire flash (FM) présentant une durée de vie nominale, correspondant à la clurée de vie envisagée dudit composant mémoire flash (FM), caractérisé en ce 25 30que le composant mémoire flash (FM) présente une fréquence d'effacement correspondant à la durée moyenne entre deux cycles d'effacement d'un secteur dédié à la sauvegarde, calculée sur l'ensemble des secteurs dédiés à la sauvegarde intègres, ladite fréquence d'effacement devant être inférieure à une fréquence d'effacement maximale, dans le but de garantir la durée de vie nominale dudit composant mémoire flash (FM).
  3. 3. Dispositif selon la revendication 2, le composant mémoire flash (FM) présentant une durée de vie nominale comprise entre 20 ans et 30 ans, possédant environ 8000 à 10000 secteurs dédiés à la mémoire, chaque secteur dédié à la sauvegarde présentant une garantie de fonctionnement jusqu'à environ 100000 cycles d'effacement, caractérisé en ce que la fréquence d'effacement maximale est de l'ordre de 1 par seconde.
  4. 4. Dispositif selon l'une quelconque des revendications 2 à 3, caractérisé en ce que la somme des durées pendant lesquelles le composant mémoire flash (FM) est sous tension, appelée durée d'utilisation de la mémoire flash, est enregistrée dans le bloc principal (MTB), permettant de déterminer ladite fréquence d'effacement du composant mémoire flash (FM).
  5. 5. Dispositif selon l'une quelconque des revendications 2 à 4, caractérisé en ce que la fréquence d'effacement peut, sur de courtes périodes, dépasser la fréquence d'effacement maximale.
  6. 6. Dispositif selon l'une quelconque des revendications précédentes, caractérisé en ce que le composant mémoire flash (FM) est de type flash NAND.
  7. 7. Dispositif selon l'une quelconque des revendications précédentes, caractérisé en ce que le bloc principal (MTB) présente un espace mémoire réservé correspondant à un secteur dédié à la sauvegarde, la table des secteurs défectueux (BBT) possède un espace rnémoireréservé inférieur ou égal à environ 1% de l'espace mémoire réservé audit bloc principal (MTB), la table de nivellement de l'usure (WLT) possède un espace mémoire réservé compris entre 20% et 30% de l'espace mémoire réservé audit bloc principal (MTB), la table d'allocation (LMT) possède un espace mémoire réservé compris entre 30% et 40% de l'espace mémoire réservé audit bloc principal (MTB).
  8. 8. Procédé de gestion d'un dispositif de sauvegarde de données sur un 10 support de mémoire non volatile selon l'une quelconque des revendications précédentes, caractérisé en ce qu'il comporte les étapes suivantes : • lors du démarrage du composant mémoire flash (FM) : o la lecture de tous les secteurs dédiés à la sauvegarde et la localisation du bloc principal (MTB), dit ancien bloc principal (OMTB), o le chargement, dans la mémoire vive du microcontrôleur (NC), dudit ancien bloc principal (OMTB) comprenant la table des secteurs défectueux (BBT), la table de nivellement de l'usure (WLT) et la table d'allocation (LMT), • lors de l'écriture d'un message sur le composant mémoire flash (FM) : o l'effacement du secteur dédié à la mémoire düsponible présentant le plus petit nombre de cycles d'effacement subis, dit secteur le plus jeune, o l'écriture dudit message dans ledit secteur le plus jeune, o l'écriture d'un nouveau bloc principal (NMTB) à jour, en appliquant les deux étapes d'effacement puis d'écriture décrites ci-dessus, o l'effacement de l'ancien bloc principal (OMTB).
  9. 9. Procédé selon l'a revendication 8, la lecture de tous les secteurs 35 dédiés à la sauvegarde dans le but de localiser le bloc principal 15 20 25 30conformément au procédé selon l'invention aboutissant dans un premier temps à la localisation de plusieurs possibles blocs principaux, caractérisé en ce que le bloc principal (MTB) présente un identifiant associé à sa date de dernière modification, permettant d'identifier le bloc principal (MTB) correct, c'est-à-dire le plus récent.
  10. 10. Procédé selon l'une quelconque des revendications 8 à. 9, ledit dispositif disposant d'environ 10 millisecondes avant de cesser de fonctionner en cas de coupure l'alimentation électrique, caractérisé en ce que lesdites 10 millisecondes permettent l'enregistrement du bloc principal (MTB), ledit bloc principal (MTB) comprenant une information traçant l'interruption d'une éventuelle opération en cours.
  11. 11. Procédé selon l'une quelconque des revendications 8 à 10, caractérisé en ce que la gestion dudit composant mémoire flash (FM) est assurée par un logiciel présent sur ledit microcontrôleur (pC).
FR0803879A 2008-07-08 2008-07-08 Dispositif et procede de sauvegarde de donnees sur des supports de memoire non volatile, de type flash nand, destines a des calculateurs embarques Active FR2933803B1 (fr)

Priority Applications (2)

Application Number Priority Date Filing Date Title
FR0803879A FR2933803B1 (fr) 2008-07-08 2008-07-08 Dispositif et procede de sauvegarde de donnees sur des supports de memoire non volatile, de type flash nand, destines a des calculateurs embarques
US12/491,942 US20100011157A1 (en) 2008-07-08 2009-06-25 Device and method for backing up data on non- volatile memory media, of the nand flash type, designed for onboard computers

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR0803879A FR2933803B1 (fr) 2008-07-08 2008-07-08 Dispositif et procede de sauvegarde de donnees sur des supports de memoire non volatile, de type flash nand, destines a des calculateurs embarques

Publications (2)

Publication Number Publication Date
FR2933803A1 true FR2933803A1 (fr) 2010-01-15
FR2933803B1 FR2933803B1 (fr) 2010-09-24

Family

ID=39800600

Family Applications (1)

Application Number Title Priority Date Filing Date
FR0803879A Active FR2933803B1 (fr) 2008-07-08 2008-07-08 Dispositif et procede de sauvegarde de donnees sur des supports de memoire non volatile, de type flash nand, destines a des calculateurs embarques

Country Status (2)

Country Link
US (1) US20100011157A1 (fr)
FR (1) FR2933803B1 (fr)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10489064B2 (en) * 2016-10-03 2019-11-26 Cypress Semiconductor Corporation Systems, methods, and devices for user configurable wear leveling of non-volatile memory

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030225961A1 (en) * 2002-06-03 2003-12-04 James Chow Flash memory management system and method
US20080082736A1 (en) * 2004-03-11 2008-04-03 Chow David Q Managing bad blocks in various flash memory cells for electronic data flash card

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5268870A (en) * 1988-06-08 1993-12-07 Eliyahou Harari Flash EEPROM system and intelligent programming and erasing methods therefor
JP3197815B2 (ja) * 1996-04-15 2001-08-13 インターナショナル・ビジネス・マシーンズ・コーポレ−ション 半導体メモリ装置及びその制御方法
US6000006A (en) * 1997-08-25 1999-12-07 Bit Microsystems, Inc. Unified re-map and cache-index table with dual write-counters for wear-leveling of non-volatile flash RAM mass storage
US6862651B2 (en) * 2000-12-20 2005-03-01 Microsoft Corporation Automotive computing devices with emergency power shut down capabilities
US7224604B2 (en) * 2005-03-14 2007-05-29 Sandisk Il Ltd. Method of achieving wear leveling in flash memory using relative grades
US7853749B2 (en) * 2005-09-01 2010-12-14 Cypress Semiconductor Corporation Flash drive fast wear leveling
FR2900749B1 (fr) * 2006-05-05 2008-07-25 Thales Sa Procede et dispositif de securisation de la memoire d'un calculateur a l'encontre des erreurs dues aux radiations
US7809900B2 (en) * 2006-11-24 2010-10-05 Sandforce, Inc. System, method, and computer program product for delaying an operation that reduces a lifetime of memory
US20100115175A9 (en) * 2006-12-18 2010-05-06 Zhiqing Zhuang Method of managing a large array of non-volatile memories
US8010738B1 (en) * 2008-06-27 2011-08-30 Emc Corporation Techniques for obtaining a specified lifetime for a data storage device

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030225961A1 (en) * 2002-06-03 2003-12-04 James Chow Flash memory management system and method
US20080082736A1 (en) * 2004-03-11 2008-04-03 Chow David Q Managing bad blocks in various flash memory cells for electronic data flash card

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
TAEHOON KIM ET AL: "Design of a Reliable NAND Flash Software for Mobile Device", COMPUTER AND INFORMATION TECHNOLOGY, 2006. CIT '06. THE SIXTH IEE E INTERNATIONAL CONFERENCE ON, IEEE, PI, 1 September 2006 (2006-09-01), pages 173 - 173, XP031021752, ISBN: 978-0-7695-2687-4 *

Also Published As

Publication number Publication date
FR2933803B1 (fr) 2010-09-24
US20100011157A1 (en) 2010-01-14

Similar Documents

Publication Publication Date Title
US8041991B2 (en) System and method for recovering solid state drive data
US9459857B2 (en) Managing wear of system areas of storage devices
FR2671223A1 (fr) Memoire semiconductrice remanente pour ordinateur personnel.
US8694984B2 (en) Memory apparatus and method of updating firmware of the memory apparatus
FR2768529A1 (fr) Procede de mise en memoire et recuperation de donnees dans un systeme de commande, notamment dans un vehicule automobile
EP1918822A1 (fr) Système et procédé d'indexation de mémoire
EP2724237B1 (fr) Procédé de gestion de l'endurance de mémoires non volatiles
FR2933803A1 (fr) Dispositif et procede de sauvegarde de donnees sur des supports de memoire non volatile, de type flash nand, destines a des calculateurs embarques
FR3044817A1 (fr) Procede de gestion d'une ligne de bits defectueuse du plan memoire d'une memoire non volatile et dispositif de memoire correspondant
EP1902369B1 (fr) Procede de gestion de memoire non volatile dans une carte a puce
FR2971349A1 (fr) Procede de reprogrammation d'un calculateur, support de memorisation de donnees et calculateur de vehicule automobile
WO2008087634A1 (fr) Procédé et système pour faciliter le réveil rapide d'un système de mémoire flash
US9122405B1 (en) Fast initialization of storage device
FR3101974A1 (fr) Procédé d’aide à l’identification de secteurs vierges d’une mémoire non-volatile d’un microcontrôleur
FR2897192A1 (fr) Procede de mise a jour securisee de memoire volatile
FR3026870A1 (fr) Dispositif de gestion du stockage de donnees.
FR3074317B1 (fr) Procede d'acces a une zone memoire non volatile de type flash d'un element securise, tel qu'une carte a puce
EP1467378B1 (fr) Procédé de mise à jour de données pour mémoire non volatile
CN115495287B (zh) 一种mlc nand的备份数据方法、装置及电子设备
FR2954538A1 (fr) Securisation de l'effacement d'une memoire de type flashprom.
EP4312128A1 (fr) Procede de gestion d'une memoire d'un element securise
EP2531921B1 (fr) Gestion du lieu de stockage de donnees dans un systeme de stockage distribue
EP4032000A1 (fr) Système sur puce et procédé garantissant la fraicheur des données stockées dans une mémoire extérieure
FR2888651A1 (fr) Procede pour la prise en compte automatique et le stockage persistant de parametres de personnalisation a priori volatils
EP1650766B1 (fr) Procédé de gestion pour l'effacement d'une mémoire de type flash, et compteur électrique comprenant une mémoire de type flash

Legal Events

Date Code Title Description
PLFP Fee payment

Year of fee payment: 9

PLFP Fee payment

Year of fee payment: 10

PLFP Fee payment

Year of fee payment: 11

PLFP Fee payment

Year of fee payment: 13

PLFP Fee payment

Year of fee payment: 14

PLFP Fee payment

Year of fee payment: 15

PLFP Fee payment

Year of fee payment: 16