Espérance de vie RAM du microcontrôleur

15

Une variable dans la RAM du microcontrôleur change 50 fois / seconde. Cela dégrade-t-il à long terme l'emplacement mémoire du MCU? Si tel est le cas, pendant combien de temps l'emplacement mémoire est-il censé être actif?

John
la source
9
Dans les processeurs plus généraux, certaines variables changent des milliards de fois par seconde (pensez au TSC en x86), et fonctionnent sans se dégrader pendant des décennies ... Je dirais à peu près éternel
anrieff
2
C'est probablement SRAM, fabriqué à partir de transistors identiques au compteur de programme dans le CPU.
Colin
Regardez dans la fiche technique sous endurance RAM. La série TI MSP430FR a une endurance de lecture et d'écriture FRAM d'au moins 10 ^ 15 cycles.
Peter Karlsen
8
@PeterKarlsen la question ne concerne pas FRAM qui est une technologie distincte. Une RAM ordinaire n'aura pas de spécification donnée pour cela. Même dans le MSP430, la FRAM ne joue pas le rôle de "RAM" et ne serait donc pas là où se trouve une variable ordinaire, mais devient plutôt le stockage semi-permanent où d'autres parties utiliseraient généralement FLASH ou EEPROM.
Chris Stratton

Réponses:

28

SRAM , DRAM a une endurance infinie.

FLASH , FRAM et EEPROM ont une endurance limitée.

SRAM est fabriqué avec des transistors ou des mosfets. C'est un composant actif qui perd son état lorsque l'alimentation est coupée.

Cellule SRAM

La DRAM utilise de minuscules condensateurs pour stocker temporairement les données, celles-ci sont actualisées en continu par le contrôleur de mémoire car ces condensateurs fuient. La DRAM et la SRAM fonctionneront jusqu'à ce que la dégradation du matériau rende la pièce inutilisable. (décennies)

FLASH et EEPROM fonctionnent de manière similaire, en utilisant des effets capacitifs sur les portes des fets, et ceux-ci ont une endurance limitée. "L'usure du flash" est causée par l'effacement dû à l'accumulation lente de charge autour des cellules du flash pendant l'effacement. Lorsque le flash est effacé, il est effacé sur une logique 1 par une tension "haute".

FRAM fonctionne magnétiquement, il a également une endurance limitée. Mais les cycles d'écriture sont dans les milliers de milliards, presque infinis.

Jeroen3
la source
13

L' espérance de vie RAM n'existe pas . Vous pouvez avoir cette mauvaise impression car il existe un nombre limité de cycles d'effacement que vous pouvez appliquer aux cellules EPROM et EEPROM (flash).

Pour les cellules EPROM / EEPROM, la raison pour laquelle vous ne pouvez pas les effacer de manière illimitée est qu'elles produisent des fuites à chaque cycle d'effacement. C'est comme un seau que vous manipulez pas trop soigneusement. Mais il est crucial pour la fonction que les fuites ne soient pas trop importantes, donc les informations sont conservées à l'état non alimenté.

Pour la RAM, ce problème ne s'applique pas:

  • La DRAM est si fuyante de par sa conception qu'elle perd des informations en quelques ms, de sorte que le contrôleur RAM doit les lire et les recharger au besoin. Naturellement, cela ne fonctionne que lorsque la RAM est alimentée.

  • La SRAM est également étanche, mais au lieu d'un contrôleur RAM, chaque cellule a un circuit de rétroaction positive qui maintient l'un des deux seaux rempli et l'autre vidé. Naturellement, cela ne fonctionne que lorsque la RAM est alimentée.

Janka
la source
@ Janka & Jeroen3: Merci beaucoup pour cette clarification en profondeur.
John
8

J'ai trouvé un document sur les taux d'erreurs logicielles, qui mentionne également un taux d'erreur dur pour SRAM. La SRAM est généralement utilisée dans les microcontrôleurs, elle devrait donc être applicable.

Le paragraphe se lit comme suit:

Mis à part les erreurs douces, les particules de haute énergie peuvent endommager définitivement les cellules de la mémoire. Ces erreurs «dures» présentent des taux d’erreur fortement liés aux taux d’erreurs légères [29], diversement estimés à 2% des erreurs totales [26] ou «un ou deux ordres de grandeur de moins que les taux d’erreurs légères - souvent de l’ordre de 5 à 20 FIT [7] ”. Une erreur matérielle d'un bit peut être corrigée avec ECC *, comme s'il s'agissait d'une erreur logicielle; cependant, l'erreur se reproduira chaque fois que la mauvaise cellule est utilisée. À mesure que les erreurs matérielles s'accumulent, elles rendent finalement le périphérique de mémoire inutilisable. Récemment, très peu de dispositifs de mémoire de pointe ont incorporé de nouvelles technologies d'auto-réparation pour réparer les erreurs graves; ces technologies sortent du cadre de cet article.

Donc 5 à 20 FIT. Si le FIT ne signifie rien pour vous: le taux de défaillances dans le temps (FIT) d'un appareil est le nombre de défaillances qui peuvent être attendues dans un milliard (10 ^ 9) d'heures de fonctionnement de l'appareil.

Ainsi, le temps moyen entre les pannes (MTBF) serait de 10 ^ 9 heures divisé par 20, et c'est à peu près 5700 ans.

Et généralement, ces chiffres FIT sont plutôt pessimistes.

Vous ne verrez probablement pas un échec SRAM qui ne voit pas de stress anormal. Vous remarquerez peut-être que dans le modèle d'échec décrit, il n'y a aucun lien avec l'utilisation de la cellule. Comme les autres l'ont dit, une SRAM correctement conçue ne se dégradera pas lors de l'utilisation.

Arsenal
la source
3
Il convient de noter que vous obtiendrez des dommages sur tout semi-conducteur si vous les bombardez avec des particules de haute énergie. C'est pourquoi les pièces rigides sont souvent blindées.
Jeroen3
1
Bien que cela soit vrai, c'est une question différente de la question du PO. Les dommages causés par des particules à haute énergie sont un effet entièrement externe, au même titre que les dommages causés par une décharge statique ou un impact physique. L'OP a posé des questions sur les dommages possibles à la RAM dus au changement d'état des cellules de mémoire en fonctionnement normal.
Graham
@Graham le fait que pour les erreurs graves l'utilisation normale n'est même pas considérée parle pour moi-même, ce que j'ai également exprimé dans la réponse.
Arsenal