TRIM - Définition

Source: Wikipédia sous licence CC-BY-SA 3.0.
La liste des auteurs de cet article est disponible ici.

Introduction

En informatique, TRIM est une commande qui permet à un système d’exploitation de dire à un disque en mémoire flash (SSD) quels blocs de données ne sont plus utilisés comme ceux qui sont laissés par les fichiers effacés. TRIM permet au système d’exploitation de passer cette information jusqu’au contrôleur du SSD, qui sinon serait incapable de savoir s’il peut écraser ces blocs sans problème.

Principe

Le but de cette instruction est de maintenir la vitesse du SSD tout au long de sa vie, évitant le ralentissement que les premiers modèles rencontraient une fois que toutes les cellules étaient écrites au moins une fois.

Bien que des outils fussent disponibles pour remettre à l’état initial certaines unités, ils effaçaient toutes les données sur l’unité ce qui les rendaient impraticable lors de l’utilisation pour l’optimisation.

Le fondement du problème est que les unités SSD ne savent pas quels blocs sont réellement utilisés et quels blocs sont libres. Les SSD ne comprennent pas les structures du système de fichier utilisées par les systèmes d’exploitation et ne peuvent pas accéder à leur liste de clusters inutilisés. Cela pose des problèmes à deux endroits :

  • Les SSD peuvent écrire des blocs de 4KiB, mais, à cause de limites matérielles, ils doivent effacer des blocs plus larges (par exemple 128KiB ou 512KiB). Comme l’unité ne sait pas quels sont les blocs de 4KiB toujours en cours d’utilisation s’ils ont été écrits précédemment, chaque écriture demandera un cycle lecture-effacement-modification-écriture bien plus grand, en supposant qu’il n’y ait pas d’autres blocs libres sur le SSD (c'est-à-dire après que tous les blocs aient été partiellement remplis). Le terme correspondant à ce phénomène est l’amplification d’écriture (« write amplification »).
  • La mise à niveau de l’usure (« Wear levelling ») permet à une unité de réarranger ses données pour que les écritures ne soient pas confinées à un seul endroit de la carte flash. Les cellules flash tolèrent seulement un nombre limité d’écritures avant de devenir inopérantes. Ainsi certains SSD déplacent les données sur toute l’unité pour exercer de façon égale tous les blocs. Comme l’unité ne connaît pas quels blocs sont réellement utilisés par le système de fichier, chaque bloc de données écrit sur l’unité exige une écriture additionnelle due au déplacement du bloc.

Comme la commande TRIM purge complètement la données affectée, la récupération de données devient impossible. La spécification de la commande TRIM est standardisée en tant que partie du standard d’interface AT Attachment (ATA), mené par le Comité Technique T13 de l’International Commitee for Information Technology Standards.

Support par le système d’exploitation

TRIM a été intégré dans Linux 2.6.33. Dans Microsoft Windows, TRIM a été implémenté dans Windows 7 et Windows Server 2008 R2, et fut livré avec la version finale de ces systèmes d’exploitation en Octobre 2009. Les vieilles unités à état solide devront avoir une mise à jour du firmware sinon la nouvelle commande sera ignorée.

Là où TRIM n’est pas automatiquement supporté par le système d’exploitation, il existe des utilitaires qui peuvent envoyer des commandes TRIM manuellement. Typiquement, ils listent tous les blocs libres spécifiés comme tel par le système d’exploitation et passent ensuite cette liste sous la forme d’une série de commandes TRIM à l’unité. Ces utilitaires sont disponibles chez différents fabricants (Intel, XtremeSystems) ou comme des outils généraux (hdparm depuis la version v9.17)

Page générée en 0.046 seconde(s) - site hébergé chez Contabo
Ce site fait l'objet d'une déclaration à la CNIL sous le numéro de dossier 1037632
A propos - Informations légales | Partenaire: HD-Numérique
Version anglaise | Version allemande | Version espagnole | Version portugaise