Jump to content

Логическая адресация блоков

(Перенаправлено с LBA28 )

Адресация логических блоков ( LBA ) — это распространенная схема, используемая для указания местоположения блоков данных, хранящихся на компьютерных устройствах хранения данных, обычно в вторичных системах хранения данных, таких как жесткие диски . LBA — это особенно простая схема линейной адресации ; блоки располагаются по целочисленному индексу, причем первый блок имеет значение LBA 0, второй LBA 1 и т. д.

Стандарт IDE включал в себя 22-битный LBA в качестве опции, который был расширен до 28-битного с выпуском ATA-1 (1994 г.) и до 48-битного с выпуском ATA-6 (2003 г.), тогда как размер записи в структурах данных на диске и в памяти, содержащие адрес, обычно имеют длину 32 или 64 бита. Большинство жестких дисков, выпущенных после 1996 года, реализуют адресацию логических блоков.

При адресации логических блоков для адресации данных используется только одно число, и каждый линейный базовый адрес описывает один блок.

Схема LBA заменяет более ранние схемы, которые раскрывали физические детали устройства хранения данных программному обеспечению операционной системы. Главной из них была схема «головка блока цилиндров» (CHS), в которой блоки обращались с помощью кортежа , определявшего цилиндр, головку и сектор, в котором они появлялись на жестком диске . CHS плохо сопоставлялся с устройствами, отличными от жестких дисков (такими как ленты и сетевые хранилища), и обычно для них не использовался. CHS использовался в ранних дисках MFM и RLL , и как он, так и его преемник, расширенный сектор головки блока цилиндров (ECHS), использовались в первых дисках ATA . Однако современные дисководы используют зонную побитовую запись , где количество секторов на дорожку зависит от номера дорожки. Несмотря на то, что дисковод будет сообщать некоторые значения CHS в виде секторов на дорожку (SPT) и головок на цилиндр (HPC), они имеют мало общего с истинной геометрией диска.

LBA был впервые представлен в 1981 году SASI , предшественником SCSI , как абстракция. Хотя контроллер диска по-прежнему обращается к блокам данных по их адресу CHS, эта информация обычно не используется драйвером устройства SCSI, ОС, кодом файловой системы или любыми приложениями (например, базами данных), которые обращаются к «необработанному» диску. Системные вызовы, требующие ввода-вывода на уровне блоков, передают определения LBA драйверу устройства хранения; в простых случаях (когда один том сопоставлен одному физическому диску) этот LBA затем передается непосредственно контроллеру диска.

В устройствах с избыточным массивом независимых дисков (RAID) и сетях хранения данных (SAN), а также там, где логические диски ( номера логических устройств , LUN) формируются посредством виртуализации и агрегирования LUN, адресация LBA отдельного диска должна транслироваться программным уровнем для обеспечения единая адресация LBA для всего устройства хранения данных.

Расширенный БИОС

[ редактировать ]

Более ранний стандарт 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–65 535), что ограничивает размер диска до 128 ГиБ (≈ 137,4 ГБ), предполагая размер секторов 512 байт. Доступ к этим значениям можно получить, введя команду ATA «Идентифицировать устройство» ( ECз) на драйв. [1] :  87

Однако реализация IBM BIOS, определенная в процедурах доступа к диску INT 13h, использовала совершенно другую 24-битную схему адресации CHS: 10 бит для цилиндра, 8 бит для головки и 6 бит для сектора, или 1024 цилиндра, 256 головок, и 63 сектора. [2] Эта реализация INT 13h предшествовала стандарту ATA, поскольку она была представлена, когда IBM PC имел только флоппи-диск были представлены жесткие диски , а когда в IBM PC/XT , интерфейс INT 13h не мог быть практически перепроектирован из-за проблемы обратной совместимости . Перекрытие сопоставления ATA CHS с сопоставлением CHS BIOS дало наименьший общий знаменатель 10:4:6 бит, или 1024 цилиндра, 16 головок и 63 сектора, что дало практический предел в 1024×16×63 сектора и 528   МБ (504 МБ). ), предполагая секторы размером 512 байт.

