Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Formatage bas niveau de carte CF

9 réponses
Avatar
grossbaff
Salut à tous,

Je cherche à formater un microdrive CF en bas niveau sous Linux. Les
recherches sous Google ne donnent pas grand chose, alors auriez-vous une
idée de la commande à utiliser ? fdformat ne me paraît pas franchement
approprié et je n'ai rien trouvé d'autre pour l'instant ...

Merci d'avance à tous

9 réponses

Avatar
Nicolas George
grossbaff wrote in message <4311879f$0$2085$:
Je cherche à formater un microdrive CF en bas niveau sous Linux. Les
recherches sous Google ne donnent pas grand chose, alors auriez-vous une
idée de la commande à utiliser ? fdformat ne me paraît pas franchement
approprié et je n'ai rien trouvé d'autre pour l'instant ...


Tu as des raisons de supposer que c'est seulement possible ?

Avatar
TiChou
Dans le message <news:4311879f$0$2085$,
*grossbaff* tapota sur f.c.o.l.configuration :

Salut à tous,

Je cherche à formater un microdrive CF en bas niveau sous Linux.


Qu'entendez-vous par formater en bas niveau ? Que souhaitez-vous obtenir au
final ?

--
TiChou

Avatar
grossbaff
TiChou wrote:
Dans le message <news:4311879f$0$2085$,
*grossbaff* tapota sur f.c.o.l.configuration :

Salut à tous,



Je cherche à formater un microdrive CF en bas niveau sous Linux.



Qu'entendez-vous par formater en bas niveau ? Que souhaitez-vous obtenir
au final ?


Faire l'équivalent du formatage fait en usine par le constructeur, qui
recrée toute la géométrie du microdrive afin de corriger les erreurs du
genre secteurs défectueux, ...
En effet ce microdrive a été utilisé assez intensément (compilations sur
Zaurus de glibc et autres) et aurait besoin d'une bonne "remise à neuf"
pour compenser les quelques erreurs causées par cet usage.


Avatar
l'indien
On Sun, 28 Aug 2005 15:46:17 +0200, grossbaff wrote:

TiChou wrote:
Dans le message <news:4311879f$0$2085$,
*grossbaff* tapota sur f.c.o.l.configuration :

Salut à tous,



Je cherche à formater un microdrive CF en bas niveau sous Linux.



Qu'entendez-vous par formater en bas niveau ? Que souhaitez-vous obtenir
au final ?


Faire l'équivalent du formatage fait en usine par le constructeur, qui
recrée toute la géométrie du microdrive afin de corriger les erreurs du
genre secteurs défectueux, ...
En effet ce microdrive a été utilisé assez intensément (compilations sur
Zaurus de glibc et autres) et aurait besoin d'une bonne "remise à neuf"
pour compenser les quelques erreurs causées par cet usage.


C'est simple, tu ne peux pas.
Un microdrive est un disque dur quasi-standard.
Le formatage bas niveau n'est faisable qu'avec des outils spéciaux.
Les têtes d'écriture ne sont pas capables de régénérer ces informations.
Et de toute façon, les bad-blocs sont gérés et remappés par le
controleur interne. Si tu vois des bad blocs dans Linux ça veut dire que
tu as déjà bouffé tous les blocs disponibles pour le remapping des bad
blocs, donc que ton disque est mourant.



Avatar
grossbaff
Nicolas George wrote:
Tu as des raisons de supposer que c'est seulement possible ?


Parait que c'est faisable sous Windows ...

Avatar
Pascal
Salut,

On Sun, 28 Aug 2005 15:46:17 +0200, grossbaff wrote:

Je cherche à formater un microdrive CF en bas niveau sous Linux.


Qu'entendez-vous par formater en bas niveau ? Que souhaitez-vous obtenir
au final ?


Faire l'équivalent du formatage fait en usine par le constructeur, qui
recrée toute la géométrie du microdrive afin de corriger les erreurs du
genre secteurs défectueux, ...


C'est simple, tu ne peux pas.


Tu es bien péremptoire. ;-)

Un microdrive est un disque dur quasi-standard.


Il me semble qu'on parle ici de carte CompactFlash (CF), mais j'ai
peut-être mal compris.

