Publié le 7 octobre 2024 - par

Une carte SD classe A2 et un bumper silicone pour le RaspberryPi 5

Raspberry Pi vient de mettre sur le marché deux nouveautés : des cartes SD de classe A2 ainsi qu’un bumper (protection souple) en silicone pour le Raspberry Pi 5. Pour ceux qui comme moi font beaucoup de tests mais n’aiment pas voir une carte toute nue qui traîne sur le bureau ou l’établi, c’est la garantie que le dessous de la carte du Pi 5 n’ira pas flirter avec un vilain trombone ou un tournevis qui passait par là…

Une carte SD classe A2 et un bumper silicone pour le RaspberryPi 5

Cet article est basé sur un article en Anglais publié ici : https://www.raspberrypi.com/news/sd-cards-and-bumper/ vous pouvez vous y reporter pour lire le texte d’origine. Traduction assistée par DeepL, relecture et francisation framboise314.

Aujourd’hui, Raspberry Pi annonce deux nouveaux accessoires qui devraient améliorer votre expérience avec le Raspberry Pi. Avec la dernière version de Raspberry Pi OS, le Raspberry Pi 5 peut utiliser les performances supplémentaires des cartes SD de classe A2 ; pour vous aider à en profiter, Raspberry Pi lançe sa propre gamme de cartes SD Raspberry Pi de haute qualité et à bas prix. Ils annoncent également le Raspberry Pi Bumper, une jolie petite housse en silicone pour protéger la base et les bords de votre Raspberry Pi 5.

 

Cartes SD Raspberry Pi

Comme beaucoup d’entre vous le savent déjà, le choix d’une carte SD est extrêmement important pour l’utilisation avec le Raspberry Pi. Historiquement, Raspberry Pi a travaillé avec ses partenaires revendeurs agréés pour tester et approuver les cartes SD de différentes marques. Mais avec la sophistication croissante des cartes, et en particulier avec l’arrivée des cartes de classe A2, ce processus est devenu de plus en plus fastidieux.

Pour vous garantir la meilleure expérience possible au moindre coût, Raspberry Pi a travaillé avec son partenaire Longsys pour développer une gamme de cartes SD Raspberry Pi de qualité. Ces cartes de classe A2 offrent un débit exceptionnel en lecture et en écriture aléatoires sur toute la gamme d’ordinateurs Raspberry Pi et, lorsqu’elles sont utilisées sur Raspberry Pi 5, elles prennent en charge la mise en file d’attente des commandes pour des performances encore plus élevées.

À partir d’aujourd’hui, les revendeurs agréés ne proposeront que les cartes SD Raspberry Pi avec les ordinateurs Raspberry Pi, et vous pouvez être assuré de leur qualité.

Cartes SD de classe A2 : plus résistantes, meilleures, plus rapides

Les cartes SD qui prennent en charge la classe de performance d’application A2, telles que ces nouvelles cartes SD Raspberry Pi, permettent des opérations de lecture et d’écriture plus rapides, et le Raspberry Pi 5 intègre des fonctions matérielles qui lui permettent de tirer le meilleur parti de ces performances supplémentaires. Pour activer ces fonctionnalités, vous devez utiliser la dernière version de Raspberry Pi OS ou mettre à jour votre installation de Raspberry Pi OS avec les derniers paquets. Exécutez la commande suivante pour mettre à jour :

sudo apt update && sudo apt full-upgrade

Pourquoi et comment les cartes de classe A2 sont-elles plus performantes ? Lisez la suite !

Qu’est-ce que le CQHCI ?

La spécification SD Host Controller Interface (SDHCI) standardise le matériel (le contrôleur hôte) qui contrôle la communication avec la carte SD. Sur les ordinateurs Raspberry Pi, le contrôleur hôte se trouve dans le processeur d’application Broadcom. La Command Queueing Host Controller Interface (CQHCI) étend la SDHCI avec un ensemble supplémentaire de registres de contrôle et un moteur CQ qui prend le relais de l’ancien contrôleur hôte lorsqu’une carte SD appropriée est détectée.

Les cartes doivent être explicitement mises en mode d’attente de commande (CQ), après quoi un nouvel ensemble de commandes SD devient disponible et de nombreuses commandes SD existantes deviennent invalides. Les nouvelles commandes découplent la demande de lecture ou d’écriture d’un secteur de la carte de la réponse de la carte. Chaque opération de lecture ou d’écriture est balisée, avec jusqu’à 32 balises utilisées pour les lectures et les écritures. La carte peut choisir l’ordre dans lequel elle renvoie les réponses aux commandes et peut éventuellement mettre en mémoire tampon les données d’écriture au lieu de les enregistrer immédiatement dans la mémoire flash.

En lui permettant de « voir dans l’avenir », la mise en file d’attente des commandes permet au contrôleur flash de masquer une plus grande partie de la latence associée à l’accès à des pages NAND flash disparates. Il en résulte – du moins en théorie – un meilleur débit pour les charges de travail d’E/S aléatoires telles que celles générées par le Raspberry Pi OS.

