Cache DRAM des SSD vs sans DRAM : votre prochain disque en a-t-il vraiment besoin ?

Cache DRAM des SSD vs sans DRAM : votre prochain disque en a-t-il vraiment besoin ?

Les fiches techniques des SSD le mentionnent rarement en évidence, mais la présence ou non d'une puce de cache DRAM dédiée est l'une des différences les plus lourdes de conséquences entre deux SSD qui, sur le papier, se ressemblent par ailleurs. Cela affecte la performance d'écriture soutenue, la cohérence des I/O aléatoires, et le comportement du disque une fois qu'il est majoritairement rempli — trois choses bien plus importantes au quotidien que le chiffre de vitesse séquentielle de pointe imprimé sur la boîte.

Ce que fait réellement le cache DRAM

Un SSD équipé de DRAM utilise une petite quantité de mémoire DDR dédiée — typiquement dans un ratio d'environ 1 Go de DRAM pour 1 To de capacité, bien que cela varie selon le disque — pour stocker la table de correspondance de la couche de traduction flash (FTL), c'est-à-dire l'index qui indique quel emplacement physique de mémoire NAND correspond à quelle adresse de bloc logique que le système d'exploitation croit utiliser. Chaque opération de lecture et d'écriture doit consulter cette table de correspondance, donc la garder dans une DRAM rapide et à faible latence plutôt que de devoir la lire depuis la mémoire NAND elle-même accélère considérablement les I/O aléatoires — le type de motif de lecture/écriture petit et dispersé généré par le démarrage d'un OS, le chargement d'assets de jeu ou l'exécution d'une base de données, par opposition aux gros transferts séquentiels de la copie d'un seul gros fichier.

Un disque comme le Samsung 990 Pro intègre un cache DRAM dédié précisément parce que son marché cible — multitâche intensif, grandes bibliothèques de jeux, charges de création de contenu — dépend de la cohérence des I/O aléatoires soutenues plutôt que du seul débit séquentiel de pointe.

Comment les disques sans DRAM compensent

Les disques sans DRAM se passent entièrement de la puce mémoire dédiée et utilisent à la place une technique appelée Host Memory Buffer (HMB), qui emprunte une petite tranche de la RAM du système lui-même — typiquement 32 à 64 Mo, allouée via le protocole NVMe — pour mettre en cache une partie de cette même table de correspondance. Le HMB comble véritablement une part significative de l'écart de performance par rapport aux anciennes conceptions sans DRAM qui n'avaient aucun mécanisme de cache, mais il reste un cache bien plus petit et à latence plus élevée qu'une puce DRAM dédiée embarquée, et il dépend du fait que le système hôte accorde réellement cette allocation mémoire — ce que toutes les combinaisons d'OS, de pilote et de chipset de carte mère ne gèrent pas de façon identique.

Les disques d'entrée de gamme construits sur cette approche, comme le SK hynix BC501, utilisent le HMB précisément pour réduire les coûts tout en offrant des performances respectables pour les charges de travail grand public typiques — transferts de fichiers séquentiels, démarrage de l'OS, chargement général d'applications — où le motif d'accès à la table de correspondance est moins exigeant qu'en cas de multitâche intensif ou d'accès aléatoire de type base de données.

Où l'écart se fait réellement sentir

L'écart de performance entre disques avec cache DRAM et sans DRAM est le plus faible lors de tâches séquentielles simples comme la copie d'un gros fichier vidéo, et le plus important lors d'I/O aléatoires soutenues sous forte charge — de nombreuses petites lectures/écritures simultanées, le type de motif généré par un système fortement multitâche, une base de données active, ou un disque rempli près de sa capacité maximale et devant effectuer plus de recherches dans la table de correspondance par opération à mesure que l'espace libre diminue. C'est aussi exactement là que s'applique le conseil pratique de notre guide d'achat de SSD NVMe : les chiffres de vitesse séquentielle de pointe en Mo/s sur une fiche technique ne disent presque rien sur le ressenti d'un disque sous le type de charge mixte et aléatoire que la plupart des systèmes génèrent réellement au quotidien.

Le taux de remplissage du disque aggrave le problème spécifiquement pour les disques sans DRAM. À mesure qu'un SSD sans DRAM se remplit, le cache HMB ne peut plus contenir une image aussi complète de la table de correspondance (désormais plus grande et plus fragmentée), ce qui force des allers-retours plus fréquents vers la mémoire NAND plus lente elle-même pour résoudre des adresses non actuellement en cache — ce qui explique en partie pourquoi la performance d'écriture soutenue des disques d'entrée de gamme se dégrade plus nettement à mesure que le taux d'utilisation de la capacité augmente, un schéma également lié aux considérations d'endurance traitées dans notre guide sur l'endurance des SSD et le TBW.

Est-ce vraiment important pour votre usage

Pour un disque de démarrage exécutant un OS et une poignée d'applications, de la navigation web générale et un stockage de fichiers modéré, un disque sans DRAM bien conçu avec support HMB convient réellement à la grande majorité des utilisateurs, et les économies de prix par rapport à un équivalent avec cache DRAM sont réelles et valent la peine. Pour le multitâche intensif, les grandes bibliothèques de jeux avec streaming fréquent d'assets, le montage vidéo avec de gros fichiers de travail temporaires, ou toute charge impliquant une base de données ou des images de machines virtuelles, la cohérence des I/O aléatoires soutenues d'un disque avec cache DRAM vaut la dépense — la différence se manifeste par moins de bégaiements et d'à-coups sous charge réelle soutenue, pas seulement par un chiffre plus élevé dans un benchmark synthétique.

Comment savoir quel type vous achetez

Les fabricants n'annoncent pas toujours clairement la présence de DRAM sur l'emballage de vente au détail, donc consulter la fiche technique complète du modèle précis (pas seulement les points marketing) ou un test/démontage indépendant est généralement nécessaire — la même gamme de produits de base livre parfois des configurations DRAM différentes selon les capacités, certains modèles de plus petite capacité omettant occasionnellement la puce DRAM que les capacités plus grandes de la même gamme conservent.

Une remarque sur le type de NAND, lié au même problème

La présence de DRAM n'est pas le seul facteur qui façonne le comportement d'écriture soutenue — le type de mémoire NAND sous-jacent (TLC vs QLC) et la taille du cache d'écriture SLC dynamique d'un disque interagissent de façon liée avec le même goulot d'étranglement de table de correspondance. Un disque peut avoir un cache DRAM complet et pourtant montrer une chute nette de vitesse d'écriture une fois son cache SLC dynamique épuisé lors d'un gros transfert soutenu, car le cache SLC et le cache DRAM de table de correspondance résolvent des problèmes différents — l'un met en tampon les écritures entrantes à une vitesse par cellule plus élevée, l'autre accélère la résolution d'adresses. Un disque bien spécifié a besoin à la fois d'un cache de taille raisonnable et du bon type, et, pour les charges exigeantes, d'une puce DRAM dédiée ; juger un disque sur un seul de ces deux facteurs donne une image incomplète de son comportement réel une fois qu'un gros transfert de fichier ou une session de multitâche intensif dépasse la partie facile et mise en cache de la charge.

Parcourir par tag

Voir tous les tags →