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

Disques durs avec secteurs de 4096 octets

7 réponses
Avatar
Le Gaulois
Bonjour,

depuis fin 2009, Western Digital vend des disques durs "Advanced
Format Structure", avec secteurs de 4096 octets au lieu de 512.

Ces disques durs donnent l'illusion que leurs secteurs sont
de 512 octets, ce qui les rend compatibles avec tous systèmes
d'exploitation, tous systèmes de fichiers, toute utilisation,
qui supposent que les secteurs font 512 octets. Le problème est
que si les blocks alloués par des systèmes de fichiers ne sont
pas alignés sur ces secteurs physiques il peut y avoir une
dégradation des performances.

Cette dégradations des performances peut être plus ou moins grande
suivant la taille des fichiers, le système de fichier et qu'il
s'agit de lecture ou d'écriture. En lecture, ça n'est jamais
catastrophique, en écriture de petits fichiers, ça peut être
l'horreur.

http://www.ibm.com/developerworks/linux/library/l-4kb-sector-disks/

La difficulté est que le partitionnement classique des disques
de PC est basé sur les pseudo paramètres CHS, avec un alignement
des partitions sur ces pseudo cylindres.

Le partitionnement GPT n'est pas compatible avec grand chose,
c'est probablement la solution d'un futur lointain, époque
où les PC actuels et les systèmes d'exploitations actuels auront
tous été éliminés dans les déchetteries.

Quelles solutions adopter pour résoudre ce problème ?

Sur la page d'IBM, il y en a une consistant à changer
les paramètres CHS pour le partitionnement avec
fdisk -H 224 -S 56
Je me demande si on ne risque pas d'avoir ensuite de gros
problèmes si quelque chose suppose que les paramètres CHS
sont ceux par défaut.

La solution la plus simple serait d'éviter les disques avec
secteurs de 4096 octets. Je ne sais pas si les marques autres
que Western Digital y sont passées aussi. Comme ça permet
d'augmenter la densité utile des disques, il est probable
que les autres fabricants suivent et que dans peu de temps
on ne trouve plus que ça.

7 réponses

Avatar
Michel__D
Bonjour,

Le Gaulois a écrit :
Bonjour,

depuis fin 2009, Western Digital vend des disques durs "Advanced
Format Structure", avec secteurs de 4096 octets au lieu de 512.

Ces disques durs donnent l'illusion que leurs secteurs sont
de 512 octets, ce qui les rend compatibles avec tous systèmes
d'exploitation, tous systèmes de fichiers, toute utilisation,
qui supposent que les secteurs font 512 octets. Le problème est
que si les blocks alloués par des systèmes de fichiers ne sont
pas alignés sur ces secteurs physiques il peut y avoir une
dégradation des performances.




Il suffira d'utiliser l'utilitaire de partionnement prévu à cet effet.


Cette dégradations des performances peut être plus ou moins grande
suivant la taille des fichiers, le système de fichier et qu'il
s'agit de lecture ou d'écriture. En lecture, ça n'est jamais
catastrophique, en écriture de petits fichiers, ça peut être
l'horreur.

http://www.ibm.com/developerworks/linux/library/l-4kb-sector-disks/

La difficulté est que le partitionnement classique des disques
de PC est basé sur les pseudo paramètres CHS, avec un alignement
des partitions sur ces pseudo cylindres.



Je comprends mieux le fait que mes partitions vista sur 2 portables
achetés récemment commencent toutes au secteur 2048.
Avatar
Emmanuel Florac
Le Mon, 03 May 2010 11:42:24 +0200, Le Gaulois a écrit:


Le partitionnement GPT n'est pas compatible avec grand chose, c'est
probablement la solution d'un futur lointain, époque où les PC actuels
et les systèmes d'exploitations actuels auront tous été éliminés dans
les déchetteries.



J'utilise sous linux exclusivement GPT depuis 5 ans sans aucun problème.
Tous les OS windows 64 bits le supportent aussi, il me semble (quoique je
n'utilise pas du tout windows; mais win2003 et 2008 le supportent c'est
certain). Bref n'importe quel OS pas totalement dépassé (PAS winXP...)
devrait fonctionner avec GPT...

