L’amélioration de la durée de vie et des performances d’une clé USB reste au cœur des préoccupations des utilisateurs de ce genre de support. Plusieurs manières permettent de résoudre, totalement ou en partie, ce souci. L’over-provisioning fait partie de ces solutions, vous permettant ainsi d’optimiser l’utilisation de votre clé USB.
Comprendre le fonctionnement d’une mémoire flash NAND
Avant de comprendre l’intérêt de l’over-provisioning, il faut d’abord comprendre le fonctionnement d’une mémoire flash NAND. Il s’agit du type de mémoire que l’on retrouve essentiellement dans les clés USB ainsi que d’autres stockages de masse tels que le SSD.
Une mémoire flash NAND est composée de cellules ou de pages réparties dans des blocs. L’écriture sur ce type de mémoire s’effectue bit par bit au niveau des cellules tandis que l’effacement ne peut être fait qu’au niveau des blocs.
Cependant, il faut savoir que le nombre de cycles écriture/effacement est limité selon le type de mémoire flash NAND. Il existe plusieurs types de mémoire flash NAND, dont la SLC, la MLC, la TLC, la QLC et la NAND 3D.
Il faut donc comprendre qu’une clé USB ou plus généralement une mémoire flash n’est pas éternelle. De plus, au fur et à mesure de la diminution du cycle P/E, les pages, si elles sont mal gérées, peuvent se dégrader beaucoup plus rapidement.
Qu’est-ce que l’over-provisioning ?
L’over-provisioning est l’un des moyens permettant d’optimiser l’utilisation des blocs et des cellules d’une mémoire flash NAND. Il s’agit d’une technologie de firmware permettant d’allouer une certaine partie de la mémoire NAND au contrôleur du périphérique en tant que cache. Généralement, l’espace alloué est de 7 à 32% de la mémoire NAND.
Il permet une meilleure gestion de la mémoire flash NAND et optimise la réalisation d’un processus de “Garbage Collection” ou collecte des déchets. Par conséquent, le périphérique est plus performant et sa durée de vie augmente.
Certaines clés USB ne permettent pas d’effectuer l’over-provisioning. Généralement, ce sont les disques SSD qui peuvent être partitionnés de la sorte et dont le contrôleur peut prendre en charge le processus derrière. Toutefois, les clés USB de meilleure qualité, c’est-à-dire fabriquée avec des composants plus qualitatifs, peuvent être optimisées grâce à l’over-provisioning.
Comment l’over-provisioning améliore la durée de vie et les performances d’une clé USB ?
Tout d’abord, l’over-provisioning optimise la réalisation du Garbage Collection. Le Garbage Collection est un processus visant à collecter les données valides présentes sur le périphérique ainsi qu’à rendre invalides les blocs contenant les données à effacer.
Comme nous l’avons mentionné au début, l’effacement des données ne peut être effectué que par blocs. De ce fait, lorsqu’un effacement a été sollicité, il faut copier les autres données contenues dans le bloc avant de rendre ce dernier invalide, puis vide.
Grâce à l’over-provisioning, la clé USB possède toujours des espaces libres permettant d’optimiser cette copie temporaire. En effet, les données seront par la suite restituées dans un bloc vide. Cela améliore la performance de la clé USB, même lors des périodes de fort trafic.
L’over-provisioning améliore également la durée de vie d’une clé USB. Pour cause, il améliore la manière dont on utilise chaque cellule présente dans la mémoire flash NAND. Une cellule possède une durée de vie limitée, comme nous l’avons déjà découvert. Écrire et effacer à plusieurs reprises la même cellule peut donc provoquer l’usure précoce de celle-ci.
L’over-provisioning aide l’algorithme de nivellement d’usure, c’est-à-dire de bonne répartition de l’écriture des données sur l’ensemble des blocs, à mieux fonctionner. Ainsi, les cellules s’usent uniformément, ce qui augmente leur durée de vie.
Comment activer l’over-provisioning ?
La plupart des périphériques proposant l’over-provisioning sont activés directement par le fabricant. Toutefois, on en crée en laissant une partition vide et non attribuée sur le périphérique.
Des outils permettent également d’activer l’over-provisioning, comme c’est par exemple le cas de Samsung Magician. Lors de l’utilisation de ce genre d’outil, il suffit de choisir le périphérique à activer, d’aller sur l’option “over-provisioning” et de choisir l’espace du disque à allouer.