La 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.
Au sommaire :
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
Ce 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).
Le 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).
Le test de démarrage
Je 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
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 !
Pour 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
- http://www.cnetfrance.fr/produits/les-5-raisons-d-acheter-une-carte-sd-haute-performance-39799131.htm
- http://blogsmayan.blogspot.fr/p/interfacing-sd-card.html
- http://raspberrypi.stackexchange.com/questions/43618/raspberry-pi-3-micro-sd-card-speed
Autre suggestion : utiliser un OS qui ne fait aucune écriture sur la carte SD, pour soulager cette dernière ! C’est par exemple le cas d’Alpine Linux (http://alpinelinux.org/), même si bien sûr ça ne se prête pas à tous les usages.
Bonjour Fabien
merci pour l’info effectivement dans ce cas on assure la survie de la microSD
cordialement
François
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%
merci Eugène
en cumulant toutes ces infos, les cartes SD vont devenir éternelles ! 🙂
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.
bonsoir
bin oui comme toujours en informatique, tout est affaire de compromis et de dosage 😉
J’ai un disque dur externe, avec la partition /root. La carte SD est utilisée uniquement pour le /boot.
biennnn 🙂
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.
merci 🙂
Idem j’ai un PiDrive donc mais sinon j’ai une Kingston 32Go donc ça roule !
Et je viens de voir sur Amazon, la 16GO EVO Classe10 est à 6,99€, pas chère 😉
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
Bonjour
On y accède en mode graphique via Menu > Accessoires > SD Card Copier mais pas en mode console 🙁
sinon il y a
https://www.framboise314.fr/clonez-la-carte-sd-de-votre-raspberry-pi/
qui date un peu et que je n’ai pas re-testé sous Jessie…
si ça vous tente 😉
cordialement
François
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
salut Benoit. perso je cherche ton logiciel SD Card Copier pour avoir les deux partitions. je veux utiliser une microSD 256Go.
merci
Salut Yann. Comme l’a indiqué François, l’utilitaire se trouve dans Menu > Accessories > SD Card Copier dans Raspbian Jessie
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 !
merci pour ce retour 🙂 info intéressante !!
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…
merci pour ces précisions Jean 🙂
Bonjour,
Il a wikipedia pour connaître les différentes normes : https://fr.wikipedia.org/wiki/Carte_SD
Et h2testw pour savoir si votre carte n’est pas une contrefaçon !
http://www.01net.com/actualites/la-memoire-flash-contrefaite-un-fleau-en-pleine-expansion-625902.html
merci dyox.
Bon dimanche !
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
Bonjour Michael
ça doit dépendre de l’utilisation
je n ai que des Samsung EVO dont certaines sur des machines qui tournent 24/24 sans aucun souci 🙂
cordialement
François
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+
Bonjour,
Pour ma part, la Samsung EVO que j’avais acheté à tenu 6 mois, je suis passé sur du Lexar, on verra bien.
Ping : Ne négligez pas la qualité de la ...
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/
Un excellent article expliquant comment renforcer la distribution jessie raspbian :
http://www.blaess.fr/christophe/2015/10/19/renforcer-une-distribution-raspbian-jessie/
Merci 🙂
les articles de Christophe BLAESS sont toujours des références !
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
super
merci pour le retour et bon amusement
cordialement
françois
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) 😉
merci pour ce retour 🙂
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!!!!!
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
Bonjour à tous,
Suite à plusieurs désagréments avec des cartes sd Sandisk ultra, après 2-3 ans d’utilisation permanente, et une discussion avec Sandisk, une solution a été trouvée en utilisant des cartes de hautes endurances : https://www.sandisk.fr/home/memory-cards/microsd-cards/high-endurance-microsd
Voila pour mon partage d’expérience.
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