Cache SLC : 860 QVO, un mauvais SSD ?

11
10796

Derrière ce titre un peu provocateur concernant le 860 QVO, nous voulons vous parler d’une notion floue ou inconnue pour beaucoup. Nous avions parlé ici de pourquoi un SSD est meilleur qu’un disque dur. Ici nous parlerons d’une caractéristique assez particulière des SSD, il s’agit du cache. Nous évoquerons également le marketing qui tourne autour, avec un exemple précis : le Samsung 860 QVO.

Difficulté : Avancé

C’est quoi le cache ?

On commence par un rapide préambule sur l’intérêt du cache. Une entité mémoire (disque dur, SSD …) peut être amené à posséder une zone mémoire plus rapide afin d’accélérer les transferts, lecture ou écriture. Cette zone mémoire est gérée par le contrôleur. Le contrôleur s’occupe pour rappel des communications entre le disque et le reste du monde (ce qui se résume à « ce qu’il y a de l’autre côté de son interface », qu’elle soit SATA, PCI-e….).

Pour la lecture, le principe est qu’une donnée souvent lue sur le disque est placée (au moins en partie) dans le cache pour augmenter le débit en lecture sur cette donnée à chaque fois qu’elle est lue. C’est assez peu employé car cela implique de prédire algorithmiquement quelle donnée sera beaucoup lue, quand elle ne le sera plus etc, etc. Pas simple à mettre en place, et les gains sont de fait peu évidents.

Pour l’écriture par contre, l’intérêt est bien plus important. Lorsqu’on doit écrire un fichier sur le disque, au lieu de l’écrire directement, on l’écrit sur le cache (ce qui est plus rapide), ensuite le contrôleur se charge en arrière plan de copier le fichier depuis le cache jusqu’au disque, sans que l’utilisateur ne s’en rende compte.

Si le fichier est plus gros que la mémoire cache, là le disque n’a pas d’autres choix que d’écrire directement sur sa mémoire, et les débits seront alors inférieurs. D’où l’intérêt d’avoir de la mémoire cache en grande quantité.

Petite anecdote, c’est d’ailleurs un des risques avec des disques durs externes si vous les débranchez de manière brutale dès qu’un fichier a fini d’être écrit sur le disque. Un morceau du fichier peut encore être sur la cache au moment où vous débranchez et vous vous retrouvez avec un morceau manquant, et donc un fichier potentiellement corrompu.

Le cache physique :

Il existe deux grands logiques de cache sur les SSD actuellement. Un contrôleur est prévu pour être associé avec un seul type de cache.

La première est le cache physique. C’est à dire qu’une certaine quantité de mémoire rapide (souvent sous forme de RAM) est greffée au SSD et sert de cache. L’ordre de grandeur est au niveau du Go. C’est un type de cache assez classique, du même acabit qu’on peut trouver sur des HDD, si ce n’est la quantité plus grande.

Ce type de cache est moins répandu que le 2ème type.

Le cache SLC :

Le deuxième type de cache est bien plus intéressant dans son fonctionnement et n’est pas disjoint du premier (on peut avoir les deux sur le même SSD). Sur ce cache, le SSD utilise une certaine partie de son stockage (piochée dans l’espace libre et dans l’espace d’over provisionning) comme cache. Mais quel est l’intérêt ? Si il utilise une partie de son espace, cet espace n’est pas plus rapide, alors pourquoi l’utiliser comme cache ?

C’est la qu’intervient la notion de cellule sur les SSD. Les puces NAND Flash utilisent des cellules comme stockage. Les cellules possèdent un certains nombre de couches.

  • SLC : Single Level Cell, 1 couche
  • MLC : Multi Level Cell, 2 couches
  • TLC, Tri Level Cell, 3 couches
  • QLC, Quad Level Cell, 4 couches

Le fait de proposer de la mémoire QLC au lieu de la MLC par exemple permet d’augmenter la densité. En effet, chaque cellule stocke 4 bits au lieu de 2, ce qui permet d’avoir des capacités de stockage bien plus grandes.

