Une couche indépendante des FTL pour améliorer les performances des écritures aléatoires sur mémoires flash
Résumé
Les mémoires flash deviennent une alternative compétitive aux disques durs comme support de stockage non-volatile pour les systèmes de gestion de base de données. Cependant, des adaptations spécifiques sont nécessaires pour exploiter au mieux cette nouvelle catégorie de stockage. Pour cela, la définition des modèles d’accès préconisés est un problème complexe car les mémoires flash sont très hétérogènes et difficiles à caractériser, à cause de la Flash Translation Layer – ou FTL – qui leur est intégrée. Dans cet article nous identifions une corrélation forte entre les performances des écritures et leur proximité spatiale pour un sous-ensemble des mémoires flash ; puis définissons une distance pour quantifier cet effet. À partir de cette propriété, nous proposons un algorithme de placement des données permettant d’améliorer les performances en écriture aléatoire en contrepartie d’une diminution de la capacité de la mémoire. L’efficacité de cette technique est validée par une formalisation avec un modèle mathématique et des résultats expérimentaux. Avec cette optimisation, les écritures aléatoires deviennent potentiellement aussi efficaces que les écritures séquentielles, allant jusqu’à améliorer leurs performances de deux ordres de grandeur.