Lba сколько в байтах
LBA (англ. Logical block addressing) — механизм адресации и доступа к блоку данных на жёстком или оптическом диске, при котором системному контроллеру нет необходимости учитывать геометрию самого жесткого диска (количество цилиндров, сторон, секторов на цилиндре).
ФОРМУЛА ПЕРЕВОДА ИЗ LBA:
Значение Гб = значение LBA*512\1024\1024\1024
Значение Мб = значение LBA*512\1024\1024
Из программы Виктория или MHDD берете общее кол-во LBA.
Делите это значение на кол-во гигабайт на диске.
Кол-во гигабайт можно узнать, если зайти: Панель управления\Все элементы панели управления\Администрирование\Управление компьютером\Управление дисками
В итоге получаем сколько LBA составляет 1 Гб. Ну а там арифмируйте чего нужно.
у меня 500 ГИТАБАЙТ жесткий - СКОЛЬКО LBA ?(допустим кластер 512) . знаете почему спрашиваю? ..да потому-что его, последние 5 часов, мастурбирует DMDE ( на 261 LBA) и я думаю - ложиться спать или никогда не ложиться . .
у меня 500 ГИТАБАЙТ жесткий - СКОЛЬКО LBA ?(допустим кластер 512) . знаете почему спрашиваю? ..да потому-что его, последние 5 часов, мастурбирует DMDE ( на 261 LBA) и я думаю - ложиться спать или никогда не ложиться . .
Опытным путем выяснили что 1 мегабайт = 2099,067571633238 LBA, конечно данные не 100%, но для обрезки диска годны.
Преобразование CHS
Значение LBA | Кортеж CHS |
---|---|
0 | 0, 0, 1 |
1 | 0, 0, 2 |
2 | 0, 0, 3 |
62 | 0, 0, 63 |
63 | 0, 1, 1 |
945 | 0, 15, 1 |
1007 | 0, 15, 63 |
1008 | 1, 0, 1 |
1070 | 1, 0, 63 |
1071 | 1, 1, 1 |
1133 | 1, 1, 63 |
1134 | 1, 2, 1 |
2015 г. | 1, 15, 63 |
2016 г. | 2, 0, 1 |
16 127 | 15, 15, 63 |
16 128 | 16, 0, 1 |
32 255 | 31, 15, 63 |
32 256 | 32, 0, 1 |
16 450 559 | 16319, 15, 63 |
16 514 063 | 16382, 15, 63 |
В схеме адресации LBA секторы нумеруются как целочисленные индексы; при сопоставлении с кортежами CHS ( сектор головки блока цилиндров ) нумерация LBA начинается с первого цилиндра, первой головки и первого сектора дорожки. Как только гусеница исчерпана, нумерация продолжается до второй головки, оставаясь внутри первого цилиндра. Когда все головки внутри первого цилиндра исчерпаны, нумерация продолжается со второго цилиндра и т. Д. Таким образом, чем ниже значение LBA, тем ближе физический сектор к первому (то есть самому внешнему) цилиндру жесткого диска.
Кортежи CHS могут быть сопоставлены с адресом LBA по следующей формуле:
LBA = ( C × HPC + H ) × SPT + (S - 1)
Адреса LBA могут быть сопоставлены с кортежами CHS с помощью следующей формулы («mod» - это операция по модулю , то есть остаток , а «÷» - целочисленное деление , то есть частное деления, при котором отбрасывается любая дробная часть):
C = LBA ÷ ( HPC × SPT ) H = ( LBA ÷ SPT ) мод HPC S = ( LBA мод SPT ) + 1
Согласно спецификациям ATA, «Если содержание слов (61:60) больше или равно 16 514 064, то содержание слова 1 [количество логических цилиндров] должно быть равно 16 383». Следовательно, для LBA 16450559 диск ATA может фактически ответить кортежем CHS (16319, 15, 63), и количество цилиндров в этой схеме должно быть намного больше 1024, разрешенного INT 13h.
Зависимости от операционной системы
Операционные системы, которые чувствительны к геометрии диска, сообщаемой BIOS, включают семейства Solaris , DOS и Windows NT, где NTLDR ( NT , 2000 , XP , Server 2003 ) или WINLOAD ( Vista , Server 2008 , Windows 7 и Server 2008 R2 ) используют основную загрузку запись, которая обращается к диску, используя CHS; Версии Windows для x86-64 и Itanium могут разбивать диск с помощью таблицы разделов GUID, которая использует адресацию LBA.
Некоторые операционные системы не требуют перевода, потому что они не используют геометрию, сообщаемую BIOS, в их загрузчиках . Среди этих операционных систем - BSD , Linux , macOS , OS / 2 и ReactOS .
Усовершенствованный BIOS
Однако реализация IBM BIOS, определенная в процедурах доступа к диску INT 13h , использовала совершенно другую 24-битную схему для адресации CHS: 10 бит для цилиндра, 8 бит для головки и 6 бит для сектора, или 1024 цилиндра, 256 головок, и 63 сектора. Эта реализация INT 13h предшествовала стандарту ATA, поскольку он был представлен, когда IBM PC имел только хранилище гибких дисков , а когда жесткие диски были представлены на IBM PC / XT , интерфейс INT 13h не мог быть практически переработан из-за проблемы обратной совместимости . При наложении сопоставления ATA CHS с сопоставлением BIOS CHS наименьший общий знаменатель составлял 10: 4: 6 бит, или 1024 цилиндра, 16 головок и 63 сектора, что давало практический предел 1024 × 16 × 63 секторов и 528 МБ (504 МБ. ), предполагая 512-байтовые сектора.
В нормальных или ни один метод возвращается к ранее 10: 4: 6 битный режим CHS , который не поддерживает адресации больше , чем 528 Мб.
До выпуска стандарта ATA-2 в 1996 году было несколько больших жестких дисков, которые не поддерживали адресацию LBA, поэтому можно было использовать только большие или обычные методы. Однако использование большого метода также создавало проблемы переносимости, поскольку разные BIOS часто использовали разные и несовместимые методы преобразования, а жесткие диски, разделенные на разделы на компьютере с BIOS от определенного производителя, часто не могли быть прочитаны на компьютере с другой маркой BIOS. . Решение заключалось в использовании программного обеспечения преобразования, такого как OnTrack Disk Manager , Micro House EZ-Drive / EZ-BIOS и т. Д., Которое устанавливалось в загрузчик ОС на диске и заменяло процедуры INT 13h во время загрузки пользовательским кодом. Это программное обеспечение также может включать поддержку расширений LBA и INT 13h для старых компьютеров с несовместимыми с LBA BIOS.
LBA-перевод
Когда BIOS настроен на использование диска в режиме трансляции с помощью LBA, BIOS обращается к оборудованию в режиме LBA, но также представляет преобразованную геометрию CHS через интерфейс INT 13h. Количество цилиндров, головок и секторов в преобразованной геометрии зависит от общего размера диска, как показано в следующей таблице.
Размер диска | Секторы / трек | Головы | Цилиндров |
---|---|---|---|
1 <X ≤ 504 МБ | 63 | 16 | Х ÷ (63 × 16 × 512) |
504 МБ <X ≤ 1008 МБ | 63 | 32 | Х ÷ (63 × 32 × 512) |
1008 МБ <X ≤ 2016 МБ | 63 | 64 | Х ÷ (63 × 64 × 512) |
2016 МиБ <X ≤ 4032 МиБ | 63 | 128 | X ÷ (63 × 128 × 512) |
4032 МБ <X ≤ 8032,5 МБ | 63 | 255 | X ÷ (63 × 255 × 512) |
LBA48
СОДЕРЖАНИЕ
Как перевести LBA в гигабайты
Перевести величину в мегабайтах в биты/байты/килобайты/гигабайты
Дана емкость винчестера V в мегабайтах. Написать программу, которая бы по введенному номеру.
LBA и CHS
Здравствуйте пишу загрузчик, встал такой вопрос, как по таблице разделов узнать работаем мы с.
CHS -> LBA
Здравствуйте! Че то я совсем запутался:( Кто то может объяснить мне что я не так считаю? Вот.
Число секторов LBA ATA
Здравствуйте, хочу узнать число секторов LBA на жестком диске. Использую команду Identify Device.
Обзор
При логической адресации блоков для адресации данных используется только одно число, и каждый линейный базовый адрес описывает отдельный блок.
Схема LBA заменяет более ранние схемы, которые открывали физические детали устройства хранения программному обеспечению операционной системы. Главной из них была схема сектора головки блока цилиндров (CHS), где адресация блоков осуществлялась посредством кортежа, определяющего цилиндр, головку и сектор, в котором они появлялись на жестком диске . CHS плохо соответствовал устройствам, отличным от жестких дисков (например, ленты и сетевое хранилище), и обычно не использовался для них. CHS использовался в ранних приводах MFM и RLL , и как он, так и его преемник, расширенный сектор головки блока цилиндров (ECHS), использовались в первых приводах ATA . Однако в современных дисковых накопителях используется зонная битовая запись , где количество секторов на дорожку зависит от номера дорожки. Несмотря на то, что дисковый накопитель будет сообщать некоторые значения CHS в виде секторов на дорожку (SPT) и головок на цилиндр (HPC), они имеют мало общего с истинной геометрией диска.
LBA была впервые представлена в SCSI как абстракция. Хотя контроллер диска по-прежнему обращается к блокам данных по их адресу CHS, эта информация обычно не используется драйвером устройства SCSI, ОС, кодом файловой системы или любыми приложениями (такими как базы данных), которые обращаются к «необработанному» диску. Системные вызовы, требующие ввода-вывода на уровне блоков, передают определения LBA драйверу устройства хранения; в простых случаях (когда один том отображается на один физический диск) этот LBA затем передается непосредственно контроллеру диска.
В избыточном массиве независимых дисков (RAID), устройствах и сетях хранения данных (SAN) и где логические диски ( номера логических устройств , LUN) состоят из виртуализации и агрегации LUN, адресация LBA отдельного диска должна транслироваться на уровне программного обеспечения, чтобы обеспечить единая адресация LBA для всего устройства хранения.
Таблица MBR, расчет CHS и LBA
Добавлено через 1 час 43 минуты
ну допустим, сектор равен 512 байт, а смещение рассчитывается от 0-го сектора, тогда максимальная длина 1-го раздела будет FF FF FF FF - ровно 3 ГиБ, а смещение 2-го раздела будет некуда записывать, т.к. под него отводятся те же 4 байта. Что делать с цилиндрами и головками?
CHS -> LBA
Здравствуйте! Че то я совсем запутался:( Кто то может объяснить мне что я не так считаю? Вот.
LBA и CHS
Здравствуйте пишу загрузчик, встал такой вопрос, как по таблице разделов узнать работаем мы с.
Таблица разделов MBR
Подскажите пожалуйста! Суть в том, что устанавливая операционную систему windows 7 х64.вылетела.
2 ТБ вроде. с цилиндрами можете делать что угодно если диск физически имеет другое строение - даже на жестких дисках это в каком то смысле условные цифры так как там изменяется геометрия от расположения дорожки
с цилиндрами можете делать что угодно если диск физически имеет другое строениеясен пень, это логический адрес, иначе, количество секторов = 256*256*256-1(точнее, 256*64*1024-1), это меньше 8ГиБ.
мне интересно, откуда берутся значения "всего секторов", "всего головок", "всего цилиндров", они статичные, берется максимальное значение чтоли? т.е. 255, 63, 1023?
для рассчета lba требуются значения "всего головок" и "секторов на дорожке"(это максимальное значение для 3-го байта из таблиц? т.е 63?), где их взять?
в подтверждение того, что "всего секторов", "всего головок", "всего цилиндров" статичны, я создал 2 файла размером 64 и 256 МиБ, утилитой fdisk создал в них таблицу mbr и первичный раздел(primary, not extended) максимальной длины.
64МиБ
00 | boot(00/80h) | . |
32d | начало раздела - головка | (0010 0000)20h |
33d | начало раздела - сектор | (10 0001)21h |
00 | начало раздела - цилиндр | (00 0000 0000) |
83h | тип раздела linux | . |
40d | конец раздела - головка | (0010 1000)28h |
32d | конец раздела - сектор | (10 000)20h |
8d | конец раздела - цилиндр | (00 0000 1000)8h |
00 08 00 00h | смещение первого сектора | 0x800 |
00 f8 01 00h | количество секторов раздела | 0x1f800 |
00 | boot(00/80h) | . |
32d | начало раздела - головка | (0010 0000)20h |
33d | начало раздела - сектор | (10 0001)21h |
00 | начало раздела - цилиндр | (00 0000 0000) |
83h | тип раздела linux | . |
97d | конец раздела - головка | (0110 0001)61h |
1d | конец раздела - сектор | (00 0001)01h |
32d | конец раздела - цилиндр | (00 0010 0000)20h |
00 08 00 00h | смещение первого сектора | 0x800 |
00 e8 07 00h | количество секторов раздела | 0x7e800 |
Добавлено через 7 минут
2,3,4 байты в таблицах одинаковые, а значит, от длины диска они не зависят Pashkanin, если пойти по ссылкам из вики можно прочитать такое вот
Для IDE-накопителей существуют несколько режимов трансляции:
CHS (Cylinder-Head-Sector) - при этом геометрия диска считается такой, какой он её сообщает компьютеру. Не обольщайтесь - у большинства накопителей реальная геометрия совсем не такая. Однако контроллер, входящий в состав жёсткого диска, производит необходимые преобразования самостоятельно, и то, как он это делает, для нас несущественно. При этом максимальное количество цилиндров - 1024 (от 0 до 1023), дорожек - 16 (от 0 до 15), секторов - 63 (от 1 до 63), а максимальный объём диска, доступный в данной трансляции без применения специальных программ - 504 Мбайт. При дисковых операциях адрес сектора передается BIOS компьютера контроллеру жёсткого диска без изменения.
LBA (Logical Block Addressing) - при этом режиме трансляции используется не та геометрия диска, которую он сообщает BIOS компьютера. Производится приведение к формату, когда количество цилиндров не превышает 1024, а количество секторов на дорожку равно 63. Приведённое количество дорожек при этом зависит от BIOS компьютера и объёма жёсткого диска и может быть равно 16, 64 , 128 или 255, последние версии BIOS как правило используют приведение к 255 (0-254) дорожкам независимо от объёма накопителя. При обращении к диску переданные в LBA-трансляции номер цилиндра, головки и сектора пересчитываются в абсолютный номер сектора, и именно он передаётся BIOS компьютера контроллеру жёсткого диска для выполнения операции. При объёме накопителя свыше 8 Гбайт количество цилиндров получается более 1024, потому на компьютерах, которые не поддерживают работу расширенного режима Int 13h, без установки специального программного обеспечения пространство за границами 8 Гбайт недоступно (независимо от режима трансляции). Иногда, впрочем, помогает обновление BIOS компьютера.
LARGE, или ECHS (Extended CHS) - при этом режиме трансляции производится приведение числа цилиндров к значению менее 1024 за счёт кратного увеличения количества дорожек. Приведённое количество дорожек строго кратно реальному количество секторов на дорожку не изменяется. Впрочем, у большинства современных накопителей количество секторов на дорожку (по уверениям контроллера накопителя) равно 63. Максимально доступный объём на компьютерах, которые не поддерживают работу расширенного режима Int 13h, зависит от реального количества дорожек, но не более 8 Гбайт (например, если диск имеет 16 дорожек, то в LARGE трансляции их может быть 16, 32, 48… 240, но не 255, т.к. 255 не кратно 16, а максимальный доступный объём - 1024 * 240 * 63 * 512 / (10243) = 7.38 Гб).
При использовании трансляции LBA или LARGE за счёт округления до целых значений несколько секторов в конце накопителя могут "выпасть" из описанного пространства и стать недоступными. Впрочем, потери обычно невелики. на вопрос - что же будет что же будет если у нас диск больше думаю ответ такой - GPT будет ли биос видел раздел, если не заполнять c, h, s? Как может повести себя контроллер диска?
Добавлено через 53 секунды
если читать цитату то создается впечатление что заполнять его нужно в любом случае причем таким образом что бы получались правильные адреса даже если геометрия не соответствует фактической
Добавлено через 11 минут
Думаю ценный совет куда копать может дать Убежденный
Адресация логических блоков - Logical block addressing
Логическая адресация блоков ( LBA ) - это общая схема, используемая для определения местоположения блоков данных, хранящихся на компьютерных запоминающих устройствах, обычно вторичных системах хранения , таких как жесткие диски . LBA - это особенно простая схема линейной адресации ; блоки располагаются по целочисленному индексу, причем первый блок имеет значение LBA 0, второй LBA 1 и так далее.
Читайте также: