Publié le 2 juillet 2016 - par

Ne négligez pas la qualité de la carte SD de votre Raspberry Pi !

evo_250pxLa carte microSD, un élément de votre Raspberry Pi qu’il ne faut pas négliger ! L’idée de ce billet est née lors de tests.
J’avais besoin de plusieurs cartes SD une montée sur le RasPi, une autre pour préparer le prochain test. J’en récupère une sur le bureau qui était dans un adaptateur SD <=> microSD un peu poussiéreux… je la prépare avec Win32DiskImager ah oui …. la vitesse est autour de 4 Mo/s. Vérification faite à la fin de l’opération (à la loupe car c’est écrit trop petit pour mes vieux yeux) c’est une classe (4) sans marque. Enfin si… Made in Taiwan.

La carte SD au cœur du Raspberry Pi

Bon, je continue mes tests en mettant la carte dans le RasPi. Mise sous tension… les 4 framboises, le texte défile… ça me semble normal. Et là, soudain tout bascule 🙁 Un écran noir, quelques clignotements de la LED ACT et…. rien !
Au bout d’un long moment, je me dis que la carte n’est pas bonne. Qu’à cela ne tienne, je la remets dans le lecteur de carte SD et… réécriture. Retour au RasPi ! Même combat ! arghhh

Les cartes SD

30c3-controllerCe sont des cartes mémoire dont la plupart embarquent un microcontrôleur de type ARM ou 8051, modifié par le constructeur afin de permettre une accélération matérielle des algorithmes contenus dans le micrologiciel de la carte. Ce microcontrôleur ainsi que le micrologiciel qu’il contient permettent une gestion des cellules de mémoire flash et de leur usure ainsi que la communication avec le système.

Dans la majorité des cas, les cellules de mémoire flash et le microcontrôleur se trouvent sur la même puce, ce pour des raisons pratiques. L’usure est due uniquement aux phases d’écriture. Selon la technologie le nombre d’écriture avant panne peut varier de 10 000 à 100 000. Ceci peut causer des problèmes sur un système qui accède (très) fréquemment au système de fichier sur la carte microSD (Raspbian).

sd_600pxLe micrologiciel embarqué peut être réécrit grâce à une séquence précise de commandes non documentée, variant d’un constructeur à l’autre. Certaines cartes MicroSD embarquent ainsi un micrologiciel modifié afin de masquer leur capacité réelle, comme dans le cas de cartes de contrefaçon, qui annoncent une capacité supérieure au nombre de blocs réellement disponibles. Cette annonce de capacité erronée peut conduire à des pertes de données, par réécriture des blocs précédents lorsque la capacité physique maximale est atteinte, certains blocs étant dupliqués par le micrologiciel modifié. (source Wikipedia)

