Pour comprendre comment et pourquoi les SSD View on AMAZON sont différents des disques rotatifs, nous devons parler un peu des disques durs .
Un disque dur stocke les données sur une série de disques magnétiques rotatifs appelés plateaux. Il y a un bras actionneur auquel sont fixées des têtes de lecture/écriture. Ce bras positionne les têtes de lecture/écriture au-dessus de la bonne zone du disque pour lire ou écrire des informations.
Étant donné que les têtes de lecteur doivent être alignées avec une zone du lecteur afin de lire ou d’écrire des données (et que le lecteur tourne constamment), il existe un temps d’attente non nul avant que les données ne soient accessibles.
Le lecteur peut avoir besoin de lire à partir de plusieurs emplacements pour démarrer un programme ou charger un fichier, ce qui signifie qu’il peut devoir attendre plusieurs fois que les plateaux tournent dans la bonne position avant de pouvoir terminer la commande.
Si un disque est en mode veille ou à faible consommation d’énergie, cela peut prendre plusieurs secondes de plus pour que le disque tourne à pleine puissance et commence à fonctionner.
Dès le début, il était clair que les disques durs ne pouvaient pas atteindre les vitesses auxquelles les processeurs pouvaient fonctionner. La latence du disque dur se mesure en millisecondes, contre quelques nanosecondes pour votre processeur habituel.
Une milliseconde équivaut à 1 000 000 de nanosecondes, et il faut généralement 10 à 15 millisecondes à un disque dur pour trouver des données sur le disque et commencer à les lire.
L’industrie des disques durs a introduit des plateaux plus petits, des caches de mémoire sur disque et des vitesses de rotation plus élevées pour contrer cette tendance, mais les disques durs ne peuvent pas tourner plus vite.
La famille VelociRaptor de Western Digital, qui tourne à 10 000 tr/min, est l’ensemble de disques le plus rapide jamais construit pour le marché grand public, tandis que certains disques d’entreprise tournent jusqu’à 15 000 tr/min. Le problème est que même le disque qui tourne le plus vite,
En quoi les SSD sont-ils différents ?
Les disques SSD sont appelés ainsi parce qu’ils ne reposent pas sur des pièces mobiles ou des disques en rotation. Au lieu de cela, les données sont enregistrées dans un pool flash NAND.
La NAND elle-même est composée de transistors à grille flottante. Contrairement aux transistors utilisés dans les DRAM, qui doivent être rafraîchis plusieurs fois par seconde, le flash NAND est conçu pour maintenir son état de charge même lorsqu’il n’est pas alimenté. Cela fait de NAND un type de mémoire non volatile.
Le diagramme ci-dessus montre une conception simple de cellule flash. Les électrons sont stockés dans la grille flottante, qui se lit alors comme « 0 » chargé ou « 1 » non chargé.
Dans le flash NAND, un 0 signifie que les données sont stockées dans une cellule – c’est le contraire de la façon dont nous pensons habituellement à un zéro ou un. Le flash NAND est organisé en grille. La grille entière est appelée un bloc, tandis que les lignes individuelles qui composent la grille sont appelées une page.
Les tailles de page courantes sont 2K, 4K, 8K ou 16K, avec 128 à 256 pages par bloc. La taille des blocs varie donc généralement entre 256Ko et 4Mo.
L’un des avantages de ce système devrait être immédiatement évident. Étant donné que les SSD n’ont pas de pièces mobiles, ils peuvent fonctionner à des vitesses beaucoup plus rapides qu’un disque dur classique. Le graphique suivant montre la latence d’accès aux supports de stockage typique, exprimée en microsecondes.
La NAND est loin d’être aussi rapide que la mémoire principale, mais elle est de plusieurs ordres de grandeur plus rapide qu’un disque dur. Bien que les latences d’écriture soient nettement plus lentes pour la mémoire flash NAND que les latences de lecture, elles dépassent toujours les supports rotatifs traditionnels.
Il y a deux choses à noter dans le tableau ci-dessus. Tout d’abord, notez comment l’ajout de plus de bits par cellule de NAND a un impact significatif sur les performances de la mémoire.
C’est pire pour l’écriture que pour la lecture – la latence typique d’une cellule à trois niveaux (TLC) est 4 fois pire que celle d’une NAND à cellule à un niveau (SLC) pour la lecture, mais 6 fois pire pour l’écriture. Les latences d’effacement sont également fortement affectées.
L’impact n’est pas non plus proportionnel – TLC NAND est presque deux fois plus lent que MLC NAND, bien qu’il ne contienne que 50% de données en plus (trois bits par cellule au lieu de deux). Cela est également vrai pour les lecteurs QLC, qui stockent encore plus de bits à différents niveaux de tension dans la même cellule.
La raison pour laquelle TLC NAND est plus lent que MLC ou SLC est liée à la façon dont les données entrent et sortent de la cellule NAND. Avec SLC NAND, le contrôleur a seulement besoin de savoir si le bit est un 0 ou un 1. Avec MLC NAND, la cellule peut avoir quatre valeurs – 00, 01, 10 ou 11.
Avec TLC NAND, la cellule peut avoir huit valeurs. , et QLC a 16. Pour lire la valeur correcte de la cellule, le contrôleur de mémoire doit utiliser une tension précise pour déterminer si une cellule particulière est chargée.
Lire, écrire et effacer
L’une des limitations fonctionnelles des SSD est que s’ils peuvent lire et écrire des données très rapidement sur un disque vide, l’écrasement des données est beaucoup plus lent.
En effet, alors que les SSD lisent les données au niveau de la page (c’est-à-dire à partir de lignes individuelles dans la grille de mémoire NAND) et peuvent écrire au niveau de la page, en supposant que les cellules environnantes sont vides, ils ne peuvent effacer les données qu’au niveau du bloc.
En effet, l’effacement de la mémoire flash NAND nécessite une haute tension. Bien que vous puissiez théoriquement effacer les données NAND au niveau de la page, la quantité de tension requise force les cellules individuelles autour des cellules qui sont réécrites. L’effacement des données au niveau du bloc atténue ce problème.
La seule façon pour un SSD de mettre à jour une page existante est de copier le contenu du bloc entier en mémoire, d’effacer le bloc, puis d’écrire le contenu de l’ancien bloc + la page mise à jour.
Si le lecteur est plein et qu’aucune page vierge n’est disponible, le SSD doit d’abord trouver les blocs marqués pour suppression mais pas encore effacés, les effacer, puis écrire les données sur la page maintenant effacée.
C’est pourquoi les SSD peuvent devenir plus lents à mesure qu’ils vieillissent : un disque presque vide est plein de blocs qui peuvent être écrits immédiatement, un disque presque plein est plus susceptible d’être forcé à travers toute la séquence programme/effacement.
Si vous avez utilisé des disques SSD, vous avez probablement entendu parler de ce qu’on appelle la “récupération de la mémoire”.
La récupération de place est un processus d’arrière-plan qui permet d’atténuer l’impact sur les performances du cycle programme/effacement en effectuant certaines tâches d’arrière-plan. L’image suivante illustre les étapes du processus de collecte des déchets.
Notez dans cet exemple que le lecteur a profité du fait qu’il peut écrire des pages vides très rapidement en écrivant de nouvelles valeurs pour les quatre premiers blocs (A’-D’). Il a également écrit deux nouveaux blocs, E et H.
Les blocs A à D sont maintenant marqués comme obsolètes, ce qui signifie qu’ils contiennent des informations que le lecteur a marquées comme obsolètes. Pendant une période d’inactivité, le SSD déplacera les nouvelles pages vers un nouveau bloc, effacera l’ancien bloc et le marquera comme espace libre.
Cela signifie que la prochaine fois que le SSD devra effectuer une écriture, il pourra écrire directement dans le bloc X maintenant vide, plutôt que de passer par le cycle programme/effacement.
Le prochain concept dont je veux parler est TRIM. Lorsque vous supprimez un fichier Windows sur un disque dur standard, le fichier n’est pas supprimé immédiatement.
Au lieu de cela, le système d’exploitation indique au disque dur qu’il peut écraser la zone physique du lecteur où ces données ont été stockées la prochaine fois qu’il doit écrire. C’est pourquoi il est possible de restaurer des fichiers (et pourquoi la suppression de fichiers dans Windows ne libère généralement pas beaucoup d’espace disque physique avant de vider la corbeille).
Avec un disque dur traditionnel, le système d’exploitation n’a pas besoin de prêter attention à l’endroit où les données sont écrites ou à l’état relatif des blocs ou des pages. Avec un SSD, c’est important.
La commande TRIM permet au système d’exploitation d’indiquer au SSD qu’il peut ignorer la réécriture de certaines données la prochaine fois qu’il effectuera un effacement de bloc. Cela réduit la quantité totale de données que le lecteur écrit et augmente la longévité du SSD.
La lecture et l’écriture endommagent le flash NAND, mais l’écriture fait beaucoup plus de dégâts que la lecture. Heureusement, la longévité au niveau du bloc n’est pas un problème pour le flash NAND moderne. Plus de données sur la longévité des SSD peuvent être trouvées ici .
Les deux derniers concepts dont nous voulons parler sont le nivellement de l’usure et l’amplification de l’écriture. Étant donné que les SSD écrivent des données sur des pages mais effacent les données par blocs, la quantité de données écrites sur le disque est toujours supérieure à la mise à jour réelle.
Si vous apportez une modification à un fichier de 4 Ko, par exemple, le bloc entier dans lequel se trouve ce fichier 4K doit être mis à jour et réécrit. Selon le nombre de pages par bloc et la taille des pages, vous pourriez finir par écrire 4 Mo de données pour mettre à jour un fichier de 4 Ko. La récupération de place réduit l’impact de l’amplification d’écriture, tout comme la commande TRIM.
Le nivellement d’usure fait référence à la pratique consistant à s’assurer que certains blocs NAND ne sont pas écrits et effacés plus souvent que d’autres. Bien que le nivellement d’usure augmente de manière égale l’espérance de vie et l’endurance d’un disque écrivant sur NAND, il peut en fait augmenter l’amplification d’écriture.
Dans d’autres cas, pour répartir uniformément les écritures sur le disque, il est parfois nécessaire de planifier et d’effacer des blocs même si leur contenu n’a pas réellement changé. Un bon algorithme de nivellement d’usure cherche à équilibrer ces impacts.
contrôleur SSD
Il devrait être évident que les SSD nécessitent des mécanismes de contrôle beaucoup plus sophistiqués que les disques durs. Il ne s’agit pas de dissoudre les supports magnétiques – je pense en fait que les disques durs méritent plus de respect qu’ils n’en obtiennent.
Les défis mécaniques liés à l’équilibrage de plusieurs têtes de lecture-écriture à l’échelle nanométrique sur des plateaux qui tournent à 5 400-10 000 tr/min ne doivent pas être négligés.
Le fait que les disques durs relèvent ce défi tout en étant les pionniers de nouvelles méthodes d’enregistrement sur support magnétique et finissant par vendre des disques à 3-5 cents par gigaoctet est tout simplement incroyable.
Les contrôleurs SSD, cependant, sont dans une classe à part. Ils ont souvent un pool de mémoire DDR3 ou DDR4 pour aider à gérer la NAND elle-même. De nombreux disques intègrent également des caches cellulaires à un niveau qui agissent comme des tampons, augmentant les performances du disque en dédiant une NAND rapide aux cycles de lecture/écriture.
Étant donné que la mémoire flash NAND d’un SSD est généralement connectée au contrôleur via une série de canaux de mémoire parallèles, on pourrait penser que le contrôleur de disque effectue une partie du même travail d’équilibrage de charge qu’une baie de stockage haut de gamme.
lineup – Les SSD ne déploient pas de RAID en interne mais effectuent le nivellement SLC, la collecte des ordures et la gestion du cache ont tous des parallèles dans le grand monde du fer.
Certains disques utilisent également des algorithmes de compression de données pour réduire le nombre total d’écritures et améliorer la durée de vie du disque. Le contrôleur SSD gère la correction des erreurs et les algorithmes qui vérifient les erreurs sur un seul bit sont devenus de plus en plus complexes au fil du temps.
Malheureusement, nous ne pouvons pas entrer dans les détails sur les contrôleurs SSD car les entreprises verrouillent leurs diverses sauces secrètes. Une grande partie des performances de NAND Flash est déterminée par le contrôleur sous-jacent, et les entreprises ne sont pas prêtes à lever le voile sur la façon dont elles font ce qu’elles font de peur de donner un avantage à un concurrent.
Interfaces
Au début, les SSD utilisaient des ports SATA, tout comme les disques durs. Ces dernières années, nous avons assisté à une évolution vers les disques M.2 – des disques très fins, de plusieurs pouces de long, qui s’insèrent directement dans la carte mère (ou, dans quelques cas, dans un montage sur une carte riser PCIe Un Samsung 970 EVO Le lecteur Plus est illustré ci-dessous.
Les disques NVMe offrent des performances supérieures par rapport aux pilotes SATA traditionnels car ils prennent en charge une interface plus rapide. Les SSD conventionnels connectés via SATA atteignent une vitesse de lecture/écriture pratique d’environ 550 Mo/s. Les disques M.2 sont capables de performances nettement plus rapides dans la plage des 3,2 Gb/s.
La route à suivre
La mémoire flash NAND offre une énorme amélioration par rapport aux disques durs, mais elle n’est pas sans inconvénients ni défis. Les capacités des disques et le prix par gigaoctet devraient continuer à augmenter et à baisser respectivement, mais il est peu probable que les disques durs soient dépassés par les SSD en termes de prix par gigaoctet.
La réduction des nœuds de processus est un grand défi pour la mémoire flash NAND, alors que la plupart des matériels s’améliorent à mesure que le nœud rétrécit, la NAND devient plus fragile. Les temps de rétention des données et les performances d’écriture sont intrinsèquement plus faibles pour la NAND 20 nm que pour la NAND 40 nm, bien que la densité des données et la capacité totale soient considérablement améliorées.
Jusqu’à présent, nous avons vu des disques avec jusqu’à 96 couches sur le marché, et 128 couches semblent plausibles à ce stade. Dans l’ensemble, le passage à la NAND 3D a amélioré la densité sans réduire les nœuds de processus ni s’appuyer sur la mise à l’échelle planaire.
Jusqu’à présent, les fabricants de SSD ont obtenu de meilleures performances en offrant des normes de données plus rapides, plus de bande passante et plus de canaux par contrôleur, ainsi que l’utilisation des caches SLC que nous avons mentionnés précédemment. Cependant, à long terme, on suppose que la NAND sera remplacée par autre chose.
La forme que prendra cette autre chose est encore un sujet de débat. La RAM magnétique et la mémoire à changement de phase se sont présentées comme candidates, bien que ces deux technologies en soient encore à leurs balbutiements et soient confrontées à des défis importants pour concurrencer efficacement la NAND.
La question de savoir si les consommateurs remarqueraient la différence est ouverte. Si vous êtes passé de NAND à SSD, puis à un SSD plus rapide, vous savez probablement que l’écart entre les disques durs et les SSD est beaucoup plus grand que l’écart entre les SSD et les SSD, même lorsque vous partez d’un lecteur relativement modeste.
L’amélioration des temps d’accès de la milliseconde à la microseconde est très importante,
Le XPoint 3D d’Intel (commercialisé sous le nom d’Intel Optane) s’est imposé comme un challenger potentiel pour le flash NAND, et la seule technologie alternative actuelle dans la production actuelle.
Les SSD Optane n’utilisent pas de mémoire NAND – ils sont construits à l’aide d’une mémoire non volatile censée être implémentée de la même manière que la RAM à changement de phase – mais ils offrent des performances séquentielles similaires aux lecteurs flash NAND.
actuel, mais avec des performances nettement meilleures pour les files d’attente de lecteur faibles.
La latence des disques est également inférieure de moitié à celle des mémoires flash NAND (10 microsecondes, contre 20) et leur endurance est nettement supérieure (30 écritures complètes par jour, contre 10 écritures complètes par jour pour un SSD Intel haut de gamme).
Les premiers SSD Optane ont fait leurs débuts en tant qu’excellents modules d’extension pour Kaby Lake et Coffee Lake. View on AmazonOptane est également disponible sous forme de disques autonomes et dans divers rôles de serveur pour l’informatique d’entreprise.
Pour l’instant, Optane est encore trop cher pour égaler le flash NAND, qui bénéficie d’importantes économies d’échelle, mais cela pourrait changer à l’avenir. NAND restera le roi de la colline pendant au moins les 3-4 prochaines années.
Mais au-delà de cette période, nous pourrions voir Optane commencer à le remplacer en volume, deen attendant de savoir comment Intel et Micron font évoluer la technologie et comment le flash 3D NAND continue d’étendre ses couches cellulaires (les couches NAND 96 sont livrées par plusieurs acteurs), avec des feuilles de route pour 128 couches à l’horizon.