Le formatage bas niveau n'est faisable qu'avec des outils spéciaux.


Donc si on a ces outils on peut. ;-)

Les têtes d'écriture ne sont pas capables de régénérer ces informations.


[Ici je ne parle plus de CompactFlash, pour laquelle la notion de tête
d'écriture n'a pas de sens, mais de disque magnétique]

Bien sûr que si, avec les utilitaires que tu mentionnais plus haut, à
condition que ce ne soit pas le substrat magnétique qui soit défectueux.

Et de toute façon, les bad-blocs sont gérés et remappés par le
controleur interne.


Normalement, oui.

Si tu vois des bad blocs dans Linux ça veut dire que
tu as déjà bouffé tous les blocs disponibles pour le remapping des bad
blocs, donc que ton disque est mourant.


Pas forcément. Il se trouve justement que depuis hier je suis en train
d'essayer de récupérer les secteurs défectueux sur un disque dur Maxtor
de trois ans et demi (donc hors garantie) donné comme HS, je vais faire
part de cette expérience. Topo : des erreurs localisées en lecture alors
que les données SMART lues par smartctl indiquent que la réserve de
secteurs n'est pas épuisée (valeur SMART 183 avec limite à 63). Après
plusieurs passes de lecture/écriture avec dd pour tenter forcer le
contrôleur intégré à détecter et remapper les secteurs défectueux, le
nombre d'erreurs diminue progressivement tandis que parallèlement les
données SMART montrent que le nombre de secteurs réalloués augmente.
Actuellement plus aucune erreur n'est signalée, et le nombre de secteurs
réalloués reste stable. Visiblement le contrôleur n'avait pas réalloué
tous les secteurs défectueux alors qu'il avait de la réserve, il a fallu
le pousser un peu.

Cependant cette procédure est parfaitement inutile pour un support à
mémoire flash. Les cycles d'écriture ne feraient que l'user prématurément.




Avatar
grossbaff
wrote:
Un microdrive est un disque dur quasi-standard.



Il me semble qu'on parle ici de carte CompactFlash (CF), mais j'ai
peut-être mal compris.


Les microdrive sont des mini-disques durs sous forme de CF2 ... En gros,
c'est "comme une CF2" pour l'interface et la gestion par le périphérique
mais à l'intérieur c'est comme un disque dur.

Cependant cette procédure est parfaitement inutile pour un support à
mémoire flash. Les cycles d'écriture ne feraient que l'user prématurément.


Voir plus haut, c'est pas du flash ...


Avatar
l'indien
On Sun, 28 Aug 2005 18:34:31 +0200, wrote:

Salut,

On Sun, 28 Aug 2005 15:46:17 +0200, grossbaff wrote:

Je cherche à formater un microdrive CF en bas niveau sous Linux.


Qu'entendez-vous par formater en bas niveau ? Que souhaitez-vous obtenir
au final ?


Faire l'équivalent du formatage fait en usine par le constructeur, qui
recrée toute la géométrie du microdrive afin de corriger les erreurs du
genre secteurs défectueux, ...


C'est simple, tu ne peux pas.


Tu es bien péremptoire. ;-)

Un microdrive est un disque dur quasi-standard.


Il me semble qu'on parle ici de carte CompactFlash (CF), mais j'ai
peut-être mal compris.


Pour une carte Compact-flash, ce n'est généralement pas possible non
plus, pour d'autres raisons.

Le formatage bas niveau n'est faisable qu'avec des outils spéciaux.


Donc si on a ces outils on peut. ;-)


Il faut préciser que ce sont des _machines_ spéciales.
Il faut démonter les plateaux et les sortir du disque...

Les têtes d'écriture ne sont pas capables de régénérer ces informations.


[Ici je ne parle plus de CompactFlash, pour laquelle la notion de tête
d'écriture n'a pas de sens, mais de disque magnétique]

Bien sûr que si, avec les utilitaires que tu mentionnais plus haut, à
condition que ce ne soit pas le substrat magnétique qui soit défectueux.


Non. Les informations de formatage bas niveau (localisation des pistes, ...)
sont générées avant que les plateaux ne soient montés dans les disques.
Ce sont des informations qui ont un format totalement différent des infos
que les têtes peuvent écrire sur le disque. Ca a un énorme avantage:
il est impossible, pour une tête d'écriture, de détruire par erreur ces
informations.

