До LBA у вас было просто физическое сопоставление диска, которое изначально на старой машине, совместимой с IBM-PC, выглядело примерно так:
- Cylinder Number : (10-bits)
- 0-1024 (1024 = 2^10)
- Head Number : (8-bits)
- 0-256 (256 = 2^8)
- Sector Number : (6-bits)
- 0 is reserved typically for the "boot sector" (c-0,h-0,s-0)
- 1-64 (63 = 2^6 - 1) *0 зарезервировано
Всего битов адреса CHS: 24 бита
Раньше средний размер (файл|блок|сектор) составлял 512 байт.
Пример из википедии:
512(bytes) × 63(sectors) x 256(heads) × 1024(cylinders) = 8064 MiB (yields what is known as 8 GiB limit)
Что меня смущает, так это то, что на самом деле означает head, когда он упоминается как heads-per-cylinder
в формуле LBA. Для меня это не имеет смысла, потому что, насколько я знаю, голова — это head, и если это не съемный носитель, каждая пластина имеет две из них (верхняя и нижняя) для каждой из ее поверхностей.
На мой взгляд, это было бы больше, поскольку они назывались heads-per-disk
или heads-per-surface
, поскольку цилиндр проходит через весь диск (несколько пластин).
Адресация логических блоков:
Формула: A = (c ⋅ Nheads + h) ⋅ Nsectors + (s − 1)
A
- Адрес логического блокаNheads
- Количество головок на дискеheads-per-disk
Nsectors
- Количество секторов на дорожкеsectors-per-track
c,h,s
- номер цилиндра,головки,сектора24-bits total (10+8+6)
Глядя на первый пример на здесь:
For geometry 1020 16 63 of a disk with 1028160 sectors CHS 3 2 1 is LBA 3150=(3× 16+2)× 63
Геометрия:
- Номер цилиндра - 1020 (0-1024)
- Начальный номер - 16 (0-256)
- Номер сектора - 63 (1-64)
Как эти геометрические числа CHS, отображаемые в кортеж CHS (3,2,1), будут использоваться в этой формуле?