Ébauche d'article sur les mémoires flash, et en particulier, les clés USB peu chères dont la capacité annoncée est très supérieure à la réalité.
En plus de ne pas être honnêtes ces clés sont relativmeent dangereuses puisque les données écrites au délà de la capacité réelle sont perdues peu après l'écriture, au mieux elles restent dans un cache quelques secondes avant de disparaitre.
L'OS rapportera probablement une erreur d'accès à la prochaine tentative de lecture de ces données.
sd 14:0:0:0: [sdc] Write cache: disabled, read cache: enabled, doesn't support DPO or FUA
sdc: sdc1
```
Comme j'avais de forts doutes sur cette clé, j'ai lancé `f3probe` avant même d'essayer d'écrire quoique ce soit sur la clé.
```
# ./f3probe /dev/sdc
F3 probe 5.0
Copyright (C) 2010 Digirati Internet LTDA.
This is free software; see the source for copying conditions.
Please unplug and plug back the USB drive. Waiting... Thanks
[... x6 ... ]
Please unplug and plug back the USB drive. Waiting... Thanks
CAUTION CAUTION CAUTION
No more resets are needed, so do not unplug the drive
Probe finished, recovering blocks... Done
Bad news: The device `/dev/sdc' is a counterfeit of type limbo
You can "fix" this device using the following command:
f3fix --last-sec=26984447 /dev/sdc
Device geometry:
*Real* size: 12.87 GB (3373056 blocks)
Announced size: 125.00 GB (32768000 blocks)
Module: 128.00 GB (2^37 Bytes)
Block size: 4.00 KB (2^12 Bytes)
Last good sector: 26984447
Probe time: 258.70 seconds
```
Le message est assez clair. Je ne me suis pas encore renseigné sur la nature exacte des "limbo", mais ça viendra.
Mon hypothèse actuelle est que le début de la flash est normale et foncitionne et qu'à partir d'une certaine taille, le contrôleur cycle sur un intervalle d'adresses.
# Réparation
Comme le contrôleur en lui même ment, il n'est pas facile de faire reconnaître la clé comme faisant 12 Go et non 128. Malgré celà, une solution très simple consiste à créer une partition dont
la taille correspond à celle de la flash détectée comme correcte.
`f3probe` nous donnait le dernier bon secteur, ainsi qu'un exemple de commande `f3fix` à utiliser pour créer une partition de la bonne taille.
Par exemple un système de cache qui permet conserver les données écrites, ainsi une lecture sera servie par le cache et empêchera la détection du fait que les données n'ont jamais été réeelements inscrites à l'adresse indiquée.
De préférence il faut "ennuyer" ces vendeurs, qui, au mieux, n'ont pas fait attention à la marchandise qu'ils revendaient, au pire sont parfaitement au courant.
Avec l'augmentation de la taille des clés il devient difficile de s'en rendre compte rapidement, cet exemple avec la clé de 12 Go, aurait pu me prendre des mois, il aurait alors été bien trop tard pour un remboursement.
Encore merci à l'auteur de `f3probe`.
Essayez de l'utiliser, rapidement après l'achat, sur toutes les clés et mémoires:w
flash en tout genre afin de pouvoir embêter ces vendeurs.
Ça serait bien de rendre ce marché non rentable pour qu'il.s'arrête naturellement.