Чтобы BIOS преодолел это ограничение и успешно работал с жесткими дисками большего размера, необходимо было реализовать схему трансляции CHS. [ когда? ] в процедурах ввода-вывода диска BIOS, которые преобразуют 24-битную нумерацию CHS, используемую INT 13h, и 28-битную нумерацию CHS, используемую ATA. Схема трансляции получила название трансляции с большим сдвигом или побитовой трансляцией . Этот метод переназначит 16:4:8-битные цилиндры и головки ATA на 10:8:6-битную схему, используемую INT 13h, создавая гораздо больше «виртуальных» головок диска, чем сообщает физический диск. Это увеличило практический предел до 1024×256×63 секторов, или 8,4   ГБ (7,8 ГиБ ).

Для дальнейшего преодоления этого ограничения расширения INT 13h. были введены [ когда? ] с помощью BIOS Enhanced Disk Drive Services , которая сняла практические ограничения на размер диска для операционных систем, поддерживающих этот новый интерфейс, таких как компонент DOS 7.0 в Windows 95 . Эта BIOS расширенная подсистема поддерживает адресацию LBA с помощью LBA или метода с помощью LBA , который использует собственный 28-битный LBA для адресации дисков ATA и выполняет преобразование CHS по мере необходимости.

Метод «нормальный» или «нет» возвращается к более раннему режиму CHS 10:4:6 бит, который не поддерживает адресацию более 528   МБ.

Установка OEM-версии EZ Drive от Western Digital на 3,5-дюймовую дискету.

До выпуска стандарта ATA-2 в 1996 году существовало несколько больших жестких дисков, которые не поддерживали адресацию LBA, поэтому только большие или обычные можно было использовать методы. Однако использование большого метода также приводило к проблемам с переносимостью, поскольку в разных BIOS часто использовались разные и несовместимые методы трансляции, а жесткие диски, разделенные на компьютере с BIOS от определенного поставщика, часто не могли быть прочитаны на компьютере с BIOS другой марки. . Решение заключалось в использовании программного обеспечения для преобразования, такого как OnTrack Disk Manager диска , Micro House EZ-Drive/EZ-BIOS и т. д., которое устанавливалось в загрузчик ОС и заменяло процедуры INT 13h во время загрузки собственным кодом. Это программное обеспечение также может обеспечить поддержку расширений LBA и INT 13h для старых компьютеров с BIOS, не совместимыми с LBA.

Перевод с помощью LBA

[ редактировать ]

Когда BIOS настроен на использование диска в режиме трансляции с помощью LBA, BIOS обращается к оборудованию в режиме LBA, а также представляет преобразованную геометрию CHS через интерфейс INT 13h. Количество цилиндров, головок и секторов в преобразованной геометрии зависит от общего размера диска, как показано в следующей таблице. [3]

Размер диска Секторы/дорожка Руководители Цилиндры
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 Х ÷ (63 × 128 × 512)
4032 МБ < X ≤ 8032,5 МБ 63 255 Х ÷ (63 × 255 × 512)

Текущая 48-битная схема LBA была представлена ​​в 2002 году стандартом ATA-6 . [4] повышение лимита адресации до 2 48  × 512 байт, что составляет ровно 128   ПиБ или примерно 144   ПБ . Современные компьютеры, совместимые с ПК, поддерживают расширения INT 13h, которые используют 64-битные структуры для адресации LBA и должны охватывать любые будущие расширения адресации LBA, хотя современные операционные системы реализуют прямой доступ к диску и не используют подсистемы BIOS , за исключением загрузки. времени . Однако общая DOS (MBR) в стиле таблица разделов основной загрузочной записи поддерживает только разделы диска до 2   размером ТиБ. Для более крупных разделов это необходимо заменить другой схемой, например, таблицей разделов GUID (GPT), которая имеет тот же 64-битный предел, что и текущие расширения INT 13h. Windows XP SP2 Известно, что поддерживает LBA48 (и включен по умолчанию).