La prise en charge du CQ a été introduite pour la première fois dans les appareils eMMC avec la spécification JEDEC JESD84-B51, en 2015. L’équivalent de la spécification SD est apparu quelque temps plus tard avec SD v6.00, en 2017. Cependant, au moment du lancement du Raspberry Pi 5 en 2023, Linux ne prenait en charge que la CQHCI sur les périphériques eMMC, ce qui signifiait que les performances n’étaient pas au rendez-vous.

Au début de l’année 2024, jdb (l’auteur de l’article) a entrepris d’implémenter le support CQ manquant pour les cartes SD.

Comment utiliser CQHCI ?

L’analyse minutieuse de la spécification SD l’a amené à développer une chaîne de dépendance de caractéristiques optionnelles de la carte qui devaient toutes être prises en charge si le mode CQ devait être utilisé. Il s’agit, dans l’ordre, des éléments suivants :

  • La carte doit prendre en charge l’accès au registre d’extension, qui est une méthode générique d’accès aux fonctions optionnelles sur des pages de 512 octets, chacune avec un type identifiant à quelle extension de fonction la page se réfère.
  • La carte doit prendre en charge les registres d’extension de l’amélioration des performances.
  • Dans l’extension d’amélioration des performances, la carte doit prendre en charge la mise en cache de l’écriture.
  • En conséquence de la prise en charge de la mise en cache de l’écriture, la carte doit également prendre en charge les registres de l’extension « Power » et, au minimum, les notifications de mise hors tension.
  • La carte doit déclarer la profondeur de file d’attente requise pour satisfaire aux performances de la classe A2 – de 2 à 32 balises.

Comme Linux prenait déjà en charge le CQ avec les cartes eMMC, il ne restait plus qu’à trouver où l’implémentation de la carte SD différait – et il y a eu quelques cas à prendre en compte.

En fonctionnement normal, le système d’exploitation hôte doit parfois émettre des « méta-opérations » qui ne transfèrent pas directement des données, mais effectuent des opérations connexes, telles que le recalibrage des délais du chemin de données entre l’hôte et la carte, la demande de l’état de la carte en tant que proxy pour le retrait de la carte, et les opérations de maintenance de la mémoire flash telles que la signalisation de l’élimination d’un bloc.

En mode non CQ, la plupart des méta-opérations sont effectuées en émettant la commande CMD6 avec un argument de 32 bits. Les dispositifs eMMC prennent en charge l’émission de méta-opérations en mode CQ en désignant la balise « top » dans le contrôleur pour l’exécution des DCMD (commandes directes). Cependant, avec les cartes SD, l’exécution de méta-opérations nécessite généralement l’arrêt du moteur CQ et l’émission d’une commande non CQ à l’aide des registres habituels du contrôleur hôte SD.

Une fois ces différences aplanies, le pilote Linux était plutôt fonctionnel, qui a été intégré à rpi-update. jdb a créé un fil de discussion dans les forums pour les précurseurs et il a commencé à évaluer sa vaste collection de cartes achetées au détail.

Comment les cartes SD implémentent le mode CQ ?

C’est très aléatoire.

Les cartes SanDisk, en particulier les gammes Extreme et Extreme Pro, ont été les premières à passer le test – et elles ont bien fonctionné. Cependant, les cartes proposées par d’autres fabricants présentaient un ou plusieurs défauts courants qui empêchaient le fonctionnement du mode CQ ou les rendaient inopérantes en cours d’utilisation :

  • Non-déclaration de la prise en charge de la notification de mise hors tension malgré l’implémentation de l’extension
  • Blocage lors de la réception d’une demande de vidage du cache après l’activation puis la désactivation du mode CQ
  • Les cartes n’implémentaient pas correctement le bit du registre d’expansion « CQ enable » – si on écrit un 1, on lit toujours un 0

Il y avait même un type de carte qui revendiquait la prise en charge de la classe A2, mais qui ignorait toute demande de lecture des registres d’expansion pour vérifier l’existence de l’une ou l’autre de ces caractéristiques !

Le noyau du Raspberry Pi filtre les cartes qui échouent à ces tests, soit lors de la vérification des caractéristiques, soit à cause d’une bizarrerie explicite qui est liée à l’identifiant de la carte. Si vous trouvez une carte de marque A2 qui se comporte mal sur un Raspberry Pi 5, merci de la signaler dans le fil de discussion du forum.

Mise en cache de l’écriture + suppression de la surprise = malheur

