Au revoir les têtes de lecture! Ou comment fonctionne la mémoire flash

Salut les Geektimes! Nous parlons souvent des avantages des SSD, démystifions les mythes sur les disques SSD , et récemment nous sommes même allés en production . Mais comment fonctionne en fait la mémoire flash? Quelle est la différence entre les différents types de NAND? Tous ceux qui souhaitent comprendre ces questions sont les bienvenus au chat.


Regardez dans le passé


Avant de commencer notre conversation, rappelons brièvement les disques durs. Comme vous le savez, ces derniers stockent des informations sur plusieurs plaques magnétiques, communément appelées plateaux. Sous une forme simplifiée, un actionneur à têtes de lecture reçoit des informations et pour terminer les processus de lecture / écriture, le disque tourne tout le temps. Cela n'a guère de sens de rester ici pendant longtemps, mais il est important de saisir le point.

Étant donné que le bloc de têtes de disque doit coïncider avec une certaine zone (piste) de lecture ou d'écriture de données et que le disque tourne constamment, il faut un certain temps avant qu'ils puissent accéder aux informations et le secteur souhaité sera sous la tête, surtout si les demandes sont chaotiques. Bien que le retard du disque dur soit mesuré en millisecondes, cela suffit pour faire attendre le CPU, dont le retard est mesuré en nanosecondes. En une milliseconde, un million de nanosecondes et en moyenne, le disque dur a besoin de 10 à 15 millisecondes pour rechercher des informations et commencer à les lire. Oui, il existe maintenant des solutions dont la vitesse de rotation atteint 15 000 tours par minute, mais même le disque dur le plus rapide ne sera pas aussi rapide que nous le souhaiterions.

Un peu de théorie


Peut-être que vous et moi nous contenterions de disques durs «très» rapides (comme Henry Ford l'a dit: «si je demandais aux gens ce qu'ils voulaient, ils me demanderaient de créer des chevaux rapides»), mais les fabricants de disques, parmi lesquels le vôtre humble serviteur, l'avantage ne s'arrête pas . Des disques SSD (disques SSD ou SSD) sont apparus, où les informations ne sont pas stockées sur des disques en rotation, mais à l'aide d'une mémoire flash NAND. Nous y reviendrons en détail.

Dans le cas de la NAND, les informations sont stockées dans un réseau de cellules de mémoire - ce sont des transistors à grille flottante (Floating Gate). Selon la direction de la tension, les électrons se déplacent entre la porte de contrôle et le canal NAND.

Dès qu'une tension est appliquée à la grille de commande, les électrons commencent à être attirés vers le haut - le champ électrique résultant les aide à atteindre la grille flottante, surmontant un obstacle en oxyde. Ce dernier agit comme un isolant, car c'est grâce à lui que les électrons ne se déplacent pas au-delà de la grille flottante. C'est ainsi que la programmation cellulaire se produit.


Le processus d'effacement de la cellule semble exactement le contraire - la tension est appliquée au canal, les électrons se déplacent de la grille flottante à travers l'oxyde en passant par la mise à la terre de la grille de contrôle.

Une cellule avec un seul transistor fonctionne comme suit. En fonction de la présence ou de l'absence de charge sur une grille flottante, l'état du transistor est déterminé s'il est ouvert ou fermé. Lorsque l'on considère l'alimentation en tension de la grille de commande comme l'initialisation de la cellule mémoire, on peut juger de la présence ou de l'absence de charge sur la grille flottante par la tension entre la source et le drain. Si vous placez un électron sur une grille flottante et appliquez une tension à la grille de commande, le transistor sera fermé. Nous obtenons une cellule mémoire qui peut stocker un bit. Lors de l'utilisation de la méthode d'injection d'électrons chauds, une tension est appliquée au drain et à la grille de commande, ce qui entraîne le mouvement des électrons à travers la barrière.


Une cellule à deux transistors est une modification d'un seul transistor. Dans ce cas, le transistor (normal) isole la ligne de bit du transistor à grille flottante.

La charge est supprimée de la grille flottante en appliquant une tension négative à la grille de commande (tension positive à la source). En conséquence, nous avons le tunnel Fowler - Nordheim: les électrons se déplacent (tunnel) de la région de la porte flottante à la source.

Cycle de réécriture. Avant de programmer une nouvelle cellule avec de nouveaux électrons, vous devez d'abord effacer les anciens. Dans la pratique, la plupart des utilisateurs n'ont pas à faire attention au nombre de cycles de réécriture, car la ressource SSD est facilement suffisante pour n'importe quelle quantité de données enregistrées. Certes, il y a des exceptions ennuyeuses, mais c'est pourquoigarantie du fabricant .

Dans les SSD, la mémoire flash est constituée de blocs, tandis que celle-ci est constituée de pages. Des informations sont écrites sur ces pages, et pour mettre à jour les données, il ne suffit pas de réécrire des pages non pertinentes. Ainsi, les données sont d'abord déplacées des anciennes pages vers les nouvelles, puis envoyées vers un autre bloc, et ce n'est qu'après que le bloc avec les données non pertinentes est effacé. Dès que le bloc est effacé, il sera libre d'écrire de nouvelles données. Un tel processus délicat - dans le format visuel, il semble beaucoup plus compréhensible.


De toute évidence, l'absence de disques mobiles (et en fait de pièces mobiles) est l'un des principaux avantages des SSD par rapport aux disques durs, et c'est ce qui permet aux SSD de fonctionner à des vitesses nettement supérieures aux disques durs. Pour plus de clarté, voici un tableau récapitulatif du temps de retard de différents types de NAND et de disque dur.