Le Raspberry Pi

 La vitesse d’accès à la carte Sd est exactement la même sur un Rasperry Pi 2 et un Raspberry Pi 3. La principale limitation est le fait que le bus du lecteur de carte est limité à 20 Mo/s. Sur le RasPi 3 il est possible (mais pas recommandé à cause des erreurs qui se produisent) d’overclocker le bus à 40 Mo/s (http://www.jeffgeerling.com/blog/2016/how-overclock-microsd-card-reader-on-raspberry-pi-3).

cartes-memoires-sd-micro-sd_600px

image (c) http://www.cnetfrance.fr/produits/les-5-raisons-d-acheter-une-carte-sd-haute-performance-39799131.htm

Le test de démarrage

pi3_prises_600pxJe me suis placé dans les mêmes conditions pour les deux tests c’est à dire un Raspberry Pi 3 avec un système (la dernière version de Jessie en mode graphique), entièrement à jour (update/upgrade/rpi-update) en fonctionnement et déclenchement du chrono lors du clic sur le bouton Reboot. Arrêt du chrono lorsque le bouton « Menu » s’affiche dans la barre de tâches du bureau.

  • Carte Samsung EVO 16 Go Classe (10) : 25 secondes
  • Carte sans marque 8 Go Classe (4) : 2 minutes 35 secondes

carte_SD_FB

Une anecdote pour finir

Un de mes collègues qui gère son poulailler avec un Raspberry (projet PoulaGeek) se plaignait de plantages, carte microSD corrompue… Après avoir refait la carte avec Win32DiskImager ça refonctionnait une quinzaine et… rebelote ! Je lui ai conseillé de tester une carte EVO 16 Go comme celles que j’utilise (ce n’est pas de la pub, ce sont les cartes que je trouve au supermarché d’à côté à 8€ environ). Depuis je n’ai plus entendu parler de soucis avec sa carte SD.

Conclusion

Ne lésinez pas sur la qualité des cartes microSD que vous utilisez. Les quelques euros que vous économiserez, vous les repaierez en temps perdu à attendre votre système ou à refaire une nouvelle carte. Il faut savoir aussi que les cartes microSD comme tous les composants électroniques ne sont pas strictement identiques. A la sortie de la chaîne de fabrication, chaque composant est testé et classé en fonction de sa vitesse, des cellules mémoire défectueuses… Sans pouvoir vous le garantir à 100%, les microSD de meilleure qualité sont vendues par les « grands noms » alors que les mémoires « déclassées » finissent avec des marques folkloriques ou… pas de marque du tout !

panneau_danger_80pxPour plus de sécurité : Une carte microSD n’est pas éternelle. Un jour ou l’autre elle va lâcher ! Prévoyez d’en faire une copie de secours (Win32DiskImager sous Windows ou dd sous Linux) sous forme d’un fichier .img que vous ne mettrez que quelques minutes à transférer sur une carte neuve. La dernière version de Jessie embarque aussi un utilitaire qui peut cloner votre carte microSD à chaud… Vous ne pourrez plus dire que vous n’étiez pas prévenu(e).

Sources

On Hacking MicroSD Cards

 

À 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.

37 réflexions au sujet de « Ne négligez pas la qualité de la carte SD de votre Raspberry Pi ! »

    1. eugene

      Avec linux, à chaque fois qu’un fichier est accédé on écrit la date sur le disque même quand on ne fait que de la lecture

      il existe une option à mettre dans le fichier fstab qui permet de ne pas écrire quand on accède aux fichier, cette option est noatime (no access time)

      cela permet de vraiment faire durer les ssd clé usb ou carte mémoire plus longtemps

      d’autre part, cela permet d’augmenter la vitesse jusqu’à 30%

      Répondre
  1. Dodutils

    Et pour faire suite à @Fabien il faut faire quelques réglages sur le RasPi pour mettre certains fichiers en RAMDISK comme certains fichiers de log entre autres.

    Cette astuce a cependant 2 inconvénients, ça diminue un peu la RAM (mais au moins sous Linux si on défini un RAMDISK de 100Mo il ne fera 100Mo de RAM que s’il est rempli à 100Mo) et surtout quand ça plante on perd tout ce qui était en RAMDISK à moins de programmer une petite synchro régulière vers la SDCARD.

    Répondre
    1. FIVELEK

      J’ai fait pareil, j’ai mis l’OS sur une clé USB et ma carte SD ne sert qu’à booter dessus (elle est en lecture seule en plus).
      Cependant je conseille à tous de quand même configurer Raspbian sur votre MicroSD car on est jamais à l’abri d’une panne du HDD ou de la clé USB ! Cela vous permettra de continuer à utiliser votre framboise pendant que vous êtes en quête d’une nouvelle clé ou d’un nouveau disque dur. 😉
      Je conseille également de mettre l’OS sur une clé USB puis de stocker tous vos fichiers sur un disque dur externe (donc ne mettez pas l’OS + vos fichiers sur le HDD uniquement) et de garder la carte SD pour booter sur la clé évidemment. Comme ça une mauvaise manip faite sur Raspbian ne risquerait pas de toucher à vos fichiers et si vous avez besoin de débrancher votre HDD pour X ou Y raison vous n’avez pas besoin d’éteindre le Raspberry Pi mais seulement de démonter le volume.

      Répondre
  2. Chris.tof

    Bonjour, j’ai fait quelques recherches sur le net mais je ne trouve pas le nom de l utilitaire jessie qui permet le clone à chaud de la sd vous avez l info ? Bonne journée

    Répondre
      1. Benoit

        Bonjour François,
        J’utilise avec succès l’utilitaire « SD Card Copier » qui crée 2 partitions :
        – Boot en Fat32
        – partition Ext4 non visible sous Windows.
        Mais j’ai installé un Raspberry dans un montage où je n’ai pas accès facilement à la carte mémoire.
        Donc afin de faire une sauvegarde régulière de ma carte SD, je souhaiterais créer une image disk (.img) directement depuis le Raspberry sans enlever la carte.
        Pensez-vous que cela est possible ou puis-je convertir les 2 partitions obtenu avec « SD Card Copier » vers un unique fichier image (.img) ?
        Merci d’avance pour votre aide.
        Cdlt
        Benoit

        Répondre
  3. Autourdupc

    Je déconseille SanDisk. 6 cartes m’ont lâchées sur smartphone, caméra IP et Raspberry, toutes capacités confondue.
    J’utilise Samsung classe 10 qui m’est très fidèle depuis 2 ans !

    Répondre
  4. Jean

    Bonjour à tous,

    Pour information, la classe d’un micro SD donne une indication sur la vitesse de lecture. Pour une information sur la vitesse d’écriture, il faut regarder le chiffre écrit dans le U. On trouve de U1 à U3 (je n’ai je crois jamais vu de U2). U3 représente les cartes les plus rapide en écriture (théoriquement 90/95Mb/s).

    Mais attention ! Tout cela est bien beau, mais d’après un article (que je ne retrouve plus pour le moment), une carte de classe U3 sur un support uniquement compatible U1 est une très mauvaise idée, le résultat étant plus lent qu’une carte U1 sur U1.

    Donc la question est de savoir avec quelle classe de carte nos rasPi sont compatible…

    Répondre
  5. Michael

    Salut !

    Merci pour cette article !

    J’ai moi même eu des soucis de corruption à 3 reprises avec des Samsung EVO comme la tienne… Visiblement elles sont assez fragiles… Fais attention et fais des backups 🙂

    Je suis du coup passé sur des cartes SanDisk qui m’ont l’air bcp plus fiables avec les RPi…

    A bientôt

    Répondre
      1. Michael

        J’ai eu le cas avec Jeedom et avec Rasplex … Donc deux utilisations bien différentes.

        Le système freeze au bout de quelques mois et le FS est totalement corrompu.

        Tant mieux si tu n’as pas de souci avec des modèles mais moi je n’achèterai plus 😉

        A+

        Répondre
  6. Ping : Ne négligez pas la qualité de la ...

  7. blegoff

    Bonjour,

    pour avoir tester aussi de mon coté beaucoup de carte differente c’est vrai qu’une bonne carte est importante et vous eviterai beaucoup de soucis.

    par contre pour un RPI qui doit rester allumé en permanence je ne peux que vous conseiller de créer un Ram disk et de passer tous les repertoire avec acces frequent en ecriture dans ce ramdisk, je l’ai fait sur certains de mes RPI perso, en plus d’un gain en longevité il y a aussi un gain de performance la memoire etant beaucoup plus rapide que l’acces a la sd card.

    un petit tutoriel en anglais
    http://www.zdnet.com/article/raspberry-pi-extending-the-life-of-the-sd-card/

    Répondre
  8. dyox

    Suite à cet article, j’ai fait quelques achats : 2 cartes µSD 16GB Samsung EVO et pour ranger le tout un DiMeCard
    https://www.amazon.fr/s/ref=nb_sb_noss_2/253-7580598-2578206?__mk_fr_FR=%C3%85M%C3%85%C5%BD%C3%95%C3%91&url=search-alias%3Daps&field-keywords=Dimecard.
    J’ai acheté les 2 µSD sur ebay chez un revendeur français pour 10€ ; je viens de les tester avec H2testw : 13MB/s en écriture et 40MB/s en lecture, donc des cartes originales ^^. Elles sont garanties 10ans !
    Merci François

    Répondre
  9. beatwinthewave

    Que ça soit avec une microSD, ou bien un SSD en externe ou en eMMC, bref dès que c’est de la technologie Flash, je passe en ‘noatime’ et je privilégie un système de fichier non-journalisé (ext2) 😉

    Répondre
  10. Kevin

    Bonjour à tous, pour un usage du RPi3 en DualBoot ( sûrement LinreElec+recalbox) une SD de 16Go suffit ou plus pour mettre tout les jeux dont j’aurai besoin ou pas 😉
    Merci!!!!!

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

      Bonjour Kevin
      bin… ça dépend 😀
      du nombre et de la taille des jeux ! et « dont j’aurai besoin » n’est pas assez précis
      Nan nan tout ça ça se calcule. NOOBS (si le dual boot est fait avec NOOBS) Tant de Go
      LibreELEC : tant de Go
      RecalBox Tant de Go
      16Go – tous ces Go = reste combien ?
      ça donne la place dispo pour les jeux
      cordialement
      François

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

      Bonjour Franck
      merci pour ce retour très intéressant
      en utilisation « normale » les cartes Samsung EVO tiennent le choc
      mais pour les applis qui écrivent beaucoup sur la carte c’est une bonne référence !!
      cordialement
      François

      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.