L’un des pièges potentiels de l’activation du mode CQ est qu’il offre aux cartes de nouvelles opportunités de corrompre votre système de fichiers si l’alimentation est coupée de manière inattendue. En mode CQ, les hôtes doivent respecter l’obligation de maintenir l’alimentation de la carte et ne la retirer qu’après l’envoi d’une notification de mise hors tension ; cela permet au contrôleur flash de valider toutes les écritures en cours dans la mémoire flash. Pour les hôtes alimentés par batterie et dont l’emplacement SD est caché, comme un téléphone, il est facile de respecter ce contrat : demander l’arrêt de l’appareil ou découvrir l’emplacement peut déclencher une notification de mise hors tension. Le Raspberry Pi, avec son emplacement SD exposé et son bloc d’alimentation enfichable, a plus de mal à fournir cette garantie.

Avec plusieurs écritures en cours, ou plusieurs notifications d’écritures en attente, nous ne pouvons plus garantir l’ordre dans lequel les écritures sont engagées dans la mémoire flash. Si l’alimentation est coupée de manière inattendue, une collection arbitraire d’écritures récentes peut ne pas avoir été engagée, plutôt que strictement les n écritures les plus récentes ; cela complique grandement la tâche de rendre le système de fichiers résistant à la corruption. Le noyau du Raspberry Pi contourne ce problème en limitant à un le nombre maximum d’écritures enregistrées en mode CQ. Bien qu’en théorie, cela puisse entraîner une baisse du débit d’écriture séquentielle, les cartes testées ne présentent qu’une réduction de 2 à 3 % des performances.

Présentation de Longsys

Lorsqu’il est apparu clairement que les cartes SD de classe A2 offraient une amélioration significative des performances lorsqu’elles fonctionnaient en mode CQ sur le Raspberry Pi 5, des discussions ont été engagées avec plusieurs fabricants de cartes, dans le but de crée une offre abordable qui fonctionnerait bien sur toutes les générations d’ordinateurs Raspberry Pi.

C’est ainsi qu’a été choisi Longsys comme fournisseur, après avoir travaillé avec son équipe d’ingénieurs pour aligner les fonctionnalités des cartes SD avec les exigences de Raspberry Pi, pour prouver que les cartes étaient robustes en effectuant automatiquement plus de 100 000 cycles d’alimentation aléatoires avec une lourde charge d’E/S et pour optimiser les cartes afin d’obtenir le meilleur du Raspberry Pi 5.

Bien que les meilleures performances sur Raspberry Pi 5 aient été l’objectif principal, les performances non-CQ de ces cartes sont toujours extrêmement rapides, et vous constaterez généralement une augmentation significative des performances, même sur les ordinateurs Raspberry Pi plus anciens.

Raspberry Pi Bumper pour Raspberry Pi 5

L’autre accessoire lancé aujourd’hui est le Raspberry Pi Bumper : la solution de boîtier simple dont vous ne saviez pas que vous aviez besoin 😀 , et qui est déjà un favori à la Pi Towers. Il s’agit d’une base en silicone qui protège le dessous et les bords de votre Raspberry Pi 5, ainsi que la surface sur laquelle vous le posez, et qui autorise l’utilisation du bouton d’alimentation. Le bumper est compatible avec le Raspberry Pi Active Cooler et vous coûtera la modique somme de 3 $ (3,50€ chez Kubii).

Sources

En France le bumper est disponible chez Kubii :
https://www.kubii.com/fr/boitiers-fixations/4441-bumper-pour-raspberry-pi-5-5056561804194.html

Ainsi que la carte SD A2 en version 32Go ou 64Go, avec ou sans OS installé.

À propos François MOCQ

Électronicien d'origine, devenu informaticien, et passionné de nouvelles technologies, formateur en maintenance informatique puis en Réseau et Télécommunications. Dès son arrivée sur le marché, le potentiel offert par Raspberry Pi m’a enthousiasmé j'ai rapidement créé un blog dédié à ce nano-ordinateur (www.framboise314.fr) pour partager cette passion. Auteur de plusieurs livres sur le Raspberry Pi publiés aux Editions ENI.

2 réflexions au sujet de « Une carte SD classe A2 et un bumper silicone pour le RaspberryPi 5 »

  1. michel

    merci pour cet article,

    je n’ai pas compris pour la carte SD si cela s’applique à n’importe quel OS.

    comme le site et l’article indique qu’il faut faire une mise a jour, je m’interroge pour des installation kodi, libretro, recalbox, n’importe quel os tire profit d’une carte A2 ?

    Répondre
    1. François MOCQ Auteur de l’article

      Bonjour Michel
      La carte fonctionne en classe A2 avec n’importe quel OS (ceux que vous citez) donc on gagne en vitesse par rapport aux anciennes cartes SD
      Avec Bookworm, on bénéficie en plus des fonctionnalités avancées de la carte pour l’accès à la mémoire (mode CQ).
      Après si vous utilisez de « bonnes » cartes comme des Samsung Extrème A2 il n’y a pas de problème.
      A mon avis, utilisez des cartes de bonne qualité mais ne changez rien pour les OS Kodi…
      en général les mises à jour provoquent des soucis 😉
      cdt
      francois

      Répondre

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Complétez ce captcha SVP *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.