SLC, MLC, TLC ne sont pas seulement des abréviations, elles indiquent le nombre de bits dans chaque cellule. Pour SLC (Single), c'est un bit, pour MLC (Multi), deux bits, pour TLC (Triple), respectivement, trois bits. Pour cette raison, le MLC stocke deux fois plus d'informations que le SLC, et cela malgré le fait que le nombre de cellules est le même. En général, le principe de fonctionnement pour ces types de NAND est le même, ce qui ne peut pas être dit sur l'endurance.

Sur une période de temps, la structure physique des cellules peut être sujette à usure en raison d'une diminution de la couche d'oxyde provoquée par l'activité électronique. En conséquence, les électrons accumulent une charge négative et se coincent, une tension plus élevée est appliquée et la couche d'oxyde diminue à nouveau. Un tel cercle vicieux se révèle.

SLC, MLC et TLC diffèrent en endurance. Si, par exemple, nous prenons un cristal NAND avec une densité de 16 Gbit, nous obtenons un SLC de 16 Gbit malgré le fait qu'il y ait un bit dans chaque cellule. En conséquence, pour MLC, il sera de 32 Gbps et pour TLC - 48 Gbps. Certes, dans ce dernier cas, le cristal NAND doit encore être coupé, par conséquent, l'équivalent de 32 Gbit est obtenu pour MLC. Selon vous, qui est capable de résister aux plus grands changements de tension?

Avec deux niveaux (0,1), SLC a le meilleur indicateur pour ce paramètre - ce type de NAND résiste à une large gamme de fluctuations de tension. Avec des niveaux croissants, cette plage diminue, par conséquent, TLC avec ses 8 niveaux et 3 bits dans une cellule a le plus petit nombre de cycles de réécriture.

Les problèmes de réduction des puces étant depuis longtemps un problème, la 3D NAND remplace la mémoire flash NAND plane moderne. Il est moins sensible à l'usure en raison de l'absence de besoin d'une haute tension lors de l'écriture de données dans la cellule. Les fabricants développent activement ce domaine et donnent leurs propres noms de technologie (pour Samsung - 3D V-NAND, pour Toshiba - BiCS 3D NAND et ainsi de suite). Le fait est que dans ce cas, nous obtenons un cylindre avec une couche supérieure dans le rôle d'un volet de contrôle, tandis que la couche intérieure agit comme un isolant. Les cellules elles-mêmes sont situées les unes sous les autres, formant une pile. La logique de commande est située sous la matrice mémoire, la zone de la puce est libérée, où ils retrouvent ensuite le "home" de la cellule mémoire.



Un peu de pratique


Nous ne pouvons pas observer tout ce qui précède par nous-mêmes (du moins sans équipement spécial). Et voici comment tout se passe après la fabrication de circuits imprimés, le soudage, l'installation de puces et de microcircuits:


OCZ Trion 150

Ici, nous voyons à la fois des microcircuits de mémoire flash et de tampon et un contrôleur soigneusement recouvert d'une bande de caoutchouc thermique. Oui, le sujet ici ne concerne pas le périphérique SSD, mais le travail de la mémoire flash, mais sans contrôleur, il n'y a nulle part. Et voici pourquoi.

Le contrôleur distribue l'enregistrement dans les cellules de la mémoire flash, lit à partir de la mémoire et des cellules TRIM (plus à ce sujet plus tard) - en général, la phrase «nous n'avons pas d'irremplaçable» ne le concerne pas. C'est lui qui contrôle le transfert des données, tant sur SATA que sur PCIe, diffuse les informations sur NAND pour moins d'usure. Sans l'aide du firmware, bien sûr, on ne peut pas faire ici.

Le contrôleur est connecté à la mémoire flash en parallèle et, comme vous pouvez le voir, remplit l'un des rôles clés. Le Trion 150, par exemple, utilise le contrôleur Toshiba, tandis que le Vertex 460A 0 possède déjà le Barefoot 3 M10 d'OCZ.


Oh oui, j'ai presque oublié le cache. C'est un compagnon de contrôleur fiable: dès que la commande pour changer le fichier en SSD est donnée, le bloc entre d'abord dans la mémoire cache, où le changement a lieu. À ce stade, les données non pertinentes dans NAND sont supprimées et le contrôleur trouve où placer les informations qui ont été placées dans le tampon. Le principe principal est de choisir une cellule avec le moins d'usure, c'est ce que fait le contrôleur, après sa commande, les données modifiées sont envoyées dans une nouvelle "maison".

Désormais, la plupart des SSD, y compris ceux d'OCZ, prennent également en charge TRIM, une technologie spéciale qui note les données non pertinentes. Dans ce cas, les informations inutiles ne sont pas enregistrées dans d'autres blocs de mémoire, ce qui affecte favorablement non seulement le nombre de cycles de réécriture, mais également la vitesse d'enregistrement elle-même.

Moment de philosophie


Évidemment, par rapport aux disques durs conventionnels, la NAND est une véritable percée, mais elle a aussi ses propres problèmes et inconvénients. Oui, la NAND a de grandes perspectives en termes de capacité de stockage, mais le prix par gigaoctet laisse beaucoup à désirer. Il est peu probable que dans un avenir proche, ce paramètre soit en mesure de "capturer" les disques durs.

Grâce à l'utilisation de caches SLC et de normes de données rapides, les SSD sont devenus encore plus productifs, ont une bonne bande passante. Néanmoins, à long terme, on suppose que quelque chose d'autre viendra remplacer la NAND. Et en fait, 3D NAND - la première "cloche", qui indique cela.

Maintenant NAND est certainement à cheval - ils disent vrai roi de la colline. Et il restera ce roi pendant au moins les 4-5 prochaines années.

Source: https://habr.com/ru/post/fr392891/


All Articles