Présentation de la technologie Flash

Classement Flash

Le nom complet de Flash est mémoire flash, généralement appelée « mémoire flash ». Il est souvent utilisé dans les domaines embarqués, tels que les téléphones mobiles, les plateformes, les cartes mères d'ordinateurs, etc. La plupart des périphériques de stockage mobiles tels que les clés USB, les cartes SD, les cartes MMC et les cartes TF utilisent également Flash comme support de stockage.

La mémoire flash peut être principalement divisée en plusieurs types : NOR Flash, NAND Flash, eMMC et UFS.

  • NOR Flash prend en charge l'exécution sur puce et peut exécuter du code directement dessus. Le pilote logiciel est plus simple que NAND. Généralement, le type NOR de petite capacité est utilisé car le NOR de petite capacité a une vitesse de lecture rapide. NOR Flash prend beaucoup de temps à effacer, mais il fournit un adressage et un bus de données complets et permet un accès aléatoire à n'importe quelle zone de la mémoire, ce qui le rend très approprié pour remplacer les anciennes puces ROM. À cette époque, les puces ROM étaient principalement utilisées pour stocker du code qui nécessitait rarement d'être mis à jour, comme le BIOS de l'ordinateur ou le firmware du décodeur (Set-top Box). NOR Flash peut supporter 10 000 à 1 million de cycles d'effacement et d'écriture et constitue la base des premiers supports de stockage flash amovibles.

  • Flash NAND : Type de flash NAND annoncé par Toshiba lors du Symposium international sur les circuits à semi-conducteurs (ISSCC) en 1989. Pour lire et écrire des données sur Nand Flash, un contrôle principal externe et une conception de circuit sont nécessaires. . NAND Flash a un temps d'effacement plus rapide et la surface de chaque cellule de mémoire est également plus petite, ce qui permet à NAND Flash d'avoir une densité de stockage plus élevée et un coût par bit inférieur à celui de NOR Flash. Dans le même temps, son effaçabilité est dix fois supérieure à celle du NOR Flash. Cependant, l'interface d'E/S de la Flash NAND ne dispose pas d'un bus d'adresse externe à accès aléatoire. Elle doit être lue par blocs. La taille de bloc typique de la Flash NAND est de plusieurs centaines à plusieurs milliers de bits.
    Étant donné que la plupart des microprocesseurs et microcontrôleurs nécessitent un accès aléatoire au niveau des octets, NAND Flash ne convient pas pour remplacer la ROM utilisée pour charger les programmes. De ce point de vue, NAND Flash ressemble davantage à des périphériques de stockage secondaires tels que des disques optiques et des disques durs. NAND Flash est très approprié pour une utilisation dans les périphériques de stockage de masse tels que les cartes mémoire. Le premier support de stockage amovible basé sur NAND Flash a été SmartMedia. Depuis lors, de nombreux supports de stockage ont également adopté NAND Flash, notamment les cartes MultiMediaCard, Secure Digital, Memory Stick et xD.

  • eMMC MMC (Embedded Multi Media Card) est établie par l'association MMC. eMMC est équivalent à NandFlash + circuit intégré de contrôle principal. Le protocole d'interface externe est le même que celui des cartes SD et TF. Il s'agit principalement d'une spécification standard pour la mémoire intégrée dans des produits tels que comme les téléphones portables ou les tablettes. . Un avantage évident de l'eMMC est qu'un contrôleur est intégré au package, qui fournit une interface standard et gère la mémoire flash, permettant aux fabricants de téléphones mobiles de se concentrer sur d'autres parties du développement de produits et de réduire les délais de commercialisation des produits. Ces fonctionnalités sont tout aussi importantes pour les fournisseurs de NAND qui souhaitent réduire la taille et le coût de la lithographie. eMMC se compose d'une solution de stockage intégrée avec une interface MMC (Multimedia Card), un périphérique de mémoire flash (Nand Flash) et un contrôleur hôte, le tout dans un petit boîtier BGA. Avec des vitesses d'interface allant jusqu'à 52 Mo par seconde, eMMC offre des performances rapides et évolutives. Dans le même temps, sa tension d'interface peut être de 1,8 V ou 3,3 V.

  • UFS (Universal Flash Storage), en parlant d'UFS, il faut parler de son prédécesseur eMMC. eMMC est une carte multimédia intégrée et une mémoire non volatile intégrée spécifiée par l'association JEDEC. Il utilise une technologie de transmission parallèle, et la lecture et l'écriture doivent être effectuées séparément. Bien qu'il ne fournisse que des fonctions de lecture et d'écriture monocanal, il présente toujours les avantages d'une petite taille, d'une intégration élevée et d'une faible complexité. La dernière norme eMMC 5.1 a une vitesse de lecture continue d'environ 250 Mo/s.
    UFS a été lancé pour la première fois par JEDEC en 2011. Il utilise une nouvelle technologie de transmission série et peut lire et écrire simultanément. La première génération d'UFS n'a pas été largement popularisée en raison de la faible différence de vitesse par rapport à la norme eMMC à l'époque et de son coût relativement élevé. Il a fallu attendre l'avènement du standard UFS 2.0 en 2014, avec une vitesse de lecture continue d'environ 800 Mo/s, pour que l'UFS devienne la configuration standard progressivement adoptée par les téléphones phares Android. La dernière norme UFS 3.1 actuelle a une vitesse de lecture continue d'environ 1 700 Mo/s. À l’heure actuelle, la vitesse de transmission de l’UFS est bien supérieure à celle de l’eMMC.

