Pour le fonctionnement optimal d'un système avec un disque statique, il faut que le système d'exploitation soit optimalisé. Autrement, le système deviendra plus lent qu'un système avec disque dur classique! |
-
Optimalisations
Différence de coût lecture - écriture
Regroupement de blocs sous forme de clustersLes systèmes d'exploitation vont regrouper un certain nombre de blocs consécutifs et les traiter comme une unité indivisible: il s'agit des clusters. Les clusters font 2kB, 4kb, 8kB ou 16kB. Un fichier de 80 octets utilise dans le dernier cas 16384 octets. Les disques statiques travaillent dès l'origine avec des pages de 4kB. L'accès au niveau du bloc élémentaire de 512 octets (comme défini par le format classique des disques) est possible, mais produit une légère pénalisation en lecture et une très forte pénalisation en écriture (puisque toute la page doit être déplacée). L'idéal est que le système d'exploitation utilise des clusters de la même taille que les pages. Mais ce n'est pas tout: il faut de plus qu'il n'y ait pas d'offset. Traditionnelement, le début de la partie 'données' d'un disque dur commence à partir du bloc 63, ce qui fait que l'écriture d'un cluster de 4kB force la modification de 2 pages (read-modify-write), l'opération la plus désavantageuse qui soit!
OptimalisationsLes optimalisations viennent aussi bien des fabricants de modules SSD que du système de gestion (système d'exploitation). Il est un fait que la communication reste défaillante tant que le système d'exploitation ne donne pas de directives claires au disque. Il n'y a que Linux et windows 7 qui sont au courant de l'existence des disques SSD.
Garbage collectionL'optimalisation au niveau du SSD concerne l'effacement préventif des blocs qui ne contiennent que des pages invalidées. De cette manière, le système n'a pas à attendre un effacement quand il n'y a plus de pages vierges. Le disque statique peut même aller plus loin et déplacer les données quand un bloc ne contient qu'un très petit nombre de pages valides (et ainsi créer des pages vierges). Cela augmente la vitesse de fonctionnement du disque en écriture, mais réduit sa durée de vie à cause des cycles d'écriture plus fréquents.Pour niveller l'usure, le firmware va effacer les blocs qui ont un total d'écriture plus bas, au lieu d'effacer les blocs qui rapportent le plus de pages vierges. Ici aussi il s'agit d'un compromis.
Compression et écriture conditionnelleCertains disques SSD compriment les données avant l'écriture. Comme c'est surtout la phase d'écriture qui est lente, le système bénéficie d'une compression qui permet d'écrire moins de données, même si la compression en elle-même demande également du temps. Les routines de compression sont surtout lentes à la compression, la lecture n'est pratiquement pas ralentie. L'avantage est que moins de blocs doivent être écrits pour un fichier donné. Le gain de place engendré par la compression est utilisé pour l'overprovisionning.Certains SSD effectuent une écriture conditionelle. Quand on modifie un fichier (par exemple un document de plusieurs centaines de pages), toutes les pages ne sont pas modifiées. Le système d'exploitation va par contre ré-écrire tout le fichier (cela ne pose pas problème pour un disque dur classique). Certains SSD controlent si le bloc à écrire ne se trouve pas déjà quelque part sur le SSD. Si c'est le cas, un indicateur pointe vers le bloc déjà existant au lien d'en enregistrer un nouveau.
Système d'exploitationMais c'est surtout au niveau du système de gestion de l'ordinateur qu'on tire profit des avantages du disque statique. Est-ce-que le système doit vraiment tenir à jour de nombreux logs? Faut-il écrire chaque fois la date d'accès à un fichier? Il existe des formats extrèmes qui sont spécialement adaptés aux disques statiques: YAFFS (Yet Another Flash File System) et JFFS (Journalling Flash File System).Ces systèmes n'utilisent pas de répertoire pour les fichiers, mais un journal circulaire qui contient toutes les modifications aux fichiers. Un élément de journal est écrit à chaque modification des données sur le disque. Cet élement est écrit à la première place disponible (donc en fait n'importe où). C'est un système qui est à éviter avec les disques durs classiques (les données sont écrites sans structure, à la première place de libre), mais ce manque d'organisation ne joue aucun role pour les disques statiques. Les répertoires n'existent qu'en mémoire vive et sont perdus en cas d'arrêt de l'ordinateur. Les répertoires sont reconstruits en mémoire vive lors du démarrage, en se basant sur le journal.
Instruction TRIMCertains systèmes d'exploitation (par exemple windows XP) ne sont pas au courant de l'instruction TRIM, puisque les disques statiques sont très récents. Il existe des routines (généralement fournies par le fabricant de disques statiques) qui vont analyser la structure logique du disque (partitions, répertoires, FAT,...) et donner des instructions TRIM pour invalider les parties du disque statique qui n'ont pas ne contenu valable.
|
Publicités - Reklame