DirectFlash® est une solution de gestion du stockage flash révolutionnaire développée par Pure, qui intègre à la fois notre logiciel Purity et nos modules DirectFlash, et qui offre la possibilité de mettre à niveau l’ensemble de ses composants de manière indépendante et sans la moindre interruption.
Dans cet article, nous allons voir comment fonctionne cette solution et ce qui la distingue des offres concurrentes au point d’en faire une technologie incontournable.
Qu’est-ce que le stockage flash ?
La mémoire flash (également appelée « stockage flash ») a été inventée en 1980 par Toshiba. Il s’agit d’un type de mémoire non volatile (qui n’a pas besoin d’être alimentée en continu) qu’il est possible d’effacer et de reprogrammer électroniquement.
On distingue deux principaux types de mémoires flash, NOR et NAND, dont la différence se situe au niveau du circuit en fonction de la porte logique utilisée. La technologie flash NAND représente aujourd’hui plus de 95 % du marché des mémoires flash ; elle est utilisée dans la majorité des appareils flash non intégrés.
Cette catégorie englobe différents types de mémoires, lesquels sont classés en fonction du nombre de bits stockés par cellule de mémoire :
- SLC : un seul bit par cellule
- MLC : deux bits par cellule
- TLC : trois bits par cellule
- QLC : quatre bits par cellule
DirectFlash désigne l’approche globale adoptée par Pure Storage pour le développement de systèmes 100 % flash. Plutôt que d’acheter des disques de stockage flash (SSD) dans le commerce, nous utilisons le stockage « brut » pour la conception de nos modules DirectFlash. Cette approche nous permet de nous procurer du stockage flash à un niveau de la chaîne d’approvisionnement différent de celui habituellement utilisé par les autres fournisseurs de baies de stockage flash. Mais la technologie DirectFlash n’offre pas simplement des avantages économiques assurés par une meilleure chaîne d’approvisionnement.
En quoi DirectFlash se distingue des solutions concurrentes
Toutes les autres baies 100 % flash ou hybrides qui s’appuient sur des SSD standard disponibles dans le commerce communiquent avec leurs disques flash sensiblement de la même manière qu’avec un disque dur traditionnel : en les considérant comme un ensemble contigu de blocs identiques.
Les disques durs comportent des pistes et des secteurs qui, s’ils sont mis bout à bout, finissent par donner une longue liste de blocs. Les SSD s’inspirent de cette géométrie, mais en intégrant des systèmes complexes entre le système et le stockage flash, qui forment ce que l’on appelle une couche de traduction flash (FTL, Flash Translation Layer).
DirectFlash repose sur une approche différente, qui consiste à communiquer directement avec la mémoire flash de manière à optimiser les capacités du stockage flash, les performances, la consommation d’énergie et l’efficacité globale.
DirectFlash présente de nombreux atouts :
- Administration des supports au niveau du système, et non au niveau du disque. Les disques fonctionnent de concert avec le système proprement dit, ce qui permet au système :
- de placer les données de manière intelligente en fonction du contexte global ;
- de comprendre l’activité du système au niveau du bloc, du fichier ou de l’objet, et cela jusqu’à une cellule flash spécifique ;
- de gagner en efficacité en optimisant la disposition des données en fonction du support, pour éviter l’amplification en écriture et allonger l’endurance ;
- d’éviter les tâches redondantes en centralisant certaines fonctions comme la collecte de déchets, la gestion des réserves et le contrôle de l’usure.
- Réduction du coût global des supports, en supprimant les efforts et processus redondants habituellement observés au niveau de chaque disque d’un système traditionnel. Les systèmes qui utilisent des SSD et qui prennent en charge plusieurs pétaoctets de données peuvent contenir des téraoctets de DRAM dans les disques eux-mêmes (sans même tenir compte de la mémoire système) pour gérer leurs mappages FTL et leurs métadonnées. Chaque disque contient également son propre espace de réserve suralloué pour permettre à la FTL de gérer les supports. Chacun de ces composants représente un certain coût qui, à mesure que la taille du disque augmente, pèse de plus en plus lourdement sur le coût global du support. Le coût par bit de la DRAM ne s’est pas amélioré ces dernières années, c’est pourquoi il devient essentiel d’utiliser efficacement ce type de mémoire.
- Amélioration de la fiabilité des modules grâce à un taux de défaillance sensiblement inférieur à celui des SSD (3 à 4 fois moins), essentiellement garanti par une exécution simplifiée du firmware.
Principes de fonctionnement des disques de stockage flash
Un SSD se compose de puces flash NAND, également appelées matrices de mémoire flash NAND, dans lesquelles chaque matrice est divisée en petits éléments appelés « blocs », qui sont eux-mêmes constitués de pages.
Les blocs de mémoire flash ne prennent toutefois pas en charge les écrasements aléatoires. Une fois que des données sont écrites sur une page, l’ensemble du bloc doit être effacé pour pouvoir y réécrire de nouvelles données. Dans le même temps, chaque SSD est conçu pour prendre en charge une interface de secteurs de disques rétrocompatible.
Pour résoudre cette contradiction, une « couche de traduction flash » (FTL) est intégrée au niveau du firmware pour implémenter une interface de secteurs de disques virtuelle, qui permet d’écrire des données sur différentes pages de mémoire flash, quel que soit le bloc logique auquel étaient destinées les données. La FTL assure le suivi de toutes ces métadonnées de mappage dans sa propre mémoire et dans son propre espace de stockage de métadonnées.