FTL

FTL, anciennement connu sous le nom de "Flash Translation Layer", fonctionne entre le flash nu (tel que nand flash, ni flash, spi flash, etc.) et le système de fichiers. Il simule le flash nu comme un périphérique bloc ordinaire. Le système de fichiers est monté le même que le disque dur, il n'y a donc pas lieu de s'inquiéter de la couche sous-jacente. De quel support matériel s'agit-il. Par conséquent, FTL intègre généralement la gestion des blocs défectueux, des algorithmes d'équilibrage dynamique, un mappage d'adresses linéaire et d'autres algorithmes. FTL fonctionne généralement côté CPU en tant que logiciel. Par exemple, les systèmes de fichiers yaffs et ubifs implémentent tous des fonctions FTL. Pour les mémoires de type eMMC et UFS, ils implémentent eux-mêmes des fonctions FTL.

MTD

Memory Technology Device est une technologie conçue et développée par le noyau Linux pour gérer uniformément le flash nu. Il résume les opérations flash mentionnées ci-dessus et fournit des interfaces standard pour les systèmes de fichiers de couche supérieure tels que jiffs, yaffs, yaffs2 et ubifs. MTD est l'équivalent de la technologie de partitionnement de disque sur PC. Un bloc entier de flash est partitionné selon la configuration (comme la table de partition dans le fichier dts du noyau), puis le système de fichiers est formaté sur chaque partition, de sorte que cette partition peut héberger Les fichiers ou images correspondants tels que BootLoader et le noyau sont disponibles. Il convient de noter que MTD ne peut pas gérer des appareils tels que eMMC et UFS.

Système de fichiers

Pour différents flash, différents systèmes de fichiers doivent être sélectionnés. Pour le flash nu tel que le flash NOR et le flash NAND, il n'y a pas de FEL lui-même et le système de fichiers doit implémenter des fonctions liées au FEL, telles que jiffs, yaffs et ubifs
.

Pour les flash tels que mmc emmc ufs SD, le périphérique de stockage matériel intègre l'algorithme FTL, de sorte que le système d'exploitation peut directement monter des systèmes de fichiers PC tels que ext4 ext3 FAT32.

Je suppose que tu aimes

Origine blog.csdn.net/linux_embedded/article/details/129736045
conseillé
Classement