Mais forcément, proposer de la mémoire avec plus de couches amène des inconvénients, sinon tous les constructeurs feraient avec de la QLC. Ecrire sur 4 couches amène à une écriture « en profondeur » sur la cellule : c’est lent et ça l’use. Ainsi les cellules QLC ont une durée de vie et une vitesse d’écriture significativement inférieures aux cellules TLC, qui sont eux même inférieures aux MLC. Et comme vous pouvez l’imaginer, le 860 QVO possède des cellules en QLC, d’où son nom.

Aujourd’hui les SSD purs SLC ont complètement disparu, faute de pouvoir proposer de grosses capacités.

Et là, vous commencez sans doute à voir venir l’astuce : le cache SLC consiste à utiliser la zone mémoire considérée comme cache comme des cellules SLC, c’est à dire des cellules sur lesquelles on ne peut écrire qu’un bit mais très rapidement.

Le contrôleur utilise donc sa zone cache comme SLC, et une fois qu’il a un peu de « temps libre », il va ré-écrire ses données dans la partie « vraie stockage ». Or ici, le cache est de la mémoire NAND, ce qui fait qu’il survit à l’extinction de la machine. Ainsi, le SSD peut tout à fait réécrire son cache dans le stockage au prochain démarrage de la machine, cela ne lui pose pas de problème a priori.

Les travers du SLC caching :

Le premier défaut est qu’utiliser le SSD comme cache implique de faire un grand nombre d’écriture (certes des écritures SLC donc qui usent peu la cellule, mais ce sontdes écritures quand même). Cela peut avoir une incidence sur la durée de vie par rapport aux SSD ayant de la mémoire cache dédiée.

Les SSD avec cache SLC ont beaucoup d’overprovisioning. L’overprovisionning est un espace volontairement non disponible pour le SSD, qui souhaite le garder pour faire des manipulations, notamment en lien avec le TRIM ou la réallocation de données. C’est pourquoi ces SSD sans cache physique ne font pas 512 ou 1024 Go mais 480 et 960 Go (ou 500 et 1000 Go, selon les modèles). une partie de l’espace est non accessible puisqu’il n’y a pas de cache physique pour la manipulation de données.

Le cache SLC pioche dans cet overprovisionning mais pas seulement. Il pioche également dans la mémoire disponible sur le disque. Et comme vous pouvez l’imaginer, plus un SSD est rempli, moins il y a d’espace disponible. Ainsi, sur ce genre de SSD, la quantité de cache devient faible sur un SSD quasi rempli. Ainsi, plus votre SSD se rempli, moins la quantité de cache est grande, et plus les performances du SSD peuvent être affectées en cas de grosses écritures.

A titre d’indication, un Samsung 860 QVO 1 To possède 8 Go de cache disponible quoi qu’il arrive (il les pioche dans son overprovisionning) et celle-ci peut monter au total à plus de 40 Go si le SSD est vide ou presque (il pioche également dans l’espace libre).

Débits hors cache :

Comme on disait un peu plus haut, quand on écrit sur le SSD, on écrit en réalité sur le cache (ici on va parler du cache SLC). Et quand ce cache est remplie, alors là on écrit sur le SSD directement si on peut dire.

C’est là que la différence entre TLC et QLC intervient très fortement : une fois son cache finie, il faut écrire directement sur les cellules de stockage en TLC ou QLC, et les débits s’effondrent. Et la comparaison fait mal. Un Samsung 860 EVO 1 To est capable de tenir 250-300 Mo/s hors cache, grâce à sa bonne mémoire TLC, tandis que le 860 QVO 1 To quant à lui tombe à 80 Mo/s. Hey oui, les débits chutent de 85 % par rapport aux débits en cache. Le SSD écrit alors moins vite qu’un disque dur, on se croirait il y a 10 ans, aux débuts des SSD.

Pour en nommer d’autres, par exemple le Crucial P1, qui est capable d’écrire à 1600 Mo/s en cache et tombe à… 80Mo/s hors cache. Sa vitesse est alors divisée par 20 !

Un des problèmes est que le Marketing des marques de SSD ne parle jamais des débits hors cache, celles-ci étant peu vendeuses. En effet pourquoi acheter un SSD NVME qui écrit à 400 Mo/s hors cache, soit à peine plus qu’un SATA ?

