Les partitions sont des séquences de blocs , et par convention de longue date, un bloc fait 512 octets.
Ainsi, une partition peut commencer à n'importe quel multiple de 512 octets à l'intérieur d'un disque, "vu" comme une très longue chaîne d'octets.
Le matériel de disque sous-jacent, cependant, qui avait à l' origine la même taille de secteur de 512 octets, utilise maintenant une taille plus grande pour plus d'efficacité. Disons que c'est 4096 octets.
Pour des raisons de compatibilité, le firmware se trouvant entre l'OS et le matériel "parle toujours par secteurs". Vous demandez donc au premier secteur, et le matériel récupère le premier bloc (4096 octets), et le firmware extrait et délivre la tranche appropriée. Vous demandez le deuxième bloc et le bloc est probablement récupéré du cache.
Jusqu'à présent, l'inadéquation de la taille du secteur n'a aucun inconvénient.
Mais le système d'exploitation utilise également des blocs (généralement appelés clusters ) pour plus d'efficacité et les alignera sur la partition. Un cluster à 4 secteurs sera donc composé des secteurs 5, 6, 7 et 8.
Lorsque le système d'exploitation demande le cluster de système de fichiers # 2, le micrologiciel est invité à indiquer les secteurs logiques 5, 6, 7 et 8. S'ils se trouvent tous dans le même bloc de disque , le disque doit effectuer UNE lecture.
Mais si la partition commence au "mauvais" secteur, le premier cluster du système de fichiers finira par exemple par se simplifier, aux secteurs 2, 3, 4 et 5. Et ils pourraient alors être à moitié dans le premier bloc de disque (1 -2-3-4), la moitié de la seconde (5-6-7-8).
Vous avez maintenant besoin d' une lecture supplémentaire . Pour des rapports OS / disque de 1: 1, cela revient à doubler les lectures. Si le rapport OS / disque est de 2: 1, un cluster est composé de deux blocs de disques matériels, vous aurez besoin de 2 + 1 = 3 lectures, une pénalité de 50%:
OS |--- cluster 12 ---|--- cluster 13 ---|--- cluster 14...
| | |
HDD --|----|----|----|-a--|--b-|-c--|-d--|-e--|----|--- BAD
| | |
HDD |----|----|----|----|-a--|--b-|-c--|-d--|----|----|--- GOOD
Ci-dessus, un cluster est composé de 4 blocs matériels (ratio 4: 1) de 2 secteurs chacun. L'alignement sur des secteurs "pairs" signifie que pour lire un cluster, ces 8 lectures de secteur se traduisent par 4 lectures de bloc. L'alignement sur les secteurs impairs signifie que les mêmes lectures de 8 secteurs nécessitent 4 + 1 = 5 lectures de bloc, une pénalité de performance de 25% (vous ajoutez une lecture tous les quatre).
Si vous avez un disque mal aligné avec un rapport de 4: 1, l'aligner le rendra 20% plus rapide (vous économisez une lecture tous les 5).
Pour rendre une partition "alignée", vous pouvez soit déplacer / définir son décalage depuis le début du disque vers le multiple approprié de 512b-secteurs, soit (selon l'outil) vous pouvez insérer une petite partition au début du disque, avec une taille telle que la prochaine partition démarre exactement sur une limite de secteur de disque. Dans ce deuxième cas, alors qu'en théorie vous avez besoin de la plupart des secteurs N-1, c'est-à-dire très peu de kilo-octets, en pratique, vous devrez probablement gaspiller une centaine de kilo-octets, peut-être des mégaoctets entiers, afin de tirer le maximum de performances de votre disque dur de plusieurs gigaoctets.
(Vous pouvez probablement récupérer cet espace, et bien plus encore, en choisissant correctement la taille du cluster du système d'exploitation ).