Et il est vrai que _tous_ les nouveaux modèles de disques durs seront
avec des blocs de 4K, et au passage on gagnera énormément en fiabilité,
plus qu'en densité.

--
There are two ways of constructing a software design: One way is to
make it so simple that there are obviously no deficiencies, and the
other way is to make it so complicated that there are no obvious
deficiencies. The first method is far more difficult.
C.A.R. Hoare.
Avatar
Le Gaulois
Emmanuel Florac a écrit :

J'utilise sous linux exclusivement GPT depuis 5 ans sans aucun problème.
Tous les OS windows 64 bits le supportent aussi, il me semble (quoique je
n'utilise pas du tout windows; mais win2003 et 2008 le supportent c'est
certain).



Les Windows supportent GPT avec énormément de restriction, versions
64 bits et non 32 bits, EFI et non pas BIOS, partitions de données
et non partition système... Finalement que de la science fiction.
Je n'ai jamais rencontré un PC avec EFI.

Bref n'importe quel OS pas totalement dépassé (PAS winXP...)
devrait fonctionner avec GPT...



ça tombe mal, je n'utilise que des OS complètement dépassés :
DOS (MS-, PC-, Free), Windows 2000, j'ai même le projet de
réinstaller OS/2. Pour le disque de grosse capacité que je vais
peut-être acheter, c'était pour du stockage avec Windows 2000
ou Linux. Pour DOS, des disques de 1 ou 2 Go sont bien suffisants.

Et il est vrai que _tous_ les nouveaux modèles de disques durs seront
avec des blocs de 4K



Je veux bien le croire. C'est pour ça que s'il n'y a pas de
bonne solution pour utiliser ces disques durs avec secteurs de
4K, il vaut mieux que j'achète un disque actuel avec secteurs
de 512 octets, tant qu'on en trouve.

et au passage on gagnera énormément en fiabilité,
plus qu'en densité.



Je ne suis pas sûr que la fiabilité des disques dur soit
seulement une question de nombre de bits dans les CRC,
ni que les nouvelles générations de disques soient
nécessairement plus fiables que les anciennes.
Avatar
Emmanuel Florac
Le Mon, 03 May 2010 23:23:18 +0200, Le Gaulois a écrit:


Je ne suis pas sûr que la fiabilité des disques dur soit seulement une
question de nombre de bits dans les CRC, ni que les nouvelles
générations de disques soient nécessairement plus fiables que les
anciennes.



Non, bien sûr, mais les autres paramètres étant égaux (même densité et
même capacité) un disque à blocs de 4K sera plus fiable qu'un disque en
512.

--
I have always wished for my computer to be as easy to use as my
telephone; my wish has come true because I can no longer figure out
how to use my telephone.
Bjarne Stroustrup
Avatar
Pascal Hambourg
Salut,

Le Gaulois a écrit :

depuis fin 2009, Western Digital vend des disques durs "Advanced
Format Structure", avec secteurs de 4096 octets au lieu de 512.



Doit-on comprendre que WD ne vend que des disques avec secteurs de 4096
octets, ou les deux types ?

Ces disques durs donnent l'illusion que leurs secteurs sont
de 512 octets, ce qui les rend compatibles avec tous systèmes
d'exploitation, tous systèmes de fichiers, toute utilisation,
qui supposent que les secteurs font 512 octets.



Si j'ai bien compris, ça ne se passe ainsi que dans un mode d'émulation
des secteurs de 512 octets. Il y a aussi un mode natif dans lequel les
secteurs font 4096 octets au niveau de l'interface hôte.

Le problème est
que si les blocks alloués par des systèmes de fichiers ne sont
pas alignés sur ces secteurs physiques il peut y avoir une
dégradation des performances.

Cette dégradations des performances peut être plus ou moins grande
suivant la taille des fichiers, le système de fichier et qu'il
s'agit de lecture ou d'écriture. En lecture, ça n'est jamais
catastrophique, en écriture de petits fichiers, ça peut être
l'horreur.



