Je cours actuellement avec une carte Micro SD Samsung EVO dans mon téléphone (GT-i9195 ou serranoltexx
) en mode stockage adoptable.
Je cherche une carte plus rapide pour améliorer les performances. J'étais sur le point de prendre une carte Sandisk Extreme A2 pour mon téléphone.
Cependant, j'ai trouvé les pages officielles sur les classes A1 et A2 par l'Association SD. Selon la documentation officielle,
A1:
La Classe de Performance de l'Application 1 (A1) a été définie par la spécification SD Physical 5.1.
A2:
La Classe de Performance de l'Application 2 (A2) est définie par la spécification SD Physical 6.0. Elle rend la carte mémoire SD beaucoup plus performante que la performance de A1 en utilisant les fonctions de Command Queuing et de Cache.
Notez que A2 utilise des astuces supplémentaires pour obtenir de meilleures performances, en particulier Command Queuing (les cartes spécifiées A2 ont un support minimal de 2
pour la profondeur de l'enfilement des commandes).
Je recherche une carte qui a le moins de latence possible pour une seule lecture. Devrais-je prendre une carte spécifiée A1 au lieu de A2 car même si A2 a des IOPS aléatoires "minimum" plus élevés, peut-être les obtient-il uniquement avec des files d'attente QD32? Je recherche une bonne lecture aléatoire 4K QD1.
J'aimerais que les fabricants de stockage spécifient les performances de lecture aléatoire 4K QD1. Il semble que seul le stockage avec des chiffres publiés par le fabricant soit la série Intel Optane où ces chiffres ne semblent pas trop mauvais.
Mise à jour: plus d'informations:
Un autre document sur le site officiel explique un peu plus les fonctionnalités A2:
File d'attente de commandes:
Le nouveau mécanisme de CQ permet à la carte mémoire SD d'accepter plusieurs commandes en série (sans leurs données associées) et de les exécuter (avec les données) lorsque la carte mémoire est prête. Il contribue principalement à la performance de lecture aléatoire.
Il est à noter que cela utilise clairement la "performance de lecture aléatoire" comme des IOPS moyens, pas le temps maximum pour une opération de lecture donnée.
Fonction de cache:
Pour surmonter la vitesse d'écriture relativement limitée de la mémoire flash, la fonction Cache permet à la carte d'accumuler les données acceptées par l'hôte dans une mémoire haute vitesse (par exemple, RAM)[...] La perte de données est autorisée si les données ne sont pas déplacées vers un stockage non volatil.
Donc... des IOPS d'écriture élevées sont autorisées à être écrites dans la RAM interne de la carte et la perte de données est acceptable? Le système d'exploitation peut déjà faire exactement la même chose avec des performances plus élevées!
Auto-entretien:
L'opération initiée par la carte permet à la carte mémoire SD d'effectuer des opérations d'entretien interne pendant que le bus hôte est inactif. Lorsqu'une nouvelle commande est reçue, la carte doit s'assurer que la nouvelle commande est exécutée sans enfreindre les délais standards SD (Commande de Lecture, 100 millisecondes; Commande d'Écriture, 250 millisecondes).
Et si la carte est entrée en mode "auto-entretien initié par la carte" (ce que la carte A2 est autorisée à faire à tout moment où aucune commande n'est en attente), les IOPS de lecture effectives peuvent descendre à 10
et les IOPS d'écriture effectives peuvent descendre à 4
.
Je pense que la spécification A2 a des tolérances beaucoup trop grandes pour de mauvaises performances. Appeler ce qui précède comme "minimum 4K lecture: 4000 IOPS" et "minimum 4K écriture: 2000 IOPS" est un mensonge.
(Je me demande si je devrais prendre une carte Sandisk Extreme A1 tant qu'elles sont encore disponibles sur le marché. Les cartes Samsung EVO+ ont de bonnes performances dans les tests, aussi, mais si j'ai bien compris, elles sont destinées à un usage non application et ont un pire algorithme de nivellement de l'usure que les cartes Sandisk Extreme. La même chose avec les cartes Sandisk Ultra - elles ne durent pas en ayant les mêmes secteurs écrits à plusieurs reprises.)