Главная » Электронная техническая библиотека » LBA, блоки, страницы: как не запутаться?

LBA, блоки, страницы: как не запутаться?

Как известно, практически любое современное mass storage устройство снабжено автономным процессором, встроенное программное обеспечение которого по сложности сравнимо с микро-ОС. Это значит, что в операциях передачи информации между накопителем и хост-платформой участвуют целых два программных уровня, на каждом из которых приняты свои единицы измерения передаваемой информации.

Уровень хост-платформы

Драйвер, выполняемый в рамках ОС, управляет устройством по интерфейсу SATA либо NVMe. На физическом уровне это диалог между хост-CPU и автономным процессором SSD или передача данных между накопителем и оперативной памятью хост-платформы в режиме bus-master. Здесь используются консервативные подходы к определению единиц измерения информации, выработанные десятилетиями развития блоковых устройств.

Согласно таблице из спецификации NVM Express 1.2.1 типовой размер сектора, определяемый при формировании SMART-логов, равен 512 байтам.

Классические термины LBA адресации применимы к NVMe устройствам. Минимальный размер сектора равен 512 байт. Параметр LBA Data Size позволяет увеличивать значение этого параметра. Практический смысл имеет альтернативное значение размера сектора, равное 4096 байт, так как это соответствует размеру страницы механизма виртуальной памяти для x86 и x64 платформ.

Уровень NAND

Внутри накопителя дело обстоит иначе, здесь архитектура диктуется характеристиками микросхем NAND Flash, которыми управляет автономный процессор устройства.

  • Страницы (Pages), типовой размер которых составляет десятки килобайт определяют гранулярность операции записи.
  • Блоки (Blocks) типового размера в единицы мегабайт определяют гранулярность операции стирания.

Значения, не равные целой степени двойки, обусловлены применением избыточности с целью обнаружения и исправления ошибок.

Open Channel SSD

Подводя итог, рассмотрим своеобразное исключение из правил, Open Channel SSD, в дизайне которых минимизирована роль внутреннего интеллекта устройства хранения данных, а управление статусом областей запоминающей матрицы, «сборка мусора», контроль записи и стирания на уровне страниц и блоков соответственно, возлагается на хост-систему. Позитивной стороной такого решения является возможность оптимизации стратегии управления физическим носителем на основании информации, которой обладает ОС хост-платформы (и не обладает встроенная ОС накопителя). Неизбежный минус состоит в увеличении количества работы, возлагаемой на центральный процессор.