Ben ouais, pour écrire 512 octets d'un secteur de 4096 il faut d'abord
le lire en entier puisle réécrire en entier avec les 512 octets
modifiés. C'est comme écrire un octet dans de la RAM ECC 64 bits.

La difficulté est que le partitionnement classique des disques
de PC est basé sur les pseudo paramètres CHS, avec un alignement
des partitions sur ces pseudo cylindres.



Depuis le temps que l'adressage linéaire LBA existe, je comprends mal
qu'on s'accroche encore à l'adressage CHS. Il me semble que la table de
partition du MBR contient les deux, ne pourrait-on pas supprimer les
coordonnées CHS ? Y a-t-il encore des OS qui ne comprennent pas LBA ?
Avatar
Le Gaulois
Pascal Hambourg a écrit :

> depuis fin 2009, Western Digital vend des disques durs "Advanced
> Format Structure", avec secteurs de 4096 octets au lieu de 512.

Doit-on comprendre que WD ne vend que des disques avec secteurs de
4096 octets, ou les deux types ?



Il semble les Caviar Green soient tous avec des secteurs de 4k
et que les autres séries soient encore en secteurs de 512.
Chez les concurrents, on ne précise pas forcément la taille
des secteurs. Comme je n'ai pas lu dans les sites d'actualité
qu'ils étaient passé aux secteurs de 4k, on peut supposer
qu'ils sont encore en secteurs de 512.

> Ces disques durs donnent l'illusion que leurs secteurs sont
> de 512 octets, ce qui les rend compatibles avec tous systèmes
> d'exploitation, tous systèmes de fichiers, toute utilisation,
> qui supposent que les secteurs font 512 octets.

Si j'ai bien compris, ça ne se passe ainsi que dans un mode
d'émulation des secteurs de 512 octets. Il y a aussi un mode
natif dans lequel les secteurs font 4096 octets au niveau de
l'interface hôte.



Si j'ai bien compris, l'émulation de secteurs de 512 est le
fonctionnement par défaut. Les programmes qui sont concernés
par la taille des secteurs n'ont pas forcément été conçus
pour une taille de secteurs pouvant être autre que 512 et ne
sont même pas forcément au courant de ce que la taille réelle
des secteurs est de 4k

> La difficulté est que le partitionnement classique des disques
> de PC est basé sur les pseudo paramètres CHS, avec un alignement
> des partitions sur ces pseudo cylindres.

Depuis le temps que l'adressage linéaire LBA existe, je
comprends mal qu'on s'accroche encore à l'adressage CHS.
Il me semble que la table de partition du MBR contient les
deux, ne pourrait-on pas supprimer les coordonnées CHS ?
Y a-t-il encore des OS qui ne comprennent pas LBA ?



Pour les partitions qui ne sont pas entièrement dans les
premiers 8 Go du disque, seules les adresses LBA sont valides,
mais même si on a que des partitions qui vont au delà des 8 Go,
la contrainte de l'alignement sur les limites des pseudo
cylindres CHS existe toujours du moment que le partitionnement
est fait avec les tables du MBR et des EBR et non en GPT.

Pour s'affranchir de cette contrainte, il faudrait que tous les
programmes concernés de près ou de loin par le partitionnement,
comme les programmes de partitionnement et les chargeurs de système
d'exploitation soient prévus pour ça. Il sera plus simple de
laisser tomber le partitionnement par MBR et EBR au profit du
GPT que d'abolir la règle.

Dans l'immédiat, il faudra que j'expérimente le partitionnement
avec le fdisk de Linux et les options -H 224 -S 56
ce qui devrait permettre d'aligner le début de partition sur
des secteurs de 4k (même avec émulation de secteurs de 512)

La question que je me pose, suffit-il que le début de la partition
soit aligné sur un multiple de 8 secteurs de 512, pour que les
blocs qui constitue la constitue le soient aussi. Il faudrait
connaître la structure interne de la partition. Pour FAT, c'est
bien documenté, on trouve dans tous les vieux ouvrages sur le DOS,
pour e2fs/e3fs, c'est forcément documenté, à cause du caractère
Open Source, mais je n'ai encore jamais lu cette doc. Par contre
pour NTFS, c'est secret, Microsoft n'a jamais publié ça. Ceux
qui ont développé les pilotes Linux pour NTFS doivent bien savoir
mais je ne sais pas si ça a été publié.