Преобразование CHS

[ редактировать ]
Эквивалент LBA и CHS с 16 головками на цилиндр
Значение 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, тем ближе физический сектор к первому (т. е. самому внешнему) жесткому диску. [5] ) цилиндр.

Кортежи CHS можно сопоставить с адресом LBA с помощью следующей формулы: [6] [7]

LBA = ( C × HPC + H ) × SPT + (S - 1)

где

  • C , H и S — номер цилиндра, номер головки и номер сектора.
  • LBA — адрес логического блока.
  • HPC — это максимальное количество головок на цилиндр (сообщаемое дисководом, обычно 16 для 28-битного LBA).
  • SPT — максимальное количество секторов на дорожку (сообщаемое дисководом, обычно 63 для 28-битного LBA).

Адреса LBA можно сопоставить с кортежами CHS по следующей формуле («mod» — это операция по модулю , т. е. остаток , а «÷» — целочисленное деление , т. е. частное деления, при котором любая дробная часть отбрасывается):

C = LBA ÷ ( HPC × SPT )
H = ( LBA ÷ SPT ) mod HPC
S = ( LBA mod SPT ) + 1

Согласно спецификациям ATA, «если содержимое слов (61:60) больше или равно 16 514 064, то содержимое слова 1 [количество логических цилиндров] должно быть равно 16 383». [1] :  20 Следовательно, для 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 .

См. также

[ редактировать ]

Примечания

[ редактировать ]
  1. ^ Хотя адресация CHS определенно использует математическую концепцию кортежа , ее также можно рассматривать как пример общей схемы, называемой смешанной системой счисления , если рассматривать ее цилиндры, головки и сектора как имеющие разные числовые основы; например, цилиндры от 0 до 1023, головки от 0 до 254 и сектора от 1 до 63.
  1. ^ Jump up to: а б «Информационные технологии — AT-соединение с пакетным интерфейсом — 5 (ATA/ATAPI-5)» (PDF) . www.t13.org . 29 февраля 2000 г. Архивировано из оригинала (PDF) 6 августа 2020 г. . Проверено 15 декабря 2020 г.
  2. ^ «KB224526: Windows NT 4.0 поддерживает системный раздел размером не более 7,8 ГБ» . Support.microsoft.com. 23 февраля 2007 г. Проверено 30 июля 2013 г.
  3. ^ Стьюнебринк, Январь. «Ограничения жесткого диска BIOS IDE» . Архивировано из оригинала 6 октября 2013 года . Проверено 6 октября 2013 г.
  4. ^ «Информационные технологии — AT-соединение с пакетным интерфейсом — 6 (ATA/ATAPI-6)» (PDF) . www.t13.org . 26 февраля 2002 г. Архивировано из оригинала (PDF) 6 августа 2020 г. . Проверено 15 декабря 2020 г.
  5. ^ «Основы работы с жесткими дисками» . active-undelete.com . Проверено 10 февраля 2015 г. Номера дорожек начинаются с 0, а дорожка 0 — это самая дальняя дорожка диска. Дорожка с наибольшим номером находится рядом со шпинделем.
  6. ^ «HOWTO по работе с большими дисками, раздел 3. Доступ к диску» . tldp.org . 08.11.2004 . Проверено 10 февраля 2015 г.
  7. ^ «Формулы преобразования CHS в LBA» . pcrepairclass.tripod.com . Проверено 26 августа 2014 г.
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 0f8e550d80320b040f00c831de229421__1717952760
URL1:https://arc.ask3.ru/arc/aa/0f/21/0f8e550d80320b040f00c831de229421.html
Заголовок, (Title) документа по адресу, URL1:
Logical block addressing - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)