Qu'est-ce qu'une puce mémoire flash ? Quels sont les types ?

Oct 24, 2023

1. Qu'est-ce qu'une puce de mémoire flash

La puce de mémoire flash est une gestion hiérarchique de la puce de l'unité de stockage de mémoire flash, la structure interne de haut en bas peut être exprimée comme suit : paquet de puce (paquet) → couche (die) → bloc (bloc) → page (page) → cellule de stockage (cellule). ). L'unité opérationnelle de la puce mémoire est la page (page), la capacité de chaque page est généralement de 4 Ko ou 8 Ko, et il existe une zone hors bande (Out of Band, OOB) en dehors de la zone de données de la page, généralement plus de 128 octets, généralement utilisés pour stocker les informations de métadonnées et les informations de vérification de la page.
2. Type de puce mémoire flash

Il existe également différents types de mémoire flash, qui sont principalement divisées en deux catégories de type NOR et de type NAND.

La différence entre la mémoire flash de type NOR et la mémoire flash de type NAND est très grande, par exemple, la mémoire flash de type NOR ressemble plus à de la mémoire, il y a une ligne d'adresse et une ligne de données indépendantes, mais le prix est plus cher, la capacité est relativement petite ; Le type NAND ressemble plus à un disque dur, la ligne d'adresse et la ligne de données sont des lignes d'E/S partagées, et toutes les informations similaires au disque dur sont transmises via une ligne de disque dur, et le type NAND est comparé à la mémoire flash de type NOR, le coût est inférieur et la capacité est beaucoup plus grande. Par conséquent, la mémoire flash NOR est plus adaptée aux occasions fréquentes de lecture et d'écriture aléatoires, généralement utilisée pour stocker le code du programme et s'exécuter directement dans la mémoire flash, le téléphone mobile utilise la mémoire flash NOR, de sorte que la capacité de « mémoire » du téléphone mobile est généralement pas grand; Le flash NAND est principalement utilisé pour stocker des données, et nos produits flash couramment utilisés, tels que les disques flash et les cartes mémoire numériques, sont des flash NAND.

3. Plusieurs états de fonctionnement de la puce de mémoire flash

(1) Opération de lecture par page

L'état par défaut de la puce de mémoire flash est lu. L'opération de lecture commence par l'écriture de l'adresse 00h dans le registre d'instructions via 4 cycles d'adresse. Une fois l’instruction verrouillée, l’opération de lecture ne peut pas être écrite dans la page suivante.

Vous pouvez sortir des données de manière aléatoire à partir d'une page en écrivant des instructions de sortie de données aléatoires. L'adresse des données peut être automatiquement trouvée à partir de l'adresse des données à sortir par des instructions de sortie aléatoires pour trouver l'adresse suivante. Les opérations de sortie de données aléatoires peuvent être utilisées plusieurs fois.

(2) Programmation des pages

La programmation de la puce flash s'effectue page par page, mais elle prend en charge plusieurs programmations de pages partielles dans un seul cycle de programmation de page, et le nombre d'octets consécutifs de la page partielle est de 2112. Écrivez l'instruction de confirmation de programmation de page (10h) pour démarrer le opération de programmation, mais vous devez également saisir des données en continu avant d'écrire l'instruction (10h).

Chargement continu des données Après l'écriture de l'instruction de saisie continue des données (80h), 4 cycles de saisie d'adresse et de chargement des données commenceront, tandis que le mot, contrairement aux données programmées, n'a pas besoin d'être chargé. La puce prend en charge la saisie de données aléatoires dans la page et peut automatiquement modifier l'adresse selon les instructions de saisie de données aléatoires (85h). La saisie aléatoire de données peut également être utilisée plusieurs fois.

(3) Programmation du cache

La programmation du cache est un type de programmation de page qui peut être effectuée par 2 112 octets de registres de données et n'est valide que dans un bloc. Étant donné que la puce flash dispose d'un cache de pages, elle peut effectuer une saisie continue des données lorsque le registre de données est compilé dans l'unité de mémoire. La programmation du cache ne peut commencer qu'une fois le cycle de programmation inachevé terminé et le registre de données transféré du cache. La broche R/B vous permet de déterminer si la programmation interne est terminée. Si le système utilise uniquement R/B pour surveiller le processus du programme, alors l'ordre du programme objet de la dernière page doit être organisé par l'instruction de programmation de la page actuelle.

(4) Réplication de l'unité de stockage

Cette fonctionnalité peut réécrire rapidement et efficacement les données d'une page sans avoir besoin d'accéder à la mémoire externe. Parce que le temps consacré à l’accès continu et au rechargement est réduit, les performances du système sont améliorées. Cela est particulièrement vrai lorsqu'une partie d'un bloc est mise à niveau et que le reste doit être copié dans un nouveau bloc. Cette opération est une instruction de lecture continue, mais ne nécessite pas d'accéder et de copier en permanence le programme à l'adresse de destination. Une instruction d'adresse de page originale de « 35 heures de lecture peut transférer la totalité des 2 112 octets de données dans le tampon de données interne ». Lorsque la puce revient à l'état prêt, l'instruction d'entrée de données de copie de page avec la boucle d'adresse de destination est écrite. La procédure d'erreur dans cette opération est indiquée par l'état "Réussite/échec". Cependant, si cette opération prend trop de temps à s'exécuter, elle provoquera une petite erreur de fonctionnement en raison de la perte de données, entraînant l'échec de la vérification de l'appareil d'erreur externe « Vérifier/corriger ». Pour cette raison, l'opération doit être corrigée à l'aide d'une erreur à deux chiffres.

(5) Effacer le bloc

L'opération d'effacement de la puce de mémoire flash est effectuée sur la base d'un bloc. Le chargement de l'adresse de bloc commence par une instruction d'effacement de bloc et se termine en deux boucles. En effet, lorsque les lignes d'adresse A12 à A17 sont suspendues, seules les lignes d'adresse A18 à A28 sont disponibles. Chargez l'instruction de confirmation d'effacement et l'adresse de bloc pour commencer l'effacement. Cela doit être fait dans cet ordre pour éviter d'effacer des erreurs du contenu de la mémoire affectées par du bruit externe.

(6) Lire l'état

Le registre d'état de la puce mémoire flash confirme que les opérations de programmation et d'effacement ont été effectuées avec succès. Après avoir écrit l'instruction (70h) dans le registre d'instructions, la boucle de lecture sort le contenu du registre d'état vers les E/S sur le front descendant de CE ou RE. Le registre d'instructions reste à l'état de lecture jusqu'à ce qu'une nouvelle instruction arrive, donc si le registre d'état est à l'état de lecture pendant une boucle de lecture aléatoire, une instruction de lecture doit être donnée avant le début de la boucle de lecture.