FR2848327A1 - Procede de gestion de l'ecriture dans une memoire - Google Patents
Procede de gestion de l'ecriture dans une memoire Download PDFInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
- G11C16/102—External 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)
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
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)
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 | 電子制御装置 |
-
2002
- 2002-12-06 FR FR0215482A patent/FR2848327B1/fr not_active Expired - Fee Related
-
2003
- 2003-12-03 WO PCT/EP2003/050938 patent/WO2004053884A1/fr active Application Filing
Patent Citations (7)
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)
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 |