Durée de vie restante d'une case EEPROM

Bonjour à tous et à toutes,

Je reviens encore avec une question qui me hante pour l'avancement de mon projet sur la Mega2560.

Est-il possible de savoir la durée de vie restante d'un octet de la EEPROM ?

Pour l'instant je ne vois qu'une solution qui est d'incrémenter une variable à chaque écriture puis au bout de la valeur de 99.900 (pour ne pas atteindre les 100.000 écritures) délaisser la case en question et écrire sur la case suivante.

Cette méthode me fait faire une opération en plus et je dois en plus sauvegarder cette variable dans une autre case, d'où ma question afin d'éviter de trop user ma EEPROM.

Je vous remercie.

Si vraiment la question te hante il y a en ce moment un autre sujet qui traite de l'utilisation d'une eeprom externe avec l'I2C. C'est là

Tu pourrai t'y interesser.

Tu pourrai faire des échanges préventifs en notant sur un octet tous les mille enregistrements.

Rappelle toi Pierre Dac et son biglotron : Le biglotron est un appareil à fiabilité absolue. Il ne tombe jamais en panne car dès qu'il détecte un risque de panne il se met en panne préventive.

Si tu risques d'arriver à la durée de vie de l'EEPROM c'est que tu as choisi la mauvaise technologie pour remplir ta fonction. Si tu dois faire de nombreuses écritures et que tu veux sauver le résultat, il y a d'autres technologies : - la NVRAM - la FRAM - il y a aussi des EEPROM avec des durées de vie plus importantes

De toutes les façons, la durée de vie d'une case mémoire est statistique elle peut très bien "mourir" avant la 100000ème écriture pour différentes raisons.

akuma8: Je reviens encore avec une question qui me hante pour l'avancement de mon projet sur la Mega2560.

Est-il possible de savoir la durée de vie restante d'un octet de la EEPROM ?

Pour l'instant je ne vois qu'une solution qui est d'incrémenter une variable à chaque écriture puis au bout de la valeur de 99.900 (pour ne pas atteindre les 100.000 écritures) délaisser la case en question et écrire sur la case suivante.

Cette méthode me fait faire une opération en plus et je dois en plus sauvegarder cette variable dans une autre case, d'où ma question afin d'éviter de trop user ma EEPROM.

Je vous remercie.

Bonsoir tu te fais quand meme un peu des noeuds au cerveau :grin: en dehors des solutions alternatives proposées plus haut tu peux aussi reduire la frequence d'ecriture dans une "case unique"

si tu souhaite une resolution à la minute

tu te reserve 60 bytes d'eeprom (un byte par minute, c'est du gachis mais bon :grin: ) 2 bytes pour les heures ( un unsigned int soit 65535 heures) et avec une petite gestion du temps ecoulé et de l'ecriture en eeprom tu te retrouve avec une ecriture à l'heure par "case unique" soit une esperance de vie de 100.000 heures , ce qui laisse quand meme un peu de temps au temps 8)

Artouste: Bonsoir tu te fais quand meme un peu des noeuds au cerveau :grin: en dehors des solutions alternatives proposées plus haut tu peux aussi reduire la frequence d'ecriture dans une "case unique"

si tu souhaite une resolution à la minute

tu te reserve 60 bytes d'eeprom (un byte par minute, c'est du gachis mais bon :grin: ) 2 bytes pour les heures ( un unsigned int soit 65535 heures) et avec une petite gestion du temps ecoulé et de l'ecriture en eeprom tu te retrouve avec une ecriture à l'heure par "case unique" soit une esperance de vie de 100.000 heures , ce qui laisse quand meme un peu de temps au temps 8)

Bonjour,

Mon utilisation de la EEPROM ne dépend pas du temps malheureusement mais c'est plus situationnel.

Je ne l'utilise pas non plus de manière intensive, en moyenne je suis à environ 6000 écritures par an ce qui me fait environ 16 ans de durée de vie de l'octet traité. C'est plus pour de la prévention que je souhaitais savoir s'il y a une façon plus simple de savoir si un octet va bientot lacher.

Bonjour,

un peu de lecture concernant la duree de vie d'une EEPROM.

flash-destroyer-wrap-up

en resume une EEPROM donnee pour 1.000.000 de cycle d'ecriture "claque" apres 11.490.000 tentatives.

Marge de securite importante prise par le fabricant.

Jacques