Il existe deux façons différentes d'accéder à un emplacement dans un lecteur, l'une est le schéma CHS et l'autre est le schéma LBA.
CHS signifie Cylindre, Tête, Secteur et est la méthode la plus simple pour déterminer où lire ou écrire à partir du lecteur. Vous lui dites d'utiliser le cylindre x, la tête y et le secteur z et de lire ou d'écrire le contenu de cet emplacement vers ou depuis une adresse dans la mémoire (un tampon). Il est dérivé des composants physiques réels d'un disque dur (traditionnel, rouille en rotation), où vous avez des cylindres physiques et des têtes de lecture. Le secteur est la plus petite unité adressable, et était traditionnellement fixé à 512 octets.
LBA est un adressage d'octets logique dans lequel le lecteur lit et écrit dans une adresse de secteur par son décalage, par exemple, lit le 123837e secteur sur le disque ou l'écrit dans le 123734e secteur sur le disque (à partir de zéro).
Le problème? Chacune de ces valeurs est limitée dans la plage. En fait, en raison de la sévérité du CHS, le LBA a dû être introduit. Pour CHS, les valeurs possibles pour C (le cylindre) sont 1023, tandis que H (têtes) peut être 255 maximum, et S (secteur) ne peut aller que jusqu'à 63, ce qui signifie que vous pouvez avoir au plus 1024 cylindres x 255 têtes x 64 secteurs x 512 octets mappés au format CHS traditionnel, vous donnant un grand total de moins de 8 Gio! En utilisant CHS, il n'est tout simplement pas possible d'accéder à un disque de plus de 8 Gio!
LBA a donc été introduit avec une limite de 32 bits vous donnant 2 ^ 32 x 512 octets ou 2 TiB de taille de disque - c'est la raison pour laquelle un disque MBR ne peut pas dépasser 2 To, car il utilise CHS et LBA pour spécifier les tailles de partition, et ni l'un ni l'autre ne peut prendre en charge quoi que ce soit sur 2 To.
De nouvelles options améliorées ont été introduites, comme le schéma de partitionnement GPT qui étend LBA à 64 bits, vous offrant beaucoup plus que ce dont vous aurez besoin à 2 ^ 64 x 512 octets - mais il y a un hic: beaucoup d'héritage les systèmes d'exploitation matériels et hérités et les implémentations BIOS héritées et les pilotes hérités ne prennent pas en charge UEFI ou GPT, et beaucoup de gens aimeraient avoir quelque chose qui peut être mis à niveau plus facilement pour dépasser la limite de 2 To sans avoir à réécrire la pile entière de zéro. Et, enfin, nous atteignons la taille du secteur 4096.
Voir, à travers toutes les limitations discutées ci-dessus, une chose a été une hypothèse fixe: la taille du secteur. Depuis le premier jour, il a été de 512 octets et il en est resté ainsi depuis. Mais récemment, les fabricants de disques durs ont réalisé qu'il était possible de faire un peu de magie: prenez le CHS traditionnel ou le LBA 32 bits et remplacez simplement la taille du secteur par 4096 (4k) au lieu de 512 octets. Quand un OS dit "donnez-moi le 2ème secteur sur le disque" en demandant LBA 1 (parce que LBA 0 est le premier), nous n'allons pas lui donner les octets 512 - 1023 mais plutôt les octets 4096 - 8191.
Soudain, notre limite de 2 To est mise à niveau à 2 ^ 32 x 4096 octets, ou 16 TiB, sans avoir à abandonner le MBR, passer à UEFI ou GPT, ou quoi que ce soit!
Le seul hic, c'est que si le système d'exploitation ne sait pas qu'il s'agit d'un disque magique qui utilise 4096 secteurs au lieu de 512 secteurs d'octets, il y aura un décalage. Chaque fois que le système d'exploitation dit "Hé, vous, disque, écrivez-moi ces 512 octets pour compenser xxx", le disque utilisera 4096 octets pour stocker ces 512 octets (le reste étant des zéros ou des données indésirables, en supposant que vous ne vous retrouvez pas avec un dépassement de mémoire) car ils ne communiquent pas en octets, ils communiquent en secteurs.
Ainsi, les BIOS incluent désormais (parfois) une option pour vous permettre de spécifier manuellement qu'une taille de secteur de 512 octets doit être utilisée au lieu de la taille de secteur native de 4096 octets que les disques plus récents utilisent - avec la mise en garde que vous ne pouvez pas l'utiliser pour accéder à plus de 2 To du disque sur un système MBR, comme c'était le «bon vieux temps». Mais les systèmes d'exploitation modernes qui prennent en charge 4k peuvent profiter de tout cela pour utiliser cette magie pour lire et écrire en morceaux de 4096 octets et voilà!
(Un avantage supplémentaire est que les choses sont beaucoup plus rapides parce que si vous lisez et écrivez 4096 octets à la fois, il y a moins d'opérations pour lire ou écrire, disons, 4 Go de données.)