Comment Windows 7 va accélérer les SSD

Actuellement, même si les SSD sont très performants, les systèmes d'exploitation ont un gros problème : ils utilisent ces systèmes de stockage à base de mémoire flash comme un disque dur. Avec Windows 7 et la dernière version de la norme ATA, ce sera différent et le système pourrait être optimisé pour les SSD (disons plutôt qu'il utilisera un SSD correctement). Cette actualité aborde des points assez techniques et nous vous conseillons, si vous n'êtes pas habitué au fonctionnement des SSD, de lire (ou relire) notre article sur le sujet : Les disques SSD, la fin des disques durs.

Dans la norme ATA-8

Dans la norme ATA-8 (la version 7 est la plus couramment utilisée), la gestion des SSD est prévue : un support de stockage peut envoyer au système sa vitesse de rotation et si elle est de 0, on a affaire à un SSD (qui, rappelons-le, n'a pas de pièces en mouvement). La première chose qui est mise en place est simple : la défragmentation automatique est désactivée, cette fonction n'ayant aucun effet sur les SSD (elle est prévue pour les dispositifs à temps d'accès variable) et peut poser des problèmes de durée de vie (les écritures sur un SSD étant limitées). Autre point intéressant, le SSD peut aussi envoyer à l'OS la taille de ses blocs et de ses pages, qui varient, ce qui va permettre au système d'optimiser le système de fichier pour éviter les écritures inutiles en alignant les clusters sur la taille des blocs de la mémoire flash.

Les trim, ou comment SSD et OS doivent se comprendre

La nouveauté vient des trims, une fonction qui va permettre à l'OS d'aider le SSD à s'optimiser. En simplifiant, les SSD actuels utilisent une gestion de l'usure que l'on appelle Static Wear Levelling. Le contrôleur du SSD va essayer, avec cette technique, d'obtenir une usure constante du média, le fonctionnement est donc assez spécifique. Quand le système veut écrire, le SSD va cherche le meilleur endroit pour placer la donnée : soit une cellule vide (qui n'a jamais été écrite) soit, si aucune cellule vide n'est disponible, la cellule la moins usée du SSD. On comprend assez facilement que les cellules vides deviennent rapidement une denrée rare en usage classique. Dans le cas (courant) de la cellule la moins usée du SSD, il existe deux possibilités : soit le contrôleur se rend compte que la cellule est souvent utilisée (grâce à compteurs d'écriture) et il cherche une autre cellule peu usée, soit il se rend compte que la cellule est rarement utilisée. C'est ce cas précis qui est optimisé par les trims : une cellule peu utilisée peut contenir deux types de données, des données fixes (le niveau d'un jeu, par exemple) ou des données effacées par le système d'exploitation (les systèmes de fichiers classiques n'effacent pas les données physiquement). Et le firmware du SSD, étant donné qu'il est indépendant du système de fichier, ne peut pas savoir si c'est une donnée utile ou pas et va effectuer une opération d'écriture : le contenu de la cellule peu utilisé va être transféré vers une cellule usée et la donnée à écrire va être inscrite sur la cellule peu usée qui vient d'être libérée. Les trims interviennent sur ce point précis : avec Windows 7, le système de fichier (NTFS) peut indiquer quand un fichier est effacé avec un flag que le SSD comprend. Si la cellule choisie contient vraiment une donnée importante, le fonctionnement habituel est en place, si la donnée est effacée (pour le système de fichier), le SSD va écrire directement sur cette cellule. Dans les faits, au lieu de deux écritures et d'une recherche de cellule, on se retrouve avec une seule écriture. Et comme l'écriture est le point faible des SSD, le gain peut être intéressant, surtout si le SSD est beaucoup utilisé.

Notons qu'actuellement (avec la version bêta de Windows 7), il n'y a a priori pas de SSD compatibles avec cette technologie, mais elle semble prometteuse. Espérons que certains constructeurs proposeront des firmwares adaptés dans le futur, mais rien n'est moins sûr.

Posez une question dans la catégorie Les news : vos réactions du forum
Cette page n'accepte plus de commentaires
23 commentaires
Commenter depuis le forum
    Votre commentaire
  • efranchi
    très intéressant, me permet juste de spécifier qu'un SSD a aussi besoin d'être defragmenté, c'est une croyance populaire qu'il en a pas besoin.
    Il en a moins besoin qu'un disque dur.
    Defrag agit selon 2 plans bénéfiques pour un HDD:
    1) déplace les données à façon d'améliorer les temps d'accès (près du bord du disque, les têtes auront moins de route à faire).
    2) réalignent les clusters d'un fichier (par exemple un film) à façon que sa lecture puisse se faire de façon séquentielle, sans ça la lecture serait de type random (aller chercher les clusters éparpillés partout dans le disque).
    Pour un SSD defrag est intéressant que pour le point 2.
    Comme vous le voyez dans n'importe quel bench de SSD la difféerence entre le performances sequentielles et random peut être importante. Il conviendra alors de temps à autre faire un defrag.
    Quant à la durée de vie pour un SSD défragmenté 1 fois par moi vous ne risquez pas de voir sa fin, dans l'hypothèse de l'absourde si vous avez 50 GB et vous defragmenté tous les jours votre SSD va tout de même vivre plus que 100 ans.
  • Anonyme
    merci de ces précisions, je me demandais s'il était utile de défragmenté un SSD, puisqu'il n'y a pas de temps d'accès dû aux têtes.
    Et "swapper" un SSD, ça donne quoi ?
  • mvm
    Le problème de la fragmentation intervient surtout quand un fichier dépasse les 1000 ou 10000 fragments. J'ai ici sous les yeux un système avec des fichiers de plus de 100.000 fragments. A ce niveau Windows commence à avoir des problèmes pour gérer les extensions.