Par exemple, pour une partition FAT16, la structure est
- secteur de boot
- FAT
- copie de la FAT
- répertoire racine
Si la taille totale en secteurs de 512 de ces 4 éléments n'est pas
un multiple de 8, (et a priori il n'y a aucune raison pour que ça
le soit) même si le début de la partition est aligné sur un
multiple de 8 secteurs de 512, les blocs ne seront pas alignées
sur ces secteurs de 4k.
Avatar
Michel__D
Bonjour,

Le Gaulois a écrit :
Pascal Hambourg a écrit :



[...]

La difficulté est que le partitionnement classique des disques
de PC est basé sur les pseudo paramètres CHS, avec un alignement
des partitions sur ces pseudo cylindres.


Depuis le temps que l'adressage linéaire LBA existe, je
comprends mal qu'on s'accroche encore à l'adressage CHS.
Il me semble que la table de partition du MBR contient les
deux, ne pourrait-on pas supprimer les coordonnées CHS ?
Y a-t-il encore des OS qui ne comprennent pas LBA ?



Pour les partitions qui ne sont pas entièrement dans les
premiers 8 Go du disque, seules les adresses LBA sont valides,



???

mais même si on a que des partitions qui vont au delà des 8 Go,
la contrainte de l'alignement sur les limites des pseudo
cylindres CHS existe toujours du moment que le partitionnement
est fait avec les tables du MBR et des EBR et non en GPT.



Ce n'est pas du au fait que l'on utilise un structure avec MBR, ...
mais à la technique employée par les utilitaires de partionnement.

Pour s'affranchir de cette contrainte, il faudrait que tous les
programmes concernés de près ou de loin par le partitionnement,
comme les programmes de partitionnement et les chargeurs de système
d'exploitation soient prévus pour ça. Il sera plus simple de
laisser tomber le partitionnement par MBR et EBR au profit du
GPT que d'abolir la règle.

Dans l'immédiat, il faudra que j'expérimente le partitionnement
avec le fdisk de Linux et les options -H 224 -S 56



J'ai l'impression que tu cherche à te compliquer la vie.

ce qui devrait permettre d'aligner le début de partition sur
des secteurs de 4k (même avec émulation de secteurs de 512)

La question que je me pose, suffit-il que le début de la partition
soit aligné sur un multiple de 8 secteurs de 512, pour que les
blocs qui constitue la constitue le soient aussi. Il faudrait
connaître la structure interne de la partition. Pour FAT, c'est
bien documenté, on trouve dans tous les vieux ouvrages sur le DOS,
pour e2fs/e3fs, c'est forcément documenté, à cause du caractère
Open Source, mais je n'ai encore jamais lu cette doc. Par contre
pour NTFS, c'est secret, Microsoft n'a jamais publié ça. Ceux
qui ont développé les pilotes Linux pour NTFS doivent bien savoir
mais je ne sais pas si ça a été publié.



Dans la mesure ou la partition est >= 2 Go la taille du cluster par
défaut gomme cette évolution puisque ensuite la structure NTFS est
constitué de pseudo fichiers (métadatas); $MFT, $MFTMirr, $LogFile, $Volume, $AttrDef, etc ...

Par exemple, pour une partition FAT16, la structure est
- secteur de boot
- FAT
- copie de la FAT
- répertoire racine
Si la taille totale en secteurs de 512 de ces 4 éléments n'est pas
un multiple de 8, (et a priori il n'y a aucune raison pour que ça
le soit) même si le début de la partition est aligné sur un
multiple de 8 secteurs de 512, les blocs ne seront pas alignées
sur ces secteurs de 4k.



C'est sur qu'il va falloir jouer avec le nombres de secteurs réservés
pour pouvoir compenser sur du FATxx.