Re: Clef USB défectueuse

Top Page

Reply to this message
Author: Xavier Bestel
Date:  
To: Raphael Jacquot
CC: guilde
Subject: Re: Clef USB défectueuse
Le mercredi 05 janvier 2005 à 17:35 +0100, Raphael Jacquot a écrit :
> Yves Martin wrote:
> >  A mon avis, c'est probablement tout le contraire. Voici mon idée, mais
> >  je peux me tromper, je n'ai pas cherché à vérifier cela dans une doc:
> >  - les supports sont formattés en FAT en général
> >  - effacer un fichier ou une photo sur de la FAT se limite à remplacer
> >    le premier caractère du nom de fichier par un caractère dédié à cet usage
> >    (dont je crois me souvenir qu'il s'agit de '?' mais j'ai un doute)

> >
> > Donc je crois que si le formmattage d'une FAT fait bien ce que je pense,
> > c'est-à-dire initialiser toute la structure avec l'index de fichier et des
> > clusters, il me semble 'logique' que le formattage fasse plus
> > d'écritures que l'effacement des fichiers.


C'est pas si simple. Les flash sont composées de secteurs de taille
variable (souvent 64k). Un secteur peut être soit écrit avec la
granularité que l'on veut, soit effacé d'un coup en entier (en fait
c'est encore plus compliqué: on peut soit écrire des 1 où on veut, soit
tout remettre à 0 d'un coup).
Du coup, pour simuler un block device genre disque dur (c-à-d des blocs
de 512 octets), il y a une couche de translation appelée FTL (Flash
Translation Layer) qui remappe les blocs sur des secteurs "Flash". La
FTL a une notion des blocs libres (les blocs qui n'ont pas été écrits
depuis leur dernier formatage), des blocs valides, et des blocs non
valides.
Quand tu écris dans un bloc, comme on ne peut pas faire passer un bit de
1 à 0 le bloc est déclaré non valide et un bloc libre est utilisé, qui
reçoit une copie des données de l'ancien bloc avec tes modifications.
Il y a un garbage collector qui efface les secteurs Flash pleins de
blocs IDE non valides, pour en faire des blocs libres.

Bref, tout ça pour dire que le formatage et l'effacement de fichiers ne
sont pas du tout la même opération que sur un vrai disque en FAT, sur
une flash le formatage est électriquement différent de l'écriture, mais
une écriture peut engender un formatage partiel.

> oui... mais.
> les flash sont accedees par blocks. donc...
> remplacer la premiere lettre sur 500 fichiers, c'est 500 acccès.
> formater la flash, c'est un seul accès.


Non, tout OS décent va bufferiser les accès au directory (là où sont les
noms de fichiers), donc l'effacement de 500 fichiers ne va entrainer que
très peu d'accès si ils sont dans le même répertoire.

    Xav