Les objets intelligents ont besoin de mémoire NAND
Transcription
Les objets intelligents ont besoin de mémoire NAND
A P P L I C A T I O N Mémoires embarquées Les objets intelligents ont besoin de mémoire NAND… intelligente ! Les concepteurs de systèmes embarqués ont besoin de mémoires NAND plus intelligentes, plus rapides, dotées d’une plus grande capacité et offrant une compatibilité ascendante avec les technologies antérieures. Les récentes mémoires eMMC, qui intègrent un contrôleur, vont dans ce sens. Elles sont le fruit d’une longue évolution, comme l’explique ici Toshiba. L a demande en mémoires numériques de type flash NAND explose aujourd’hui sous l’impulsion de l’utilisation croissante de dispositifs grand public et mobiles, des besoins exprimés par les secteurs automobile et industriel, et du marché naissant de l’Internet des objets (IoT ou Internet of Things). Or, depuis la mise sur le marché en 1984 des premières mémoires NAND (par Toshiba), le paysage technologique et le marché ont considérablement évolué. La densité de bits au sein des mémoires NAND a augmenté d’un facteur d’environ 2 000 en raison, d’une part, de la réduction de géométrie des processus de fabrication des circuits électroniques qui est passée de 700 nm à 15 nm et, d’autre part, de l’introduction de nouvelles technologies au niveau des cellules mémoire. Parallèlement à cette augmentation de densité, on a pu observer une baisse radicale du prix par gigaoctet qui a diminué encore plus rapidement que la densité de bits n’a augmenté (figure 1). Ce qui fait de la mémoire flash NAND un support de stockage aujourd’hui universellement utilisé dans les systèmes embarqués de toutes sortes. Cependant, même si le prix par bit a diminué, le passage aux toutes dernières technologies et aux tout derniers processus de fabrication de cellules n’est pas toujours une sinécure. L’un des grands défis auquel doivent notamment faire face ceux qui veulent utiliser les toutes dernières technologies de flash NAND au sein de leurs appareils est lié à l’intégration de moteurs de correction d’erreurs (ECC pour Error Correction Code) puissants à l’intérieur même des contrôleurs. Une course permanente est donc engagée 30 / L’EMBARQUÉ / N°11 / 2015 AUTEUR Eugen Pfumfel, ingénieur marketing mémoires, Toshiba Electronics Europe. entre les mémoires et les microcontrôleurs, et ces derniers ont parfois du mal à suivre ! Par exemple, un ECC de 1 bit pour chaque tranche de 512 octets suffit avec des cellules NAND SLC (Single Level Cell, ou cellule simple niveau) classiques jusqu’à des nœuds technologiques de 43 nm. Cette valeur monte à 8 bits d’ECC pour 512 octets de NAND SLC en 24 nm et a donc un impact significatif sur les performances sauf à utiliser un contrôleur de technologie beaucoup plus avancée. Le « nivelage d’usure » pour augmenter la durée de vie des cellules Bien que la technologie permettant de produire de la flash NAND avec des géométries encore plus fines existe, l’un des points à prendre en compte en premier lieu est la fiabilité de ces mémoires. Car, plus les cellules sont petites, plus leur endurance faiblit. Et c’est sans compter sur le fait que l’on a développé des cellules NAND capables de stocker désormais au-delà d’un bit par cellule. Ainsi, si les cellules NAND SLC peuvent stocker 1 bit par cellule, les cellules NAND MLC (Multi Level Cell, ou cellule à multiniveaux) peuvent en stocker 2 tandis que les cellules NAND TLC (Triple Level Cell, ou cellule triple niveau) peuvent stocker 3 bits par cellule. En fonction du type de cellule retenu, l’endurance à la lecture/écriture varie : les SLC peuvent endurer environ 60 000 cycles, les MLC environ 3 000 cycles, et les TLC seulement 500 cycles environ (sur la base du même algorithme ECC). Etant donné que les blocs de mémoire NAND se dégradent et s’usent avec le temps, une limite supérieure est fixée au nombre d’écritures de chaque emplacement mémoire NAND. De ce fait, des algorithmes dits de « nivelage d’usure » doivent également être intégrés aux contrôleurs NAND pour garantir que tous les emplacements mémoire NAND sont sollicités de manière équitable ou «nivelée». Un calcul supplémentaire qui est à la charge du contrôleur. Pour calculer l’espérance de vie du système sur la base de la fiabilité de la NAND, il est donc important de se souvenir que les fonctions de gestion mémoire entrainent plus d’opérations d’écriture dans chaque cellule que les seuls bits de données qui y sont initialement écrits. C’est parce que la gestion mémoire peut impliquer le déplacement des données d’un endroit à un autre et que plusieurs écritures peuvent survenir pour 1 EVOLUTION DU COÛT ET DE LA TECHNOLOGIE DES FLASH NAND La chute du coût de la flash NAND s’accompagne d’un surcoût des technologies ECC avec l’évolution des processus de fabrication des cellules. ECC (Error Correction Coding Coût 4 bit 8 bit 1 bit 4Xnm 3Xnm 2Xnm 4Xnm 3Xnm 2Xnm A P P L I C A T I O N Mémoires embarquées 2 PROCESSUS DE « GARBAGE COLLECTION » Le processus de garbage collection est destiné à créer des blocs de données libres. Recyclage du bloc 1 BLOC 1 L D D L D D L D L Bloc valide BLOC 2 L L D L L L F D L Bloc valide à déplacer BLOC 3 L F L L L L D F D Bloc mort BLOC 4 F L L F L L F D F Bloc libre Copie des blocs valides vers des places libres BLOC 1 D D D D D D D D BLOC 2 L L D L L L L D BLOC 3 L L L L L L D F BLOC 4 F L L L L L F D Suppression de données dans les blocs BLOC 1 F F F F F F F F BLOC 2 L L D L L L L D BLOC 3 L L L L L L D F BLOC 4 F L L L L L L D La mémoire NAND eMMC va encore plus loin que la BENAND pour faciliter la migration des fonctions de gestion mémoire. Elle intègre sensiblement la charge du processeur, et réduit donc les performances. Afin d’éviter de pénaliser celles-ci, les 3 COMPARAISON DES TECHNOLOGIES DE MÉMOIRES NAND La mémoire de type BENAND soulage le contrôleur hôte des tâches de calcul des algorithmes de correction d’erreurs, tandis que l’eMMC permet de se passer totalement d’un contrôleur NAND externe. Raw SLC NAND BENAND e•MMC SLC NAND SLC NAND Moteur de correction d’erreurs (ECC) MLC NAND Interface NAND commune Interface NAND commune ✔ Moteur de correction d’erreurs (ECC) ✔ Nivelage d’usure ✔ Mappage des adresses logiques vers des adresses physiques ✔ Ramassage de déchets ✔ Correction d’erreurs (ECC) ✔ Moteur de correction d’erreurs (ECC) ✔ Nivelage d’usure ✔ Mappage des adresses logiques vers des adresses physiques ✔ Ramassage de déchets ✔ Correction d’erreurs (ECC) CPU CPU Moteur de correction d’erreurs (ECC) Gestion de blocs défectueux Nivelage d’usure Ramassage de déchets (Garbage collection) Interface e•MMC Hôte Hôte Réduire la charge du contrôleur Dans de nombreux systèmes automobiles ou systèmes industriels existants qui utilisent de la mémoire NAND SLC dans certains processeurs de communication, la correction d’erreurs 1 bit est implémentée dans le logiciel hôte, et n’a pas d’impact significatif sur les performances de l’application. La migration vers des mémoires de dernière génération qui nécessitent une correction d’erreurs à 4, 8, voire 24 bits, augmente alors Eliminer le besoin de contrôleur NAND Hôte chaque bit de données à stocker. Alors que l’écriture de la NAND se fait page par page, les fonctions d’effacement s’appliquent quant à elles sur des blocs entiers (constitués de plusieurs pages). Pour préparer l’effacement d’un bloc, les données à conserver sont d’abord copiées dans d’autres blocs. Ce processus est appelé « garbage collection » (littéralement « ramassage des déchets »). Dépassement : - Copie des données valides - Suppression des blocs mémoires NAND à correction d’erreurs intégrée se sont imposées. Par exemple, la BENAND (Built-in ECC NAND, ou NAND à correction d’erreurs intégrée) de Toshiba offre ce type de solution, et soulage le processeur hôte des tâches de correction d’erreurs sans avoir à implanter un contrôleur plus puissant. La BENAND utilise en fait la même interface bien connue que la NAND classique, assurant ainsi la compatibilité avec les traditionnelles flash NAND SLC sur de nombreux points : jeu d’instructions, fonctionnement du dispositif, conditionnement et brochage. Le système hôte gère alors les blocs défectueux, le « nivelage d’usure », le mapping d’adresses, et le «garbage collection» de la même manière qu’avec la NAND SLC brute (figure 2). Les dispositifs BENAND existent en versions de1 Gbit à 8 Gbits conditionnées en boîtier standard TSOP-I-48-P ou BGA 63 billes, avec un brochage compatible avec celui des boîtiers SLC connus. Une version en boîtier BGA miniature de 6,5 x 8 mm à 67 billes est également disponible, et permet aux concepteurs de répondre aux contraintes d’encombrement restreint des nouvelles conceptions. CPU L’EMBARQUÉ / N°11 / 2015 / 31 A P P L I C A T I O N Mémoires embarquées 4 FONCTIONNEMENT DES MÉMOIRES UFS Comme la norme UFS utilise une interface série, les données peuvent être transférées simultanément dans les sens montant et descendant. Interface MMC (Multimedia Card) (Interface bus parallèle) Hôte Interface UFS (Universal Flash Storage) (Interface bus série) Hôte en effet dans un même boîtier de la mémoire flash NAND associée à un contrôleur. Ce dispositif, conforme aux normes JEDEC, est typiquement utilisé dans les smartphones, les tablettes, les décodeurs TV, les téléviseurs et aussi les modules informatiques industriels. Les contrôleurs embarqués effectuent des opérations telles que la correction d’erreurs, le nivelage d’usure et la gestion des blocs défectueux afin d’assurer un fonctionnement optimal de la mémoire (figure 3). Les solutions eMMC sont typiquement basées sur de la NAND MLC classique combinée à un contrôleur NAND. Dans cette approche, pour améliorer la fiabilité de la mémoire quand les données sont modifiées à haute fréquence, la mémoire MLC peut utiliser un mode appelé pSLC (pseudo-SLC, ou pseudo cellule à simple niveau) qui émule la NAND SLC en ne stockant qu’un seul bit dans chaque cellule MLC. Une technologie qui autorise une modification des données dix fois plus fréquemment qu’avec une mémoire MLC NAND normale, tout en conservant des niveaux de fiabilité comparables. Ce mode de fonctionnement trouve par exemple son utilité dans les applications de décodeurs TV qui peuvent mettre la TV en pause alors que des données sont très fréquemment réécrites. A noter que ce mode pSLC doit être activé lors de la première initialisation afin que le contrôleur NAND puisse ensuite gérer la mémoire MLC normalement. Ces mémoires eMMC de grande capacité peuvent aussi avoir recours à des techniques comme l’entrelacement qui per- 32 / L’EMBARQUÉ / N°11 / 2015 e•MMC Tx UFS Rx mettent d’accroître les performances en adressant plusieurs zones mémoire en parallèle. Pendant les opérations d’écriture ou d’effacement, le bus mémoire NAND est occupé et doit attendre une réponse. Si le contrôleur NAND intégré peut accéder à une autre puce NAND ou à un autre registre ou bus NAND, l’accès multiple (en lecture, en écriture ou en effacement) est alors possible. L’interface applicable aux mémoires eMMC est spécifiée par un organisme industriel dénommé JEDEC (Joint Electron Device Engineering Council appelé aussi JEDEC Solid State Technology Association) qui a normalisé l’interface pour assurer l’interopérabilité entre les produits de différents constructeurs. Une norme d’interface édictée par le Jedec L’interface de carte eMMC est donc normalisée sur un bus de données parallèle 8/4/1 bits avec quelques signaux de contrôle. En revanche, les interfaces de NAND brutes ne sont pas toujours normalisées et utilisent toujours un bus de données 8 bits parallèle et un plus grand nombre de broches de contrôle. La dernière version de la norme JEDEC, eMMC v5.0, définit une interface plus rapide (baptisée HS400) pour répondre aux besoins des systèmes à hautes performances. Une procédure de mise à jour est également prévue qui permet l’installation d’une nouvelle version du firmware du contrôleur eMMC, une fois le produit installé dans un système embarqué. Une fonction de notification d’état dite de « sommeil » permet en outre une transition plus sûre vers les modes sommeil à faible consommation. La fonctionnalité clé de toutes ces versions est la rétrocompatibilité avec les produits eMMC conformes aux versions précédentes de la norme, y compris au niveau du brochage. Côté technologie de fabrication, la tendance est d’aller vers des performances accrues, avec une consommation plus faible, dans des boîtiers plus denses. C’est pourquoi Toshiba utilise aujourd’hui un processus de fabrication en 15 nm pour que les mémoires flash eMMC répondent à ces exigences. Il faut aussi pouvoir étendre la durée de vie des anciens produits, et la BENAND répond à ce besoin en permettant aux concepteurs de spécifier les toutes dernières technologies NAND, sans avoir à mettre à jour le matériel du contrôleur. Autre évolution sensible : la volonté chez les utilisateurs d’intégrer ces mémoires dans des systèmes soumis à des environnements sévères. L’extension de la plage de température d’utilisation des mémoires flash NAND eMMC est donc d’actualité. Actuellement, en mode standard, cette plage pour les mémoires eMMC grand public va de - 25°C à +85°C, mais Toshiba a commencé à produire des dispositifs destinés aux applications industrielles et d’info-divertissement automobile, avec une plage de température opérationnelle allant de - 40°C à + 85°. Et si l’on regarde un peu plus encore vers le futur, les smartphones et les tablettes de super haut de gamme seront les premiers à aller au-delà du format actuel eMMC. Car la technologie évolue vers un nouveau format appelé UFS (Universal Flash Storage, ou stockage flash universel), qui en est encore au tout début de la production de masse. Avec un débit de données initial de 300 Mo/s (2,9 Gbit/s sur une voie), ces dispositifs visent en premier lieu le secteur de l’électronique grand public haut de gamme. Les spécifications des futures générations prévoient des débits sur une voie à 5,8 voire 11,6 Gbit/s, et des solutions multivoies pourront être mises en place. Les données pourront en effet être transférées sur le bus série simultanément dans les sens montant et descendant (figure 4). Et nul doute que dans quelques années, ces technologies seront largement adoptées par les systèmes embarqués industriels. n Logiciels & systèmes La force d’un média numérique intégré Site Internet + Newsletter + eMagazine ACCÈS ILLIMITÉ 1an 120 Abonnez-vous ! 6 mois e 60 e HT* HT* *TVA applicable : 20% ! BULLETIN D’ABONNEMENT Bulletin d’abonnement à compléter et à adresser accompagné de votre règlement à SAS Promedianum - 50, rue Arago - 59000 LILLE Je m’abonne pour un an à L’Embarqué au prix de 120 € HT (soit 144 € TTC) Je m’abonne pour 6 mois à L’Embarqué au prix de 60 € HT (soit 72 € TTC) et bénéficie d’un accès illimité à l’eMagazine numérique et à tous les contenus web réservés aux abonnés sur le site www.lembarque.com pendant la durée de mon abonnement Mr Mme Mlle Nom*........................................................ Prénom* ....................................... Société ......................................................................................................... Adresse ........................................................................................................ CP ........................ Ville ................................................................................ Je règle mon abonnement (prix TTC) par chèque ci-joint à l’ordre de Promedianum Je règle mon abonnement (prix TTC) par carte bancaire n° cryptogramme expire le Date et signature obligatoires e-mail* ......................................................................................................... Fonction................................................... Secteur ......................................... * Les champs marqués d’un astérisque sont obligatoires pour la prise en compte de votre abonnement Je souhaite recevoir une facture acquittée Après confirmation de votre règlement, un mot de passe vous sera communiqué afin d’accéder aux contenus réservés aux abonnés sur le site www.lembarque.com Loi Informatique et Libertés du 06/01/78 : les informations demandées sont indispensables au traitement de votre demande. Vous pouvez accéder aux informations vous concernant, les rectifier et vous opposer à leur transmission éventuelle en écrivant à Promedianum. Pour consulter nos CGV : http://www.lembarque.com/cgu/index/lang/fr. Promedianum, SASU au capital de 15 000 € - RCS Lille 790 606 933 00014 - TVA FR 91 790 606 933