Les marques ne communiquent que sur les débits en cache, très favorables. Et si on va plus loin, la plupart des tests de SSD que l’on voit sur différents sites ne vont pas forcément en profondeur sur ce point et se contentent de bench à la CrystalDiskMark. Et les débits hors cache passent à la trappe.

Enfin la question à se poser : en quoi les débits hors cache nous concernent ? Pour voir le bout du cache, il faut vraiment pousser le bouchon non ?

Si le disque est vide en effet, mais sur un disque plein à plus de moitié, la fin du cache peut arriver vite en cas de transfert. Et même si vous ne voyez pas la fin du cache directement avec votre transfert, dîtes vous bien que l’écriture réelle sur votre espace de stockage est effectuée en arrière plan quoi qu’il arrive. Or cette écriture en arrière plan monopolise une partie des ressources de votre SSD, donc autant que ce soit vite fini… et pour ça il faut un SSD avec une écriture hors cache rapide. Avec un 860 QVO par exemple, ce ne sera pas le cas.

Moralité :

La moralité est que les débits annoncés par les constructeurs sont les débits d’écritures en cache, et sont complètement décorrellés des débits réels de ces SSD une fois que le cache est épuisée. Et à ce jeu là, les SSD utilisant de la mémoire QLC sont catastrophiques en termes de performances (en plus d’avoir une durée de vie inférieure). Même un SSD M.2 en QLC peut se retrouver avec des performances du niveau de 2008 une fois le cache épuisé.

Après, il faut savoir raison garder : le cache, il faut en venir à bout, et ça n’arrive pas tous les jours. Il faut vraiment faire une écriture en masse pour arriver à ce point. Mais quand on voit le faible écart de prix entre un SSD QLC et un SSD TLC (par exemple 860 QVO vs 860 EVO), il vaut mieux prendre un SSD TLC, que ce soit pour la performance comme pour la durée de vie. Quelques SSD haut de gamme en MLC existent encore, comme le 960 Pro par exemple, mais les prix sont en général assez élevés.

860 QVO

11
Poster un Commentaire

avatar
8 Fils de commentaires
3 Réponses de fil
1 Abonnés
 
Commentaire avec le plus de réactions
Le plus populaire des commentaires
10 Auteurs du commentaire
VtitiuxgeekosaAB9vVDBChris92150 Auteurs de commentaires récents
  S’abonner  
plus récent plus ancien Le plus populaire
Notifier de
AB9
Invité
AB9

J’ai du mal à comprendre cette histoire de cache. Le QVO 1TO possède 1GO de LPDDR4, tout comme l’EVO. Les comportements sont donc les mêmes au niveau du cache non ? La seule différence serait que l’un est en TLC et l’autre en QLC ?
Le QVO n’est pas un ssd « dramless apparemment, donc à part sa densité de cellule ça reste un « bon » ssd comparé à des TLC dramless, ou bien ?

vVDB
Invité
vVDB

Bonjour,
Les disques sont majoritairement vides chez les utilisateurs lambda… Et la grande majorité des PC sont des portables donc avec alimentation secourue.
Votre approche est plutôt serveurs ou geeks qui manipulent des fichiers de ouf.
A-t-on un des retours de personnes faisant de la retouche photo ?

Chris92150
Membre

Bon à savoir ! Merci pour cet article détaillé.

Du coup j’ai bien fait de prendre mes 2 SSD en TLC à l’époque…

FonograF
Invité
FonograF

Très bon article qui me fera avoir plus d’arguments quand il s’agira d’expliquer pourquoi se tourner vers tel ou tel SSD.

horlaloa
Membre
horlaloa

Informations intéressante à garder en mémoire en cas d’achat d’un ssd. Maintenant pour trouver une base de donnée de ssd et du type de level cell pour pouvoir faire une décision simplement…

DumbAss
Membre
DumbAss

vous m’avez tuez avec la photo du cache cache ^^
tres bon thread BTW

_0CooL_
Membre

Merci pour ce bon rattrapage technique.

Totti10
Membre
Totti10

Merci pour ce très bon dossier!
Très utile!