Что такое lba жесткого диска
Что такое lba жесткого диска
LBA (англ. Logical block addressing ) — механизм адресации и доступа к блоку данных на жёстком диске, при котором системному контроллеру нет необходимости учитывать геометрию самого жесткого диска (количество цилиндров, сторон, секторов на цилиндре). Контроллеры современных IDE-дисков в качестве основного режима трансляции адреса используют LBA.
A drive which can support LBA mode indicates this in the Identify Drive Information.
LBA 0 = Цилиндр 0/Головка 0/Сектор 1
Еще одно преимущество метода адресования LBA — то, что ограничение размера диска обусловлено лишь разрядностью LBA. В настоящее время для задания номера блока используется 48 бит, что при использовании двоичной системы исчисления даёт возможность адресовать на приводе (2 48 ) 281 474 976 710 656 блоков (то есть, при блоке в 512 байт, 128 ПиБ).
LBA заменяет собой более ранние схемы (CHS и Large), в которых нужно было учитывать физические особенности устройства дисков.
Технический комитет X3T10 установил правила получения адреса блока в режиме LBA:
[2]
Преобразования между CHS и LBA
Кортежи CHS можно преобразовать в адреса LBA и обратно по следующим формулам:
где — число головок,
— число цилиндров,
— число секторов на дорожке,
— операция взятия остатка от деления.
Примечания
Это заготовка статьи о компьютерах. Вы можете помочь проекту, исправив и дополнив её. Это примечание по возможности следует заменить более точным. |
Полезное
Смотреть что такое «LBA» в других словарях:
LBA — Saltar a navegación, búsqueda LBA puede referirse a: Logical block addressing (localización lógica de bloques), método usado para especificar la localización de los bloques de datos en los sistemas de almacenamiento; Aeropuerto de Leeds Bradford … Wikipedia Español
LBA — [Abk. für Logical Block Adressing, dt. »Logische Blockadressierung«] das, Verfahren, das von EIDE und SCSI Festplatten (EIDE, SCSI) benutzt wird, um Kapazitäten bis ca. 8 GByte zu verwalten. Es wurde etwa zeitgleich mit EIDE eingeführt, um… … Universal-Lexikon
LBA — es la sigla de logical block addressing, dirección lógica de bloques. Es un método usado para especificar la localización de los bloques de datos almacenados en los sistemas de almacenamiento del ordenador (generalmente almacenamiento secundario) … Enciclopedia Universal
LBA — may stand for:* Late Bronze Age, an archaeological era * Leeds Bradford International Airport * Little Big Adventure, an adventure game * Linear bounded automaton, a construct in computability theory * Logical block addressing, a method for… … Wikipedia
LBA — (Logical Block Addressing) allocation of unique digital addresses (that allow access by input/output) to various sectors on the hard drive … English contemporary dictionary
LBA — Die Abkürzung LBA steht für: Langzeitbelichtungsaufnahme, Fotografien ab einer Belichtungszeit von mehreren Sekunden Lebendblut Analyse, ein Verfahren zur Blutbeobachtung in Echtzeit Leeds Bradford International Airport (IATA Flughafencode)… … Deutsch Wikipedia
LBA — Cette page d’homonymie répertorie les différents sujets et articles partageant un même nom. Sigles d’une seule lettre Sigles de deux lettres > Sigles de trois lettres Sigles de quatre lettres … Wikipédia en Français
LBA 2 — Little Big Adventure 2 Little Big Adventure 2 Twinsen s Odyssey Éditeur Electronic Arts Développeur … Wikipédia en Français
LBA — laser balloon angioplasty; left basal artery … Medical dictionary
LBA — • Linear/Logic Block Addressing • Leeds/Bradford, England, UK internationale Flughafen Kennung … Acronyms
Методы адресации HDD (CHS и LBA).
Методы адресации HDD (CHS и LBA).
Существует два основных метода, используемых для адресации (или нумерации) секторов накопителей. Первый из них называется CHS (Cylinder Head Sector). Это название образовано по трем соответствующим координатам, которые используются для адресации каждого сектора дисковода. Во втором методе, который носит название LBA (Logical Block Address), для адресации секторов накопителя используется только одно значение. В основе метода CHS лежит физическая структура накопителей (а также способ организации его внутренней работы).
Метод LBA, в свою очередь, представляет собой более простой и логический способ нумерации секторов, не зависящий от внутренней физической архитектуры накопителей.
При последовательном считывании данных с накопителя в режиме CHS процесс чтения начинается с цилиндра 0, головки 0 и сектора 1 (который является первым сектором на данном диске), после чего считываются все остальные секторы первой дорожки. Затем выбирается следующая головка и читаются все секторы, находящиеся на этой дорожке. Это продолжается до тех пор, пока не будут считаны данные со всех головок первого цилиндра. Затем выбирается следующий цилиндр, и процесс чтения продолжается в такой же последовательности.
При последовательном считывании данных с накопителя в режиме LBA процесс чтения начинается с сектора 0, после чего читается сектор 1, сектор 2 и т.д. В режиме CHS первым сектором жесткого диска является 0,0,1. В режиме LBA этот же сектор будет сектором 0.
В качестве примера представьте себе накопитель, содержащий один жесткий диск, две головки (используются обе стороны жесткого диска), две дорожки на каждом жестком диске (цилиндры) и два сектора на каждой дорожке. В этом случае можно сказать, что накопитель содержит два цилиндра (две дорожки на каждой стороне), две головки (по одной на сторону), а также два сектора на каждой дорожке. В общей сложности емкость накопителя равна восьми (2×2×2) секторам. Обратите внимание: нумерация цилиндров и головок начинается с числа 0, а нумерация физических секторов, находящихся на дорожке, — с числа 1. При использовании адресации CHS расположение первого сектора накопителя определяется выражением “цилиндр 0, головка 0, сектор 1 (0,0,1)”; адресом второго сектора является 0,0,2; третьего — 0,1,1; четвертого — 0,1,2 и т.д., пока мы не дойдем до последнего сектора, адрес которого 1,1,2.
Как видно из приведенного примера, использование нумерации LBA заметно облегчает и упрощает процесс обработки данных. Несмотря на это, при создании первых ПК вся адресация BIOS и накопителей АТА была выполнена методом CHS.
Преобразования CHS/LBA и LBA/CHS
Адресация секторов может выполняться как в режиме CHS, так и в режиме LBA. Для данного накопителя существует определенное соответствие между адресациями CHS и LBA, которое, в частности, позволяет преобразовывать адреса CHS в адреса LBA и наоборот. Существует довольно простая формула, с помощью которой можно преобразовывать параметры CHS в LBA:
LBA = (((C × HPC) + H) × SPT) + S – 1.
Реверсирование этой формулы позволяет выполнить обратное преобразование, т.е. преобразовать параметры LBA в адрес CHS:
H = int ((LBA/SPT) mod HPC),
В этих формулах использованы следующие выражения:
— LBA — logical block address;
— C — цилиндр (cylinder);
— HPC — количество головок в каждом цилиндре (общее количество головок);
— SPT — количество секторов на каждой дорожке;
— int X — целочисленная часть X;
— X mod Y — модуль (остаток) от X/Y.
Программы BIOS ( когда объем HDD был очень скромным) использовали адресацию CHS, например:
AL=число читаемых секторов
АL=число переданных секторов
вся адресная информация передается через буфер в оперативной памяти, а не через регистры;
соглашения об использовании регистров изменены (для обеспечения передачи новых структур данных);
для определения дополнительных возможностей аппаратуры (параметров) используются флаги.
Пакет дискового адреса.
Правила передачи параметров дополнительным функциям. При вызове прерывания дополнительным функциям BIOS передаются через регистры процессора следующие данные:
— в АН — номер вызываемой функции;
— в DS: SI — адрес буфера, содержащего пакет дискового адреса.
Передача остальных параметров, как было уже указано выше, производится через пакет дискового адреса.
Дополнительные функции BIOS предназначены только для жестких дисков и дисководов сменных дисков большой емкости, причем функции рассчитаны на использование не более четырех устройств. Передаваемый функции номер диска, таким образом, должен находиться в диапазоне 80h-83h.
После выполнения функции в регистре АН выдается код состояния (статус возврата). Кроме принятого для классических функций BIOS стандартного набора кодов возврата, для дополнительных функций введено еще несколько кодов.
Пример использования прерывание Int 13h, функция 42h: расширенное чтение.
Функция осуществляет передачу секторов с заданной области диска в буфер памяти. Перед вызовом прерывания требуется записать в регистры следующие значения:
— в АН — значение 42h;
— в DL — номер дисковода;
— в DS: SI — адрес пакета дискового адреса.
После завершения операции функция возвращает в регистре АН состояние дисковой системы. В случае аварийного завершения выполнения функции поле счетчика блоков в пакете дискового адреса содержит число блоков, которые были успешно прочитаны (прочитаны до того, как произошла ошибка).
Режимы LBA, LARGE и NORMAL
LBA и LARGE — это методы распознавания жестких дисков большой емкости (более 528 Мбайт).
Первоначально режим LBA предназначался для SCSI-устройств.
Цилиндры, головки и сектора распознаются не в трех измерениях, а только в одном.
При доступе к данным, сектора группируются в блоки, в которых первый сектор имеет порядковый номер 0, а адрес данных определяется относительно этого номера.
Полученный результат преобразуется в трехмерный адрес, состоящий из номеров цилиндра, головки и сектора.
Такое возможно, только если BIOS или жесткий диск поддерживают режим LBA.
Метод LARGE заключается в делении числа цилиндров на 2, если оно больше 1024 и меньше 2048, после чего число головок умножается на 2.
Этот метод может быть использован при работе с жесткими дисками, не поддерживающими LBA.
В режиме NORMAL распознаются только жесткие диски емкостью до 528 Мбайт.
Этот режим использовался в старых дисках.
Различие между режимами LARGE и LBA заключается в том, что LBA на половину уменьшает число цилиндров и вдвое увеличивает число головок, в то время как режим LARGE устанавливается, как и режим NORMAL, но число цилиндров увеличивается, увеличивая тем самым емкость.
Большинство производимых сегодня жестких дисков поддерживают режим LBA, поэтому в BIOS Setup для жесткого диска следует установить либо режим Auto, либо LBA.
Адресация LBA
Аббревиатура этого вида дисковой адресации отражает сущность используемых в ней дисковых адресов: Logical Block Address, то есть «адрес логического блока» или «логический адрес блока».
В отличие от адресации CHS, адресация LBA никак не связана с физическими характеристиками диска (числом цилиндров, головок и секторов): весь диск в этой системе считается непрерывным массивом блоков (секторов) одинакового размера, причём их нумерация ведётся с нуля. Благодаря этому использовать LBA в программах намного удобнее, чем адреса в формате CHS: даже в том случае, когда CHS-адреса не соответствуют реальной «геометрии» диска, они всё равно остаются разрывными, поскольку нумерация секторов в этом формате ведётся с единицы. Кроме того, из-за ограничений BIOS разрядность CHS-адреса составляет 24 бита, что при стандартном размере сектора 512 байт не позволяет применять диски с ёмкостью, превосходящей 7,875 «двоичных» Гбайта (8,4 «десятичных гигабайт»).
Для работы с дисками с помощью LBA используются расширенные функции дискового сервиса прерывания INT 13h, имеющие номера 41h—49h и 4Eh. Этот набор функций получил название Enhanced Disk Drive Service (EDD; расширенный сервис дисковых приводов). Он присутствует во всех современных версиях BIOS, однако на более старых компьютерах может отсутствовать.
Первые BIOS, поддерживающие адресацию LBA, использовали 28-разрядный логический адрес (номер) блока, хотя пакет дискового адреса, передаваемый функциям расширенного дискового сервиса BIOS, отводит под него 64 бита. Это связано с тем, что первые дисководы, поддерживающие адресацию LBA, технически должны были соответствовать имеющемуся на тот момент стандарту IDE, предусматривавшему только 28 бит под дисковый адрес и трактовавшему его в терминах номеров цилиндра, головки и сектора (CHS): фактически «железо», поддерживающее LBA, появилось раньше официального стандарта, закрепившего этот вид дисковой адресации. Позднее физическая разрядность адреса LBA была повышена до 48 бит (стандарт ATA/ATAPI 6); при необходимости без переделок в правильно спроектированном программном обеспечении она может быть увеличена до 64 бит.
Адресация LBA используется не только с жёсткими дисками, но и для оптических накопителей (CD, DVD, BluRay), флэш-дисков и других устройств с посекторной организацией хранения информации, за исключением гибких дисков, для которых по-прежнему приходится использовать систему CHS.
Стандарт IDE включал 22-битный LBA в качестве опции, который был расширен до 28-битного с выпуском ATA-1 (1994) и до 48-битного с выпуском ATA-6 (2003), тогда как размер записи в структурах данных на диске и в памяти, содержащие адрес, обычно имеют размер 32 или 64 бита. Большинство жестких дисков, выпущенных после 1996 года, реализуют адресацию логических блоков.
СОДЕРЖАНИЕ
Обзор
При логической адресации блоков для адресации данных используется только одно число, и каждый линейный базовый адрес описывает отдельный блок.
LBA была впервые представлена в SCSI как абстракция. Хотя контроллер диска по-прежнему обращается к блокам данных по их адресу CHS, эта информация обычно не используется драйвером устройства SCSI, ОС, кодом файловой системы или любыми приложениями (такими как базы данных), которые обращаются к «необработанному» диску. Системные вызовы, требующие ввода-вывода на уровне блоков, передают определения LBA драйверу устройства хранения; в простых случаях (когда один том отображается на один физический диск) этот LBA затем передается непосредственно контроллеру диска.
Усовершенствованный BIOS
Более ранний стандарт IDE от Western Digital представил 22-битный LBA; в 1994 году стандарт ATA-1 позволял использовать 28-битные адреса в режимах LBA и CHS. Схема CHS использовала 16 бит для цилиндра, 4 бита для головы и 8 бит для сектора, подсчет секторов от 1 до 255. Это означает, что сообщаемое количество головок никогда не превышает 16 (0–15), количество секторов может быть 255 ( 1–255; хотя чаще всего используется 63), а количество цилиндров может достигать 65 536 (0–65535), что ограничивает размер диска 128 ГиБ (≈137,4 ГБ), предполагая 512-байтовые сектора. К этим значениям можно получить доступ, выполнив команду ATA «Идентифицировать устройство» ( EC h) для привода.
LBA-перевод
Когда BIOS настроен на использование диска в режиме трансляции с помощью LBA, BIOS обращается к оборудованию в режиме LBA, но также представляет преобразованную геометрию CHS через интерфейс INT 13h. Количество цилиндров, головок и секторов в преобразованной геометрии зависит от общего размера диска, как показано в следующей таблице.
Размер диска | Секторы / трек | Головы | Цилиндров |
---|---|---|---|
1 | 63 | 16 | Х ÷ (63 × 16 × 512) |
504 МБ | 63 | 32 | Х ÷ (63 × 32 × 512) |
1008 МБ | 63 | 64 | Х ÷ (63 × 64 × 512) |
2016 МиБ | 63 | 128 | X ÷ (63 × 128 × 512) |
4032 МБ | 63 | 255 | X ÷ (63 × 255 × 512) |
LBA48
Преобразование 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 по следующей формуле:
Согласно спецификациям ATA, «Если содержание слов (61:60) больше или равно 16 514 064, то содержание слова 1 [количество логических цилиндров] должно быть равно 16 383». Следовательно, для LBA 16450559 диск ATA может фактически ответить кортежем CHS (16319, 15, 63), и количество цилиндров в этой схеме должно быть намного больше 1024, разрешенного INT 13h.