Filter
Vue

Comprendre les SSD

par Ewok - 06/07/2009
SartMatt dévoile tout sur le fonctionnement des SSD, et partage des conseils pour optimiser les performances

Conseils d'utilisation

Maintenant que nous avons vu la théorie, passons à la pratique, avec quelques conseils pour optimiser les performances des SSD en tenant compte de leur spécificités, et en particulier sur la section dédiée au SSD du forum d'OCZ.

L'alignement des partitions

Les systèmes de fichiers sont découpés en clusters, dont la taille fait généralement 4 Ko. Pour des performances optimales, il faut absolument que les "frontières" séparant ces secteurs coïncident avec les frontières des pages et des blocs pour éviter des opérations inutiles. En effet, si la frontière entre deux clusters tombe au milieu d'une page, une écriture sur ce cluster obligera à écrire une partie du cluster suivant et/ou du cluster précédent.

Pour assurer cette coïncidence, il faut que la partition soit correctement alignée, c'est-à-dire qu'elle doit commencer à une adresse logique multiple de la taille des pages, et, de préférence, multiple de la taille des blocs. En cas de montage RAID0 ou RAID5, il est également préférable d'aligner sur la taille des bandes RAID.

Ce point est particulièrement important avec les SSD peu performants, comme ceux à base de Jmicron JMF602. Les tests montraient par exemple des performances radicalement différentes sur ces SSD entre un Windows XP en configuration par défaut (partitions débutant au 63ème secteur, ce qui tombait au milieu d'une page) et un Windows XP avec partitions réalignées au 64ème ou au 128ème secteur.

Windows Vista et Windows 7 alignent pour leur part à 1 Mo, ce qui convient à tous les SSD actuels, même avec des grosses tailles de clusters.

Du côté de Mac OS X, l'alignement de la partition EFI de 200 Mo est à 512 octets, ce qui n'est idéal que si les clusters de cette partition font 512 octets, tandis que la première partition du disque est alignée à 204 820 Ko, ce qui ne convient que pour des clusters d'un maximum de 4 Ko (ça tombe bien, c'est la taille par défaut pour les clusters sous OS X :-) ).

Éviter les écritures inutiles

Dans la mesure du possible, évitez l'écriture de fichiers temporaires et de cache (cache du navigateur par exemple) sur les SSD. Ces écritures vont en effet engendrer des effacements (donc de l'usure) inutiles et vont augmenter la fragmentation physique, donc dégrader les performances.

Pour les fichiers temporaires, ils ne sont normalement pas écrits sur le disque, tant que la RAM est suffisante et si les logiciels créant ces fichiers le font proprement (en signalant (flag) le fichier comme temporaire lors de sa création, ce qui incitera l'OS à le garder le plus longtemps possible dans son cache de fichiers, sans l'écrire sur le volume).

Pour les logiciels ne gérant pas leurs fichiers temporaires proprement, la meilleure solution est d'utiliser un ramdisk non persistant.

Demême, pour les fichiers de cache, l'idéal est de les placer dans un ramdisk persistant. Ils ne seront ainsi écrits qu'une fois à chaque arrêt de la machine, et de manière séquentielle. De plus, les performances en lecture et écriture des fichiers de cache seront grandement améliorées.

Plus d'infos sur la création de ramdisks sous OS X et Windows par ici.

Si vous ne disposez pas de suffisamment de RAM pour créer des ramdisks, il est préférable de placer les caches sur SSD et les fichiers temporaires sur disque dur.

Ne pas défragmenter

Sur un disque dur, la fragmentation logique du système de fichier est aussi une fragmentation physique, qui dégrade les performances.

Sur un SSD par contre, il n'y a plus aucun lien entre la fragmentation logique et la fragmentation physique. La première n'a quasiment aucune influence sur les performances, tandis que la seconde n'est pas corrigée par les logiciels de défragmentation.

Pire, la défragmentation logique risque d'accentuer la fragmentation physique, et va générer de l'usure.

Que faire du fichier swap ?

Dans la mesure du possible, il vaut mieux dimensionner la RAM de manière à éviter le swap, que vous ayiez un disque dur ou un SSD.

S'il est inévitable, conservez le sur le SSD: des études statistiques réalisées par Microsoft ont montré que sous Windows, 98% des accès au swap sont des lectures, dont 67% de moins de 4 Ko et 88% de moins de 16 Ko, tandis que 62% des écritures font plus de 128 Ko et 45% font 1 Mo. Ce profil d'accès est probablement similaire avec les autres OS et convient bien à un SSD, très à l'aise sur les petites lectures (même quand il est fortement fragmenté) et dont les performances ne se dégradent pas trop lors de grosses écritures.

Surveillez les évolutions des systèmes d'exploitation

Maintenant que les SSD se démocratisent, les systèmes d'exploitation s'adaptent petit à petit, en mettant en place des optimisations spécifiques aux SSD, et en désactivant celles devenues inutiles.

Windows 7 sera le premier OS grand public à proposer officiellement de telles optimisations. Le nouvel OS de Microsoft saura en effet distinguer les SSD des disques durs (en interrogeant le volume sur sa vitesse de rotation) et activera alors différentes optimisations (le TRIM bien sûr, mais aussi des optimisations du cache disque en écriture, pour effectuer des opérations plus séquentielles) il en désactivera d'autres si le SSD est suffisamment performant (Prefetch, Superfetch, défragmentation automatique).

Du côté de Mac OS X, Apple n'a rien annoncé au sujet d'optimisations pour les SSD dans Snow Leopard. Toutefois, étant donné qu'Apple vend des machines dotées de SSD, il serait surprenant qu'il n'y ait pas un minimum de prise en compte de leurs spécificités dans le prochain félin. Nous en saurons peut-être plus lors de son lancement.

Journal ou pas?

Les principaux systèmes de fichiers actuels (HFS+, ext3, NTFS...) sont des systèmes journalisés, c'est-à-dire qu'ils stockent de nombreuses informations en plus des fichiers, informations servant à maintenir la cohérence des données en cas de crash, ou encore à tracer les accès aux fichiers. Ces journaux ont tendance à générer des écritures supplémentaires.

Il n'est toutefois pas recommandé de les désactiver, car ces journaux peuvent permettre d'éviter des pertes de données en cas de crash.

Les utilisateurs de Windows pourront tout de même désactiver deux fonctions du système de fichiers NTFS, qui sont sans impact sur la fiabilité : l'enregistrement de la date de dernier accès aux fichiers et l'enregistrement des noms de fichiers au format 8+3 (sauf si vous utilisez encore de vieilles applications 16 bits). Ceci peut être effectué via les clés registre NtfsDisableLastAccessUpdate et NtfsDisable8dot3NameCreation situées sous HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem.

Utiliser un système de fichier pour flash ?

Il existe aujourd'hui au moins deux différents systèmes de fichiers spécifiquement optimisés pour les supports à mémoire flash. Les deux plus connus sont le JFFS2 (Journalised Flash File System 2) intégré au noyau Linux et l'exFAT introduit dans Windows CE 6.0 et Windows Vista SP1.

Il n'est pas nécessaire d'utiliser ce type de système de fichiers avec les SSD. En effet, ces systèmes de fichiers servent essentiellement à gérer le wear-leveling au niveau du système de fichiers pour les supports flash ne le gérant pas matériellement (comme la plupart des cartes mémoires et clés USB) ou à réduire la charge en proposant des systèmes de fichiers modernes mais non journalisés.

News
Articles
Blog
Tous les mots-clés
Du
Au
Vue complète
Vue par jour
Vue liste
Suivant
Précédent
Imprimer la page
Recommander à un ami
Partager la page