Quelles sont les différences entre le flash NAND et le flash NOR?

37

Quelles sont les différences et où utiliseriez-vous chacune?

JeffV
la source

Réponses:

22

Il y a beaucoup de compromis à faire.

Wikipedia aussi:

Malgré les transistors supplémentaires, la réduction des fils de terre et des lignes de bits permet une configuration plus dense et une plus grande capacité de stockage par puce. De plus, la mémoire flash NAND est généralement autorisée à contenir un certain nombre de pannes (la mémoire flash NOR, utilisée dans une mémoire ROM du BIOS, est censée être sans défaut). Les fabricants tentent de maximiser la quantité de mémoire utilisable en réduisant la taille du transistor au-dessous de la taille où ils peuvent être fabriqués de manière fiable, à une taille où des réductions supplémentaires augmenteraient le nombre de défauts plus rapidement que le stockage total disponible.

Donc, le flash NOR peut s’adresser plus facilement, mais n’est même pas aussi dense.

Si vous regardez un PDF de comparaison assez décent.

NOR a une puissance en veille réduite, est facile à exécuter et a une vitesse de lecture élevée.

NAND a une puissance active beaucoup plus faible (l'écriture des bits est plus rapide et moins onéreuse), une vitesse d'écriture plus élevée (de beaucoup), une capacité beaucoup plus grande, un coût par bit beaucoup plus bas et est très facile à utiliser pour le stockage de fichiers. En raison de sa vitesse de lecture plus faible lors de son utilisation pour l’exécution de code, vous devez vraiment l’imaginer.

Pour citer une petite section avec une grande table au-dessus de celle-ci ...

Les caractéristiques de la mémoire flash NAND sont les suivantes: densité élevée, vitesse de lecture moyenne, vitesse d'écriture élevée, vitesse d'effacement élevée et accès indirect ou semblable aux E / S. Les caractéristiques du flash NOR sont une densité plus faible, une vitesse de lecture élevée, une vitesse d'écriture lente, une vitesse d'effacement lente et une interface à accès aléatoire.

Kortuk
la source
22

Le flash NAND est moins cher, vous devez donc l'utiliser si vous le pouvez. L'inconvénient est que ce n'est pas aussi fiable. La mémoire flash NAND est plus rapide dans la plupart des opérations, à l'exception notable des petites lectures à accès aléatoire. Si vous voulez lire quelques octets d'une adresse aléatoire en mémoire, NOR est plus rapide. Pour les lectures de mémoire volumineuses, la NAND réussit raisonnablement bien et bat NOR plutôt que pour des morceaux suffisamment volumineux.

La plupart des systèmes d'exploitation intégrés incluent un code permettant de corriger les erreurs dans NAND Flash. Il existe également des microcontrôleurs avec correction d'erreur matérielle. Le vrai problème se produit au moment du démarrage: les chargeurs de premier niveau ne disposent pas de code de correction d'erreur, et ils n'ont pas encore configuré le contrôleur de mémoire pour exécuter le matériel ECC. C'est un peu un problème d'œuf et de poule - vous ne pouvez pas charger le code ECC sans erreurs car vous n'avez pas encore chargé le code ECC.

Pour contourner ce problème, certains fabricants de mémoire spécifieront une certaine région de la puce qui garantit l’absence d’erreur (les 4 premiers Ko, ou quelque chose du genre). Vous installez un chargeur de démarrage avec le logiciel ECC (comme U-boot ), vous le lisez sans erreur, puis vous l'utilisez pour lire le noyau de votre système d'exploitation, en corrigeant les erreurs au fur et à mesure. Vous pouvez également stocker un chargeur de démarrage dans une mémoire flash série et utiliser simplement la mémoire flash NAND pour des éléments volumineux tels qu'un noyau de système d'exploitation ou un système de fichiers.

J'ai trouvé cette note d'application Atmel utile: http://www.atmel.com/dyn/resources/prod_documents/doc6255.pdf

pingswept
la source
2
Une conséquence de la faible fiabilité de la mémoire flash NAND est que, bien que les périphériques flash NAND permettent des lectures aléatoires d'octets individuels (avec un peu de temps d'installation), il n'est pas vraiment possible de lire moins d'une page à moins d'inclure des informations de correction d'erreur par petits morceaux ( Par exemple, on pourrait écrire chaque octet sur 16 bits et être capable de détecter toutes les erreurs à un ou deux bits, au prix de pouvoir stocker la moitié moins d'informations).
Supercat
5

NOR permet un accès aléatoire, mais pas NAND (accès page uniquement).

De Wikipedia :

NOR et NAND flash tirent leur nom de la structure des interconnexions entre les cellules de mémoire. En flash NOR, les cellules sont connectées en parallèle aux lignes de bits, ce qui permet aux cellules d'être lues et programmées individuellement. La connexion parallèle de cellules ressemble à la connexion parallèle de transistors dans une porte NOR CMOS. Dans la mémoire flash NAND, les cellules sont connectées en série, ce qui ressemble à une porte NAND. Les connexions en série consomment moins d'espace que les connexions en parallèle, ce qui réduit le coût de la mémoire flash NAND. Cela n'empêche pas, en soi, que les cellules NAND soient lues et programmées individuellement.

Thomas O
la source