FR2848327A1 - Procede de gestion de l'ecriture dans une memoire - Google Patents

Procede de gestion de l'ecriture dans une memoire Download PDF

Info

Publication number
FR2848327A1
FR2848327A1 FR0215482A FR0215482A FR2848327A1 FR 2848327 A1 FR2848327 A1 FR 2848327A1 FR 0215482 A FR0215482 A FR 0215482A FR 0215482 A FR0215482 A FR 0215482A FR 2848327 A1 FR2848327 A1 FR 2848327A1
Authority
FR
France
Prior art keywords
line
cursor
writing
lines
state
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
FR0215482A
Other languages
English (en)
Other versions
FR2848327B1 (fr
Inventor
Patrick Dassier
Jerome Papineau
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 FR0215482A priority Critical patent/FR2848327B1/fr
Priority to PCT/EP2003/050938 priority patent/WO2004053884A1/fr
Publication of FR2848327A1 publication Critical patent/FR2848327A1/fr
Application granted granted Critical
Publication of FR2848327B1 publication Critical patent/FR2848327B1/fr
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • 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

Landscapes

  • Read Only Memory (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

L'invention se rapporte à un procédé de gestion de l'écriture dans une mémoire fonctionnant sur le principe d'une table tournante, l'écriture se faisant sur la ligne la plus ancienne. La mémoire comporte plusieurs ligne (L1 à L8) et chaque ligne comporte un curseur ne comprenant qu'un seul bit. L'état du curseur est inversé à chaque écriture sur la ligne correspondante Le repérage de la ligne la plus ancienne se fait en lisant dans l'ordre des lignes, le curseur de chaque ligne, la ligne la plus ancienne comporte le premier curseur dont l'état diffère de celui de la première ligne (L1 ; L2). Avantageusement, on détermine la validité de chaque ligne (L1 à L8) et on ne lit le curseur que pour des lignes valides (L2, L3, L6, L7, L8). L'invention trouve une utilité particulière pour une mémoire de type E.E.P.R.O.M.

Description

PROCEDE DE GESTION DE L'ECRITURE DANS UNE MEMOIRE
L'invention se rapporte à un procédé de gestion de l'écriture dans une mémoire fonctionnant-sur le principe d'une table tournante. Ce principe consiste à disposer de plusieurs lignes ordonnées dans la mémoire et d'écrire sur une ligne dans laquelle l'écriture est la plus ancienne. Cette ligne 5 est dite: ligne la plus ancienne. Le principe de la table tournante est, par exemple, utilisé lorsqu'on souhaite mémoriser l'historique d'événements enregistrés et que l'on dispose d'une mémoire à capacité limitée.
L'invention trouve une utilité particulière pour la mémorisation d'événement en cas de panne d'un équipement embarqué par exemple en 10 aéronautique. Plus précisément, dans un équipement particulier comme un instrument combiné de secours regroupant les fonctions d'altimètre, de tachymètre et horizon artificiel, il est nécessaire, en cas de panne de l'instrument, de mémoriser au moment de la panne, l'ensemble des paramètres qu'il affiche. Il est également nécessaire de mémoriser 15 l'historique des pannes, par exemple les 30 dernières pannes. Pour ce faire, on peut prévoir une mémoire comportant au moins 30 lignes, chacune affectée à la mémorisation des paramètres de l'instrument pour une panne.
Les lignes de la mémoire sont ordonnées de telle sorte que les paramètres relatifs à la première panne se mémorisent sur la première ligne et ainsi de 20 suite jusqu'aux paramètres relatifs à la trentième panne qui se mémorisent sur la trentième ligne. Ensuite, et afin de conserver l'historique des trente dernières pannes, les paramètres relatifs à la trente et unième panne se mémorisent sur la première ligne en remplacement des paramètres déjà inscrits sur la première ligne. Pour chaque panne suivante, on mémorise ces 25 paramètres en remplacement de ceux relatifs à la plus ancienne panne mémorisée dans la table.
Pour gérer ce type de table tournante, on utilise généralement un compteur utilisant plusieurs bits, par exemple un mot de 32 bits de chaque ligne. On inscrit dans ce compteur le numéro d'ordre de la panne, ou plus 30 généralement de l'événement, à enregistrer. Lorsque la panne suivante se produit, on recherche dans le compteur la valeur la plus grande et on enregistre sur la ligne suivante le numéro d'ordre et les paramètres relatifs à cette nouvelle panne. Ce procédé impose un espace important de la mémoire réservé au compteur et, par conséquent, une quantité importante d'informations non utiles à écrire pour chaque panne.
L'invention propose de pallier ces difficultés en proposant un procédé n'utilisant qu'un seul bit pour assurer le repérage de l'événement le 5 plus ancien. A cet effet, l'invention a pour objet un procédé de gestion de l'écriture dans une mémoire disposant de plusieurs lignes ordonnées, l'écriture se faisant sur la ligne la plus ancienne, caractérisé en ce que chaque ligne comporte un curseur ne comprenant qu'un seul bit, en ce que l'état du curseur est inversé à chaque écriture sur la ligne correspondante, en 10 ce que le repérage de la ligne la plus ancienne se fait en lisant dans l'ordre des lignes, le curseur de chaque ligne, la ligne la plus ancienne comportant le premier curseur dont l'état diffère de celui de la première ligne.
Le procédé de l'invention permet de réduire la taille d'une mémoire utilisée comme table tournante et, par conséquent, son prix.
1 5 L'invention trouve une utilité particulière mais non exclusive pour un type de mémoire couramment utilisée pour réaliser une table tournante en cas de panne d'un équipement aéronautique. Il s'agit de mémoire en lecture seule programmable et effaçable électriquement mieux connue sous le nom de EEPROM, nom issu de l'abréviation anglo-saxonne de: " Electrical 20 Erasable Programmable Read Only Memory ". Ce type de mémoire a un prix qui est fortement proportionnel à sa taille et a une durée de vie limitée en nombre d'écriture. Pour ce type de mémoire, on comprend l'intérêt de limiter à la fois la taille et aussi le nombre d'écritures.
L'invention sera mieux comprise et d'autres avantages apparaîtront à la lecture de la description détaillée d'un mode de réalisation, description illustrée par le dessin joint dans lequel: - la figure 1 représente le principe de l'invention appliqué à une table de huit lignes; - la figure 2 représente une amélioration du principe exposé à l'aide de la figure 1, amélioration pour laquelle on élimine les lignes invalides.
La figure 1 représente une mémoire partitionnée en huit lignes Ll à L8. Il est bien entendu que l'invention n'est pas limitée à huit lignes et 35 qu'elle peut être mise en oeuvre quel que soit le nombre de lignes. Chaque ligne comporte un emplacement d'un bit réservé à un curseur. Sur la figure 1, seul l'état 0 ou 1 du curseur a été représenté sur chaque ligne LI à L8. Les autres bits de chaque ligne peuvent recevoir des informations utiles relatives à des événements à mémoriser. L'écriture dans la mémoire des informations 5 utiles se fait par ligne et l'état du curseur de la ligne dans laquelle l'écriture se fait est inversé au moment de l'écriture des informations utiles. Dans un fonctionnement en table tournante, l'écriture se fait sur la ligne la plus ancienne et avant l'écriture, le repérage de cette ligne se fait en lisant dans l'ordre des lignes, le curseur de chaque ligne. La ligne la plus ancienne est 10 celle qui comporte le premier curseur, dans l'ordre des lignes, dont l'état diffère de celui de la première ligne.
Sur la figure 1, l'état du curseur a été représenté à quatre instants différents Tl à T4 donnés à titre d'exemple.
Au premier instant Tl, tous les curseurs sont à l'état 0. L'instant 1 5 Tl peut représenter un instant initial o aucune écriture n'a été faite dans la mémoire. L'instant Tl peut également suivre une écriture dans la dernière ligne L8 de la mémoire. Lorsque l'état de tous les curseurs est identique, lors de la phase de repérage de la ligne la plus ancienne, l'écriture se fait sur la première ligne LI.
A l'instant T2, les curseurs des lignes LI à L3 sont à l'état 0 et les curseurs des lignes L4 à L8 sont à l'état 1. La ligne la plus ancienne est la ligne L4 car l'état de son curseur diffère de celui de la ligne précédente L3.
A l'instant T3, les curseurs des lignes LI à L5 ont à l'état 1 et les curseurs des lignes L6 à L8 sont à l'état 0. La ligne la plus ancienne est la 25 ligne L6 car l'état de son curseur diffère de celui de la ligne précédente L5.
A partir des deux instants T2 et T3, on peut exprimer l'invention de la façon suivante: l'écriture se fait sur la ligne pour laquelle on a détecté un front, dans l'état du curseur. On définit un front comme étant un changement d'état soit de 0 à 1, soit de 1 à 0.
A l'instant T4, tous les curseurs sont à l'état 1 et le repérage de la ligne la plus ancienne se fait de la même façon que pour l'instant T1. La ligne la plus ancienne est la ligne Li.
La figure 2 représente la même mémoire que celle représentée sur la figure 1, c'est-à-dire une mémoire comportant huit lignes Li à L8. La 35 figure 2 permet de comprendre une variante avantageuse du procédé décrit à l'aide de la figure 1. Dans cette variante, on détermine la validité de chaque ligne et on ne lit le curseur que pour des lignes valides. Plus précisément pour déterminer la validité d'une ligne, lors de l'écriture sur la ligne considérée, on calcule une première somme de tous les bits à écrire sur la 5 ligne et on écrit cette première somme dans un emplacement de la ligne réservé à cet effet. Plus tard, lorsqu'on cherche à déterminer la validité d'une ligne, on calcule une seconde somme de tous les bits écrits de la ligne, on compare la seconde somme à celle écrite dans l'emplacement réservé, on déclare valide une ligne pour laquelle le résultat de la comparaison est exact 10 et on déclare invalide une ligne pour laquelle le résultat de la comparaison est faux. Ainsi, si l'écriture sur la ligne ne s'est pas fait correctement, par exemple pour un bit restant bloqué à un état inverse de l'état souhaité, la somme calculée lors de la détermination de la validité sera différente de celle écrite dans l'emplacement réservé et la ligne sera déclarée invalide et on ne 15 tiendra pas compte du curseur de cette ligne pour la détermination de la ligne la plus ancienne. D'autres procédés de détermination de la validité sont utilisables comme par exemple un procédé utilisant un code de redondance cyclique. Sur la figure 2, les lignes LI, L4 et L5 sont déclarées invalides. Le repérage de la ligne la plus ancienne ne se fait que sur les lignes déclarées 20 valides, c'est-à- dire les lignes L2, L3, L6, L7, L8 dont on analyse dans l'ordre l'état du curseur.
Par exemple, à l'instant T5, seul le curseur de la ligne L4 est à l'état 1. Le repérage de la ligne la plus ancienne commence par l'analyse du curseur de la ligne L2 puisque la ligne Li est déclarée invalide. Le repérage 25 se poursuit, dans l'ordre, par les curseurs des lignes L3, L6, L7 et L8. Ne trouvant aucun curseur dont l'état est différent de celui de la première ligne déclarée valide, c'est-à-dire la ligne L2, on écrit sur la ligne L2.
Autre exemple, à l'instant T6, les curseurs des lignes L2 et L3 sont à l'état 0 et les curseurs des lignes L6 à L8 sont à l'état 1. L'état des curseurs 30 des autres lignes, LI, L4 et L5 est indifférent dans la recherche de la ligne la plus ancienne. La détection d'un front dans l'état du curseur se fait sur la ligne L6 qui est la ligne la plus ancienne.
A l'instant T7, les curseurs des lignes L2 et L3 sont à l'état 1 et les curseurs des lignes L6 à L8 sont à l'état 0. L'état des curseurs des autres 35 lignes, Li, L4 et L5 est indifférent dans la recherche de la ligne la plus ancienne. La détection d'un front dans l'état du curseur se fait sur la ligne L6 qui est la ligne la plus ancienne.
Enfin, à l'instant T8, tous les curseurs des lignes déclarées valides sont à l'état 1 et comme pour l'instant T5, on écrit sur la ligne L2.

Claims (5)

REVENDICATIONS
1. Procédé de gestion de l'écriture dans une mémoire disposant de plusieurs lignes ordonnées (L1 à L8), l'écriture se faisant sur la ligne la plus ancienne, caractérisé en ce que chaque ligne comporte un curseur ne comprenant qu'un seul bit, en ce que l'état du curseur est inversé à chaque 5 écriture sur la ligne correspondante, en ce que le repérage de la ligne la plus ancienne se fait en lisant dans l'ordre des lignes, le curseur de chaque ligne, la ligne la plus ancienne comportant le premier curseur dont l'état diffère de celui de la première ligne (L1; L2).
2. Procédé selon la revendication 1, caractérisé en ce que si l'état de tous les curseurs est identique, lors de la phase de repérage de la ligne la plus ancienne, l'écriture se fait sur la première ligne (Ll; L2).
3. Procédé selon l'une des revendications précédentes, 15 caractérisé en ce qu'on détermine la validité de chaque ligne (L1 à L8) et on ne lit le curseur que pour des lignes valides (L2, L3, L6, L7, L8).
4. Procédé selon la revendication 3, caractérisé en ce que, lors de l'écriture sur une ligne, on calcule une première somme de tous les bits à 20 écrire sur la ligne, on écrit la première somme dans un emplacement réservé de la ligne, et en ce que, pour déterminer la validité de chaque ligne (L1 à L8), on calcule une seconde somme de tous les bits écrits de la ligne, on compare la seconde somme à celle écrite dans l'emplacement réservé, on déclare valide une ligne pour laquelle le résultat de la comparaison est exact 25 et on déclare invalide une ligne pour laquelle le résultat de la comparaison est faux.
5. Procédé selon l'une des revendications précédentes, caractérisé en ce que la mémoire est de type E.E.P.R.O.M. 30
FR0215482A 2002-12-06 2002-12-06 Procede de gestion de l'ecriture dans une memoire Expired - Fee Related FR2848327B1 (fr)

Priority Applications (2)

Application Number Priority Date Filing Date Title
FR0215482A FR2848327B1 (fr) 2002-12-06 2002-12-06 Procede de gestion de l'ecriture dans une memoire
PCT/EP2003/050938 WO2004053884A1 (fr) 2002-12-06 2003-12-03 Procede de gestion de l'ecriture dans une memoire

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR0215482A FR2848327B1 (fr) 2002-12-06 2002-12-06 Procede de gestion de l'ecriture dans une memoire

Publications (2)

Publication Number Publication Date
FR2848327A1 true FR2848327A1 (fr) 2004-06-11
FR2848327B1 FR2848327B1 (fr) 2005-02-25

Family

ID=32320078

Family Applications (1)

Application Number Title Priority Date Filing Date
FR0215482A Expired - Fee Related FR2848327B1 (fr) 2002-12-06 2002-12-06 Procede de gestion de l'ecriture dans une memoire

Country Status (2)

Country Link
FR (1) FR2848327B1 (fr)
WO (1) WO2004053884A1 (fr)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4095283A (en) * 1976-07-02 1978-06-13 International Business Machines Corporation First in-first out memory array containing special bits for replacement addressing
EP0398545A1 (fr) * 1989-05-19 1990-11-22 Delco Electronics Corporation Procédé et dispositif pour stockage de données dans une mémoire non volatile
FR2742893A1 (fr) * 1995-12-20 1997-06-27 Schlumberger Ind Sa Procede d'inscription d'une donnee dans une memoire reinscriptible
WO2000068794A1 (fr) * 1999-05-07 2000-11-16 Giesecke & Devrient Gmbh Procede d'ecriture sure d'un pointeur pour une memoire circulaire
US6351752B1 (en) * 1998-07-08 2002-02-26 Ncr Corporation Method and apparatus for detecting changes to a collection of objects
US20020049950A1 (en) * 2000-10-19 2002-04-25 Loaiza Juan R. Data integrity verification mechanism
JP2002334024A (ja) * 2001-05-11 2002-11-22 Denso Corp 電子制御装置

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4095283A (en) * 1976-07-02 1978-06-13 International Business Machines Corporation First in-first out memory array containing special bits for replacement addressing
EP0398545A1 (fr) * 1989-05-19 1990-11-22 Delco Electronics Corporation Procédé et dispositif pour stockage de données dans une mémoire non volatile
FR2742893A1 (fr) * 1995-12-20 1997-06-27 Schlumberger Ind Sa Procede d'inscription d'une donnee dans une memoire reinscriptible
US6351752B1 (en) * 1998-07-08 2002-02-26 Ncr Corporation Method and apparatus for detecting changes to a collection of objects
WO2000068794A1 (fr) * 1999-05-07 2000-11-16 Giesecke & Devrient Gmbh Procede d'ecriture sure d'un pointeur pour une memoire circulaire
US20020049950A1 (en) * 2000-10-19 2002-04-25 Loaiza Juan R. Data integrity verification mechanism
JP2002334024A (ja) * 2001-05-11 2002-11-22 Denso Corp 電子制御装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
PATENT ABSTRACTS OF JAPAN vol. 2003, no. 03 5 May 2003 (2003-05-05) *

Also Published As

Publication number Publication date
WO2004053884A1 (fr) 2004-06-24
FR2848327B1 (fr) 2005-02-25

Similar Documents

Publication Publication Date Title
EP0562669B1 (fr) Dispositif comportant une mémoire et des moyens pour valider des données inscrites dans cette mémoire
EP1080432B1 (fr) Systeme d'acquisition de donnees comprenant des moyens d'analyse et de stockage en temps reel
FR2752638A1 (fr) Methode pour synchroniser la presentation de composantes statiques et dynamiques d'un document multimedia interactif
FR2666425A1 (fr) Procede et dispositif de mise a jour d'informations dans une memoire et leur utilisation dans les cartes a memoire.
FR2787601A1 (fr) Systeme de memorisation comprenant des moyens de gestion d'une memoire avec anti-usure et procede de gestion anti-usure d'une memoire
FR2971069A1 (fr) Interface graphique pour l'acces a des applications
EP0756746A1 (fr) Procede de mise a jour securisee de memoire eeprom
EP3182292A1 (fr) Procédé de prédiction d'une donnée a précharger dans une mémoire cache
FR3055992A1 (fr) Gestion d'index dans une memoire flash
WO2003038620A2 (fr) Procede de memorisation de donnees avec correction d'erreur
FR2884329A1 (fr) Protection de donnees d'une memoire associee a un microprocesseur
FR2612317A1 (fr) Systeme de memorisation de donnees, du type support d'enregistrement de donnees portatif
FR2602363A1 (fr) Procede pour definir et modifier une partition sur l'espace de memorisation d'un support non effacable
WO1995020196A1 (fr) Procede de comparaison de fichiers informatiques
FR2848327A1 (fr) Procede de gestion de l'ecriture dans une memoire
FR2633767A1 (fr) Dispositif a memoire permettant la detection et la correction d'erreurs de donnees
EP0694842B1 (fr) Procédé et dispositif de sécurisation du déroulement de séquences linéaires d'ordres exécutés par un processeur
FR2746526A1 (fr) Procede pour conserver une base de donnees a organisation temporelle et spatiale
FR2778254A1 (fr) Circuits,systemes et procedes d'ordinateur utilisant un nettoyage partiel d'une memoire cache
JP2661131B2 (ja) 情報記憶読出方法とその装置
WO2008101890A1 (fr) Procedure d'acces d'une memoire non volatile pour montre
EP3246819B1 (fr) Compteur en mémoire flash
EP3522020B1 (fr) Gestion d'une mémoire non volatile
WO1998029844A1 (fr) Procede de securisation d'une donnee dans une memoire reinscriptible
BE1003630A6 (fr) Preservation amelioree des donnees pour la production de documents.

Legal Events

Date Code Title Description
ST Notification of lapse

Effective date: 20060831