Comment puis-je tester une carte mémoire pour les performances et les secteurs défectueux?

10

Je viens d'acheter une nouvelle carte CF pour mon reflex numérique. Je l'ai testé avec Xbench (Mac OS X) et il fonctionne comme prévu. Cependant, je voudrais faire un "scan de surface" (terme du plateau mobile) pour vérifier les "secteurs défectueux" (terme du plateau mobile). Je pourrais bash scripter un processus en utilisant dd, mais j'ai l'impression qu'il existe une meilleure solution. Mon objectif est de savoir de manière concluante qu'une carte mémoire (CF, SD, etc.) peut être utilisée en toute sécurité lors d'une séance photo, et qu'il n'est pas nécessaire de la retourner avant l'expiration de la fenêtre de politique du fournisseur de 30 jours.

Je veux vraiment des solutions Mac données ici. J'aimerais également obtenir quelques suggestions Linux. Jetons même un os aux utilisateurs de Windows juste pour que cette seule question puisse répondre aux besoins de chacun.

Bruno Bronosky
la source
Je comprends que la mémoire à semi-conducteurs est différente des plateaux tournants. Je n'ai pas besoin d'une leçon à ce sujet. Ce dont j'ai besoin, c'est d'un moyen de vérifier les appareils que je possède. Le processus est simple: remplissez l'appareil de contenu connu. Lisez à partir de l'appareil et vérifiez le contenu. Si vous obtenez des erreurs de lecture ou d'écriture, échec évident. Si le contenu que vous lisez diffère de ce que vous avez écrit, c'est l'échec le moins évident. La date doit être aléatoire et plusieurs cycles doivent être utilisés. Ce dont j'ai besoin, c'est d'un outil qui le fasse. J'en ai écrit un, mais c'est un hack.
Bruno Bronosky

Réponses:

8

Comme le contrôleur peut déplacer les blocs où il veut (voir nivellement d'usure), la seule chance pour un test de lecture / écriture entier est de remplir le disque et de comparer. Bien sûr, plusieurs fois avec des motifs différents.

Et vous n'attraperez toujours pas les régions défectueuses, car elles sont également cachées par le contrôleur tant qu'il a des pièces de rechange.

Leonidas
la source
6

La mémoire flash ne fonctionne pas de la même manière que les disques avec des plateaux. Le concept de "mauvais secteur" n'existe pas vraiment avec la mémoire flash. De nos jours, avec la mémoire flash et les SSD, le contrôleur intégré se charge d'identifier et de marquer les blocs de mémoire inutilisables, de déplacer dynamiquement les données pour atténuer les limitations d'écriture de bloc, etc. Ces fonctionnalités sont beaucoup plus répandues dans les SSD, mais certaines aussi existent dans les cartes flash de qualité (comme SanDisk).

La plupart des outils de vérification du système de fichiers émettent des hypothèses spécifiques sur la structure physique du périphérique de stockage (c'est-à-dire basé sur un plateau, avec des cylindres physiques, des secteurs, des clusters, etc.), ou travaillent à un niveau abstrait et effectuent des réparations "virtuellement" en utilisant un fichier ou un répertoire les tables. Vous auriez besoin d'un outil spécialement conçu pour marquer les blocs défectueux sur un périphérique de mémoire flash, car quoi que ce soit va causer plus de problèmes (en supposant qu'il peut résoudre les problèmes de la même manière qu'avec un périphérique à plateau) ou rendre virtuel correctifs qui ne prennent pas en compte les fonctionnalités dynamiques de Flash au niveau du matériel. Même si vous pouviez marquer un «secteur» ou un «cluster» particulier comme «mauvais», cela ne ferait pas nécessairement de bien, car ces concepts physiques n'existent pas réellement dans la mémoire flash. Si le périphérique flash est plus avancé et déplace dynamiquement les données pour contourner automatiquement les blocs défectueux et atténuer les limitations d'écriture, l'emplacement physique des données peut résider dans un bloc défectueux un instant et dans un bloc correct un instant plus tard. (Notez que l'idée d'un "mauvais" bloc dans la mémoire flash est beaucoup plus floue qu'elle ne l'est avec les disques de plateau ... un bloc de mémoire flash a tendance à mourir lentement, plutôt que soudainement, et peut "scintiller" entre lisible / non lisible a peu avant qu'il ne devienne entièrement inutilisable.)

De manière générale, en ce qui concerne le flash, laissez l'appareil se gérer d'un mauvais point de vue des blocs. Différents fabricants structurent et stockent les données de différentes manières, et chacun peut avoir différents niveaux et niveaux de comportement dynamique qui déplacent les données pour éviter certaines des limitations de la mémoire flash. Essayer de le gérer vous-même est susceptible de causer plus de problèmes qu'il n'en résout et peut rendre vos disques flash inutiles à long terme.

Si vous souhaitez éviter les mauvaises cartes flash, je vous recommande fortement d'utiliser des marques réputées. J'ai essayé une variété de cartes flash dans le passé, mais SanDisk est la seule marque que j'ai utilisée qui, au moins à ce jour, n'a jamais échoué. J'ai plusieurs cartes SDHC 4, 8 et 16 Go que j'utilise beaucoup, je sors régulièrement de mon appareil photo et j'insère dans mon ordinateur portable ou ordinateur, et elles fonctionnent toujours parfaitement. (Certains ont plusieurs années.)

jrista
la source
1
Des blocs défectueux peuvent exister avec n'importe quel périphérique de bloc: si j'écris des données dans un bloc particulier, mais que je ne peux pas les relire, c'est un bloc défectueux. Le contrôleur peut masquer ce problème pour les écritures, en écrivant les données ailleurs, mais pas pour les lectures.
Vaddadi Kartick
3

Sous Linux, la commande que vous voulez est badblocks. Il semble y avoir un port pour Mac OS X dans le cadre de ce port ext2-for-os-x - installez le tout et ignorez tout sauf la /usr/local/sbin/badblockscommande.

Cela dit, cela aidera à tester, mais je ne pense pas que ce sera concluant, car d'abord comme le dit Leonidas, vous n'avez pas vraiment accès brut à la mémoire flash, il est donc difficile de faire une analyse complète, et aussi parce que de nouveaux échecs pourraient apparaître après le test, peut-être même déclenchés par celui-ci.

Veuillez lire mon profil
la source
1

En lisant votre commentaire sous la question, je pense que F3 fait exactement ce que vous voulez. Il se compile sur Linux / Mac OS X et est également disponible via Homebrew.

Sam Brightman
la source
-1

J'ai trouvé cela sur Google, je n'utilise pas de cartes SD pour le stockage des appareils photo, mais à la place, j'ai eu ma classe 10 32 concerts sdhc sandisk complètement corrompue après moins de 2 ans d'utilisation sur mon samsung galaxy S2.

J'utilise des badblocks pour voir où commencent les premiers badblocks et ensuite je ferai des partitions autour de cette zone si possible. c'est ma solution actuelle, très très mauvaise: /

user172681
la source
pourriez-vous développer votre réponse? Sur la base d'une recherche rapide, je suppose que "badblocks" est un programme Linux? Fait-il ce que le PO exigeait?
MikeW