Et de toute façon, les bad-blocs sont gérés et remappés par le
controleur interne.


Normalement, oui.

Si tu vois des bad blocs dans Linux ça veut dire que
tu as déjà bouffé tous les blocs disponibles pour le remapping des bad
blocs, donc que ton disque est mourant.


Pas forcément. Il se trouve justement que depuis hier je suis en train
d'essayer de récupérer les secteurs défectueux sur un disque dur Maxtor
de trois ans et demi (donc hors garantie) donné comme HS, je vais faire
part de cette expérience. Topo : des erreurs localisées en lecture alors
que les données SMART lues par smartctl indiquent que la réserve de
secteurs n'est pas épuisée (valeur SMART 183 avec limite à 63).


Ce qui veut dire que ton controleur ou son firmware sont foireux.
A ta place, je changerai de disque.

Après
plusieurs passes de lecture/écriture avec dd pour tenter forcer le
contrôleur intégré à détecter et remapper les secteurs défectueux, le
nombre d'erreurs diminue progressivement tandis que parallèlement les
données SMART montrent que le nombre de secteurs réalloués augmente.


Rien ne te garanti que les données que tu as "récupéré" sont valide.
Il y a même une très forte probabilité qu'elles soient erronées.

Actuellement plus aucune erreur n'est signalée, et le nombre de secteurs
réalloués reste stable. Visiblement le contrôleur n'avait pas réalloué
tous les secteurs défectueux alors qu'il avait de la réserve, il a fallu
le pousser un peu.


Hum, il est déjà dans un état ou il n'est plus fiable puisque le
disque n'arrive plus à gérer les bad-blocks. Je ne mettrai pas une
donnée censée être pérenne sur un tel disque...

Cependant cette procédure est parfaitement inutile pour un support à
mémoire flash. Les cycles d'écriture ne feraient que l'user prématurément.


C'est assez faux. Les flash NAND ont des problèmes de fiabilité assez
similaires qux disques durs, même si les causes sont différentes.
Un bit sur une flash NAND est susceptible de changer d'état à tout
moment. Pour palier à ce problème, les flash NAND ont des mécanismes de
correction d'erreurs, assez similaires à ceux utilisés sur les disques
durs. Les mécanismes d'ECC sont généralement susceptible de corriger 4
ou 5 bits deffectueux par secteur.
De plus, les blocs de flash ont un nombre très grand mais limité de
cycles d'effacements.
Pour éviter qu'il n'y ai trop d'erreurs et pour répartir de façon
homogène les cycles d'effacement, le controleur de la flash relit et
remappe régulièrement tous les blocs (le nombre d'erreurs sur un secteur
augmente au cours du temps, quand il n'est pas recyclé).
S'il s'apperçoit qu'un bloc a plus d'erreurs qu'il ne peut en corriger,
il met se bloc dans sa table des bad-blocs.
Finalement, ça ressemble énormément à ce que le controleur d'un disque
dur...





Avatar
Pascal

Les microdrive sont des mini-disques durs sous forme de CF2 ... En gros,
c'est "comme une CF2" pour l'interface et la gestion par le périphérique
mais à l'intérieur c'est comme un disque dur.


Désolé pour la méprise.
Comme l'a dit Nicolas, les outils de _vrai_ formatage de bas niveau sont
spécifiques et les fabricants ne les diffusent pas à tout le monde, donc
il n'y a pas grand chose à espérer de ce côté.

Si le disque est compatible SMART, tu peux utiliser le programme
"smartctl" pour voir son état, et en particulier regarder si le compteur
de secteurs réalloués a atteint la limite.

Mais de toute façon le formatage de bas niveau ou la réallocation ne
sont pas le seul moyen de compenser la présence de secteurs défectueux.
Si leur nombre est faible et stable et s'il ne sont pas trop mal placés
(c'est gênant quand le superblock est logé dans un secteur défectueux),
on peut se contenter de passer l'utilitaire de vérification du système
de fichiers (ex: e2fsck pour ext2) pour les repérer et les marquer afin
qu'ils soient mis en quarantaine.