Pourquoi utiliserait-on encore une EEPROM normale au lieu de Flash?

34

Y a-t-il une raison pour laquelle les gens utilisent encore (et mettent en œuvre dans de nouveaux systèmes) des EEPROM normales au lieu de la mémoire flash, de nos jours?

De la mémoire flash wikipedia :

La mémoire flash a été développée à partir de l'EEPROM (mémoire à lecture seule programmable effaçable électriquement).

Y aurait-il des inconvénients (consommation d'énergie, espace, vitesse, etc.) à utiliser le flash au lieu de la mémoire EEPROM normale?


la source
Je pense que vous pourriez être confus entre EPROM (effaçable uniquement sous UV, généralement obsolète) et EEPROM (effaçable électriquement).
pjc50
@ pjc50 Je ne suis pas - j'ai cité la mauvaise partie du wiki, corrigé maintenant - merci :)
2
Flash est effacé par gros morceaux, alors que l'EEPROM peut être effacé par octet.
Jippie
2
Vous ne sauriez jamais qu'ils sont identiques à la lecture des fiches de données PIC ... ils ont même des assurances différentes. Mais je suppose que cela pourrait être du marketing. Après tout, ils ont également "Enhanced Flash". BTW, la mémoire EEPROM est allée sur le PIC 32, et le nombre minimal d’écritures de pages flash est de 4 000 octets.
Gbarry
2
@gbarry: Ce ne sont pas les mêmes. Flash est une EEPROM, mais toutes les EEPROM ne sont pas flashes. Rappelez-vous ce que signifie EEPROM, qui est une mémoire morte programmable effaçable électriquement .
Olin Lathrop

Réponses:

26

Pour être pédant, la mémoire FLASH n’est qu’une forme de mémoire EEPROM: il ya un aspect marketing / branding ici. De manière typique, la distinction utilisée aujourd'hui est que les EEPROMS sont effaçables / réinscriptibles sur un octet (ou mot de stockage ), tandis que FLASH est basé sur des blocs pour les opérations d'effacement / écriture.

Pertinent à la question:

  • Les EEPROM continuent d’être populaires en raison de leur classement maximum du cycle d’effacement / écriture, soit un ordre de grandeur ou deux supérieur à celui de FLASH
  • Comme les investissements dans la conception ont généralement été amortis au fil du temps, comme pour toute technologie mature, le coût de production et de test est réduit par rapport à une technologie plus récente.
Anindo Ghosh
la source
2
Tout le monde parle d'effacer un seul octet ou un bloc, mais quelle est la théorie derrière cela ?? Je peux aussi effacer n'importe quel nombre d'octets pour la mémoire flash !!!
La bête
1
@ Frankenstein, comment cela se fait-il?
Abdullah Kahraman
19

Le nombre de cycles d'écriture que la plupart des EEPROM peuvent gérer dépasse généralement de loin le nombre de cycles d'écriture que la plupart des mémoires flash peuvent gérer.

EEPROMS peut généralement gérer environ 100 000 à 1 000 000 d'écritures par cellule.
Le flash est généralement évalué à environ 1 000-100 000 écritures (il varie fortement en fonction du type de flash).

Un autre avantage de l'EEPROM par rapport au flash est que le flash doit généralement être effacé par blocs. Ainsi, si vos modèles d'écriture impliquent des écritures séquentielles sur un octet, vous utiliserez beaucoup plus de cycles d'écriture sur la mémoire flash que si vous utilisiez l'équivalent EEPROM équivalent. la mémoire peut généralement être effacée octet par octet, au lieu des utilisations du cycle d’effacement par bloc.

Fondamentalement, le flash est généralement effacé par blocs d'environ 64-512 kilo-octets. Par conséquent, pour chaque écriture n'importe où dans ce bloc, le contrôleur doit effacer le bloc entier, en utilisant un cycle d'écriture pour le bloc entier. Comme vous pouvez le constater, si vous réalisiez des écritures sur un octet de manière séquentielle sur chaque adresse d’un bloc, vous réaliseriez des écritures allant de 64 000 à 512 Ko sur l’ensemble du bloc, ce qui pourrait facilement utiliser toute l’endurance du flash en écriture.

En tant que telles, les EEPROM sont généralement utilisées dans des situations où le processeur local est petit et n’a pas la capacité de mettre en tampon les écritures sur chaque page flash.


Cela devient de moins en moins vrai à mesure que la technologie Flash avance. Il existe des circuits intégrés de mémoire flash qui incluent les installations pour la mise en mémoire tampon en écriture locale, ainsi que l'endurance en écriture sur la mémoire flash qui augmente considérablement.

Connor Wolf
la source
La taille d'un bloc d'effacement et d'un bloc d'écriture ne sont généralement pas les mêmes. De même, pour les flashes plus anciennes à un bit par cellule, il était possible d'écraser des blocs de manière fiable au moins une fois, tant que l'écriture ne nécessitait pas le passage d'une valeur de bit à l'état effacé. Par exemple, si 1 est l'état effacé, avec des blocs de 16 bits, vous pouvez écrire 0bxxxxxxxx11111111 et plus tard, 0bxxxxxxxxyyyyyyyyy (ou même 0b1010101111111111 et plus tard 0b00000000xxxxxxxx).
Paul A. Clayton
@ PaulA.Clayton - Bon point.
Connor Wolf
@ PaulA.Clayton: Je souhaiterais que les vendeurs de mémoire flash indiquent si on peut légitimement mettre à zéro une partie importante d'un bloc flash déjà écrit sans avoir à l'effacer au préalable. Pouvoir invalider expressément une page directement sans avoir à garder une trace ailleurs du fait que la page a été invalidée serait très utile.
Supercat