Les Nexus de Google
TRIM ?
La commande TRIM consiste, en simplifiant, à synchroniser le système de fichiers et le contrôleur du SSD, pour que ce dernier sache qu’une zone contient des données effaces. Sans le TRIM, la gestion de l’usure est compliquée et nécessite beaucoup d’écriture, ce qui a un impact sur les performances et la durée de vie de la mémoire.
Android 4.3, la dernière version du système de Google, supporte une nouveauté : la commande TRIM. Ce n’est pas une intégration directe, comme dans les systèmes d’exploitation classique, mais bien un logiciel lancé périodiquement par Android qui va lancer la commande TRIM sur l’espace libre. Le fonctionnement des « SSD » des tablettes et autres smartphones est en effet différent de celui des SSD de nos PC. Dans un ordinateur classique, on a de la mémoire flash gérée par un contrôleur qui est présent dans le SSD, alors que les appareils mobiles utilisent de la eMMC, une mémoire interfacée directement avec le SoC, qui intègre son propre contrôleur. Le contrôleur est donc dans l’appareil lui-même plutôt que du côté de la mémoire.
Dans un PC, la commande TRIM est envoyée à chaque effacement : elle va indiquer au contrôleur du SSD que les données sont effacées du point de vue du système de fichiers. Sous Android, les contrôleurs et le système ne sont pas adaptés, et le fonctionnement est donc différent. Chaque jour, la commande sera exécutée et lancer la commande sur l’espace libre de l’appareil, ce qui va indiquer au contrôleur que les données ont été effacées. Sans cette commande, le contrôleur ne connaît pas l’état logique d’une cellule (si elle contient réellement des données), ce qui l’oblige à écrire cette cellule à un autre endroit quand il veut l’utiliser pour gérer l’usure. Avec le TRIM, il sait que la cellule est vide, ce qui permet de l’écrire directement sans passer par la lecture et l’écriture.
Bien évidemment, une gestion totale du TRIM serait un meilleur choix, mais la solution actuelle a l’avantage de fonctionner sans devoir modifier en profondeur les appareils. On peut espérer un support plus complet dans les prochaines versions d’Android.