Pourquoi la mémoire flash doit-elle être écrite / effacée dans les pages / blocs?


10

Le titre dit tout.

J'essaie de comprendre le fonctionnement des technologies de mémoire flash, au niveau des transistors. Après pas mal de recherches, j'ai eu de bonnes intuitions sur les transistors à grille flottante et sur la façon dont on injecte des électrons ou les retire de la cellule. Je viens d'un milieu CS, donc ma compréhension des phénomènes physiques comme la tunnellisation ou l'injection d'électrons chauds est probablement assez fragile, mais je suis toujours à l'aise avec cela. Je me suis aussi fait une idée de la façon dont on lit à partir des dispositions de mémoire NOR ou NAND.

Mais j'ai lu partout que la mémoire flash ne peut être effacée qu'en unités de blocs et ne peut être écrite qu'en unités de page. Cependant, je n'ai trouvé aucune justification à cette limitation, et j'essaie de comprendre pourquoi il en est ainsi.

Réponses:


1

La meilleure réponse que j'ai trouvée à votre question est décrite dans la section Fonctionnement de la mémoire flash :

Les électrons dans les cellules d'une puce de mémoire flash peuvent être ramenés à la normale ("1") par l'application d'un champ électrique, une charge de tension plus élevée. La mémoire flash utilise un câblage en circuit pour appliquer le champ électrique à la puce entière ou à des sections prédéterminées appelées blocs. Cela efface la zone ciblée de la puce, qui peut ensuite être réécrite. La mémoire flash fonctionne beaucoup plus rapidement que les EEPROM traditionnelles car au lieu d'effacer un octet à la fois, elle efface un bloc ou la puce entière, puis la réécrit.

Je ne comprends pas pourquoi le "câblage en circuit" permet une programmation au niveau du bit (commutation de 1 à 0) mais cela pourrait être lié à la manière différente dont les transitions 1 à 0 sont effectuées (programmation via injection à chaud) par rapport à 0 à 1 transition (effacement via tunnel de Fowler-Nordheim).


6

C'est par définition. Une mémoire flash qui permet d'écrire des bits individuels est appelée EEPROM .

Flash diffère de l'EEPROM en ce que les effacements sont effectués en blocs plutôt qu'en bits individuels. L'effacement étant une opération relativement lente et devant être effectuée avant l'écriture, l'effacement dans un grand bloc accélère les opérations d'écriture de grande taille, grâce à l'effacement d'un grand nombre de bits en parallèle.

L'effacement en blocs permet également de simplifier le circuit intégré, en réduisant les coûts. Les économies d'échelle réduisent encore le coût du flash par rapport à l'EEPROM, car le flash est utilisé en grande quantité de nos jours pour les disques durs à semi-conducteurs, tandis que l'EEPROM est utilisé en beaucoup plus petites quantités.


merci pour cette réponse. Cette ligne de pensée explique-t-elle également en quelque sorte pourquoi les opérations d'écriture doivent être effectuées page par page?
Gyom

1
@Gyom ce n'est pas vrai de tous les types de flash. Parfois, la limitation est imposée par le protocole (par exemple, SATA n'a aucun moyen d'écrire moins de 512 "secteurs" octets). Selon le type de flash et le protocole utilisé pour y accéder, il peut être possible d'écrire un seul octet dans un bloc qui a été précédemment effacé.
Phil Frost

4

Vous avez raison dans le fait qu'il n'y a aucune justification physique pour devoir effacer en blocs.

La programmation d'une cellule se fait en créant un champ électrique entre le volume et la porte de contrôle comme indiqué sur la figure 1, et la même idée est valable pour effacer la cellule, un champ électrique dans la direction opposée ferait le travail comme indiqué sur la figure 2. entrez la description de l'image ici Cependant, pour des raisons constructives, il est relativement complexe de générer et d'utiliser la tension négative, de sorte que la stratégie utilisée est celle illustrée sur la figure 3, en définissant une haute tension en masse (qui est la référence de masse logique dans le secteur). Les transistors de sélection ne peuvent plus être utilisés, seules les portes de contrôle peuvent être entraînées à bas, ce qui force un effacement de secteur complet.


La mémoire flash par définition est effacée en bloc. C'est pourquoi ils sont appelés "flash", car avec une opération d'effacement, vous effacez plusieurs cellules en parallèle. Au lieu de cela, dans une EEPROM, vous devez le faire sur une base par octet, ce qui prend beaucoup plus de temps. Soit dit en passant, la tension d'effacement est répartie entre la tension de masse et la tension de grille (une positive, une négative). Il est beaucoup plus facile d'inverser une tension, en ce qui concerne la génération et la gestion de très hautes tensions.
prochain hack

La plupart des puces ont de nombreuses jonctions PN qui sont normalement biaisées de manière à ne pas conduire. Serait-il possible de polariser les fils de ligne et de colonne aux tensions nécessaires pour effacer une puce sans qu'aucune de ces jonctions PN n'interfère avec les choses? Il serait certainement possible d'utiliser différents types de puits flottants pour éviter les problèmes avec de telles jonctions PN, mais cela serait extrêmement coûteux par cellule.
supercat
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.