Logical block addressing

Le LBA, ou  (« adressage par bloc logique », en anglais), est historiquement un moyen d’adresser les secteurs d’un disque dur. Cette méthode d’adressage a ensuite été généralisée à un grand nombre de médias de stockage.

Cet adressage permet de désigner d’une façon unique un secteur d’un disque (la plus petite unité de données transférable, en lecture ou en écriture, par ce dernier). La taille d’un secteur est le plus souvent , mais certains supports (disques optiques ou opto-magnétiques en émulation de disque dur en particulier) emploient d’autres valeurs comme  ou .

Histoire 
Les BIOS des anciens ordinateurs personnels permettaient seulement l’adressage en CHS des disques durs. Vers mi-1994 les plus gros disques durs IDE vendus avaient une capacité de plus de  (même si  ne supportait que des partitions FAT16 de  maximum) pendant que les plus gros disques durs SCSI proposaient des capacités de l’ordre de . L’adressage par CHS devenait trop limitatif et devait être remplacé.

Deux stratagèmes furent employés à cette époque pour permettre d’accéder à la capacité maximale des disques, le premier fut appelé ECHS pour ( en anglais, soit « Cylindre/Tête/Secteur amélioré » en français). L’autre stratagème fut de masquer totalement la géométrie du disque aux programmes qui l’utilisent.

L’adresse CHS — bien qu’elle ait une réalité physique pour le disque dur — n’est en effet presque jamais utile ni au BIOS, ni au système d’exploitation, ni même aux programmes qu’il exécute. En outre, le modèle d’adresse CHS ne convient bien qu’aux disques durs et aux disquettes (pas aux bandes magnétiques ou clefs USB par exemple).

C’est la norme SCSI qui a introduit en premier l’emploi des adresses LBA.

Adresse LBA 
L’adresse LBA d’un secteur de données est simplement un numéro unique pris dans l’intervalle [ 0 ... N-1 ] où N est le nombre total de secteurs du support. Comme 0 est le numéro du tout premier secteur de données, le numéro du dernier secteur est N-1 et non pas N.

Cet adressage a toujours été le seul disponible sur les périphériques SCSI (disques durs, unités de bandes magnétiques, lecteur de CD-ROM). Ainsi, la géométrie physique (nombre de plateaux, nombre de cylindres) est masquée. Les BIOS intégrés aux contrôleurs SCSI incluent donc des algorithmes de conversion entre les adresses CHS employées par MS-DOS ou Windows et les adresses LBA des disques (voir la section Conversion LBA / CHS).

Deux versions d’adresse LBA ont existé sur les disques durs IDE, une première version utilisant  pour coder l’adresse et permettant de gérer des disques d’une capacité maximale de  soit  et une seconde plus récente (en 2002 dans la norme ATA/ATAPI-6) utilisant  et qui permet de gérer des disques d’une capacité maximale de .

Plusieurs versions d’adresse LBA pour SCSI ont également existé, la première (disponible depuis l’origine  en 1979) utilise , la deuxième (disponible depuis 1987 mais normalisée avec SCSI-2 en 1994) utilise , la dernière (vers 2000) emploie  et permet de gérer des disques d’une capacité allant jusqu’à .

Conversions LBA / CHS 
Pour un disque possédant NT têtes par cylindre et NS secteurs par piste (voir Cylindre/Tête/Secteur pour une définition précise de ces quantités), la conversion d’une adresse LBA A vers CHS s’obtient de la façon suivante (dans ces formules, le symbole % représente l’opération modulo et ÷ une division sans décimales ni reste) :

 S = ( A % NS ) + 1
 H = ( A - S + 1 ) / NS % NT
 C = ( A - S + 1 ) / NS ÷ NT

ou encore en n’utilisant que des divisions sans décimales :

 C = A ÷ NT ÷ NS
 H = ( A - ( C × NT × NS ) ) ÷ NS
 S = 1 + A - ( C × NT × NS ) - H × NS 

de la dernière ligne se déduit logiquement la conversion inverse d’une adresse C / H / S vers LBA :

 A = ( C × NT × NS ) + ( H × NS ) + S - 1

Voir aussi

Articles connexes 
 Disque dur
 CHS :  en anglais soit Cylindre/Tête/Secteur
 SCSI
 Commande SCSI

Liens externes 
 Définition de l’adressage LBA ()
 Définitions de termes  (IDE) courants
 L’utilitaire Fdisk.exe peut ne pas être en mesure de créer une partition de disque dur supérieure à 
  Norme ATA/ATAPI-2 ANSI X3.279-1996 (annulée depuis 2001) 
  Norme ATA/ATAPI-6 ANSI NCITS 361-2002 
  Norme SCSI-2 ANSI X3.131-1989 
  Proposition de passage des LBA à  

Stockage informatique