3 votes

Une carte SDHC dispose-t-elle d'un système de récupération des erreurs d'écriture (ECC) ?

Que se passe-t-il si une carte SDHC présente une erreur d'écriture (cellule endommagée / mauvais secteur) ?

La carte entière sera-t-elle inutilisable (à la poubelle, toutes les données écrites dans ce secteur maintenant et à l'avenir seront perdues) ? Ou réécrire le secteur (la mémoire flash est corrompue lors de l'écriture, il y a peut-être une fonction pour vérifier si le secteur a été écrit avec succès) sur un autre et marquer le défaut comme inutilisable, ce qui sera vu comme une réduction de la capacité mais sans perte de données.

Je dois faire des recherches sur les cartes SD sur les machines sans disque.

2voto

richard Points 21

En général, les cartes SD fonctionnent avec un système de fichiers FAT. Cela permet de détecter et de marquer les secteurs défectueux. Le résultat final est que les données ne sont pas perdues mais que l'espace disponible sur la carte est légèrement réduit. Ce n'est pas parfait, bien sûr. Certaines cartes plus récentes intègrent un code de correction d'erreur (ECC) qui effectue un travail similaire à un niveau inférieur, ce qui, en théorie, devrait rendre encore moins probable la perte d'informations écrites sur une carte. C'est toujours possible, mais moins probable.

2voto

LawrenceC Points 70381

Les flashes NAND fonctionnent en fournissant un certain nombre de "blocs d'effacement" - chaque "bloc d'effacement" comporte un certain nombre de "pages". En général, il s'agit de blocs d'effacement de 128 Ko divisés en 64 pages de 2 Ko. Chaque page peut faire l'objet d'une écriture qui fait passer les bits de 1 à 0. Si vous voulez faire repasser un bit de 0 à 1, vous devez envoyer une commande d'effacement à l'ensemble du bloc d'effacement, ce qui remet tous les bits à 1 (sauf si le bloc est usé).

L'écriture n'est pas parfaite et certains bits peuvent ne pas passer de 1 à 0, ou se retourner d'eux-mêmes.

Il existe également une "zone hors bande", ou une page supplémentaire, par bloc d'effacement. Là, des codes ECC peuvent être écrits, et c'est ce qui est utilisé pour les opérations suivantes SLC flash. Pour MLC flash, ils utilisent BCH codes qui peuvent récupérer plus de bits.

En interne, c'est ainsi que les choses fonctionnent. Les cartes SD n'offrent pas d'accès à la NAND brute, mais passent par un microcontrôleur interne qui est responsable du nivellement de l'usure et de toutes ces bonnes choses. Le dispositif hôte ne voit jamais la NAND brute, mais seulement un dispositif de bloc. Mais SD utilise ECC ou BCH AFAIK .

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X